• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

szyfrowanie wyrazów

+1 głos
360 wizyt
pytanie zadane 19 października 2024 w C i C++ przez Killer Nowicjusz (240 p.)

Potrzebuje pomocy

treść: 

Napis program szyfrujący Twoje nazwisko. 

Działanie programu ma polegać na: 

  • wpisywaniu poszczególnych liter Twojego  nazwiska, 
  • zaszyfrowaniu poszczególnej litery o ustalony wcześniej kod, 
  • wyświetleniu zaszyfrowanych liter Twojego nazwiska. 

Wykorzystaj zmienne typu char, string, int , polecenia cin, cout, endl, tablice zmiennych do przechowywania zaszyfrowanych znaków, pętlę for. 

 

 

Narazie mam tyle:

#include <iostream>

using namespace std;

int main()
{
    char litera, litera2;
    int i;
    for (i=1; i<=8; i++)
    {
    cin >> litera;
    litera2 = litera+7;
    cout << litera2 << endl;
    cout << "Twoj znak to: " << litera << " Nowy znak to: " << litera2 << endl;
    }

    return 0;
}
I musze upchac gdzies string ale nie wiem gdzie

komentarz 19 października 2024 przez tkz Nałogowiec (42,040 p.)
Używacie jakiegoś szczególnego szyfru? O wcześniej ustalony kod, to przesunięcie? Możesz podać wejście i oczekiwane wyjście programu?
komentarz 22 października 2024 przez Oscar Nałogowiec (29,360 p.)
Tak w kwestii formalnej cin i cout to nie są polecenia tylko właśnie zmienne. "Elementem czynnym" (poleceniem) są operatory "<<" i ">>".

1 odpowiedź

+1 głos
odpowiedź 21 października 2024 przez alpha.netrunner Mądrala (5,030 p.)

Podrzucam swoją wersję jakbym ja to zrobił. Spróbuj sobie teraz to przeanalizować na spokojnie i potestować. Dodatkowo dla jasności masz też komentarze dodane.

#include <iostream>
#include <string>

using namespace std;

int main() {
    string nazwisko;               // przechowuje nazwisko
    char zaszyfrowane[100];         // tablica na zaszyfrowane znaki (zakładam maks. 100 znaków)
    int kod = 7;                    // kod szyfrujący

    cout << "Podaj swoje nazwisko: ";
    cin >> nazwisko;                // wczytujemy nazwisko

    // Pętla szyfrująca
    for (int i = 0; i < nazwisko.length(); i++) {
        zaszyfrowane[i] = nazwisko[i] + kod; // szyfrowanie każdej litery
        cout << "Twoj znak to: " << nazwisko[i] << " Zaszyfrowany znak to: " << zaszyfrowane[i] << endl;
    }

    // Wyświetlenie całego zaszyfrowanego nazwiska
    cout << "Zaszyfrowane nazwisko: ";
    for (int i = 0; i < nazwisko.length(); i++) {
        cout << zaszyfrowane[i]; // wyświetlenie zaszyfrowanych liter
    }
    cout << endl;

    return 0;
}

 

1
komentarz 22 października 2024 przez TOWaD Mądrala (6,770 p.)
edycja 22 października 2024 przez TOWaD
try {for (int i = 0; i < nazwisko.length(); i++) {
if(i=>100) throw /*coś tam..*/;
        zaszyfrowane[i] = nazwisko[i] + kod; // szyfrowanie każdej litery

        cout << "Twoj znak to: " << nazwisko[i] << " Zaszyfrowany znak to: " << zaszyfrowane[i] << endl;
    }}
catch(...){/*coś tam..*/}

czy chociaż

for (int i = 0; i < nazwisko.length()&&i<100; i++) wtedy nazwisko nie będzie w pełni zaszyfrowane, ale nie przekroczy tablicy.

aczkolwiek wg Google najdłuższe nazwisko to tylko 93 znaki "Captain Fantastic Faster Than Superman Spiderman Batman Wolverine Hulk And The Flash Combined", ale jak się ożeni i żona będzie chciał zostawić dwuczłonowe, to może być zonk.
   

Podobne pytania

0 głosów
1 odpowiedź 218 wizyt
pytanie zadane 17 października 2024 w C i C++ przez Killer Nowicjusz (240 p.)
0 głosów
1 odpowiedź 1,237 wizyt
+1 głos
0 odpowiedzi 560 wizyt
pytanie zadane 9 października 2021 w Systemy operacyjne, programy przez Ser-Ver Użytkownik (820 p.)

93,695 zapytań

142,612 odpowiedzi

323,223 komentarzy

63,223 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...