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

question-closed Pytanie o szyfr cezara czyli czy jest to poprawna implementacja

VPS Starter Arubacloud
0 głosów
477 wizyt
pytanie zadane 1 lutego 2017 w C i C++ przez famousghost Początkujący (430 p.)
zamknięte 1 lutego 2017 przez famousghost
Implementacja szyfru cezara dla liczb i liter. I teraz moje pytanie czy jest to poprawna implementacja danego szyfru? nie ważne czy da się pisać ze spacjami czy nie ważne czy szyfr poprawnie działa proszę o pomoc :).

#include <iostream>
#include <string>

using namespace std;

int main()
{
    string napis;
    int i=0;
    long long ile;
    while(true)
    {
        cin>>napis;
        cin>>ile;
        while(i<napis.length())
        {
            if(napis[i]>='A'&&napis[i]<='Z')
            {
                napis[i]+=(ile%25);
                if(napis[i]>'Z')
                {
                    napis[i]=(napis[i]-90) + 64;
                }
                else if(napis[i]<'A')
                {
                    napis[i]=91-(65-napis[i]);
                }
                }
            else if(napis[i]>='a'&&napis[i]<='z')
            {
                napis[i]-=32;
                napis[i]+=(ile%25);
                if(napis[i]>'Z')
                {
                    napis[i]=(napis[i]-90) + 64;
                }
                else if(napis[i]<'A')
                {
                    napis[i]=91-(65-napis[i]);
                }
                napis[i]+=32;
            }
            else if(napis[i]>='0'&&napis[i]<='9')
            {
                napis[i]+=(ile%10);
                if(napis[i]>'9')
                {
                    napis[i]=(napis[i]-57) + 47;
                }
                else if(napis[i]<'0')
                {
                    napis[i]=58-(48-napis[i]);
                }
            }
            cout<<napis[i];
            i++;
        }
        i=0;
        cout<<endl;
    }
    return 0;
}

 

komentarz zamknięcia: Dostałem odpowiedź na pytanie
1
komentarz 1 lutego 2017 przez niezalogowany

Bardzo ładna implementacja. Chciałem się do czegoś doczepić, ale nie mogę! Ładnie rozpatrzyłeś chyba wszystkie możliwe sytuacje. Jedyne co można dodać to wpisywanie zdań zamiast pojedynczych słów:

cin>>napis;

na 

getline(cin, napis);

 

komentarz 1 lutego 2017 przez famousghost Początkujący (430 p.)
Dzięki wielkie to dobrze bo właśnie chciałem żeby ktoś sprawdził bo jak wiadomo człowiek, który napisze czasem nie pomyśli o jakiejś wersji wydarzeń i może się cały program popsuć. A tak to mam pewność, że jest to dobra implementacja :D dzięki :)

Podobne pytania

0 głosów
1 odpowiedź 779 wizyt
+1 głos
1 odpowiedź 609 wizyt
pytanie zadane 12 czerwca 2016 w C i C++ przez Szejk Obywatel (1,510 p.)
0 głosów
1 odpowiedź 1,543 wizyt
pytanie zadane 5 maja 2016 w C i C++ przez Linker Bywalec (2,690 p.)

92,979 zapytań

141,941 odpowiedzi

321,185 komentarzy

62,305 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.

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...