Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Problem z zaszyfrowaniem tekstu

Ostatnio zmodyfikowano 2015-12-03 21:37
Autor Wiadomość
Jasiu1047
Temat założony przez niniejszego użytkownika
Problem z zaszyfrowaniem tekstu
» 2015-12-03 18:07:11
Dzień dobry!
Mam mały kłopot z zamieszczonym listingiem, który ma zaszyfrowywać wprowadzony tekst na podstawie róznicy kodów ascii. Jednak wprowadzając dane do konsoli nie szyfruje mi wszystkich podanych liter w tekscie. Nie pomysłu gdzie tkwi błąd. Za wszelkie uwagi bardzo dziekuję.

#include <cstdlib>
#include <iostream>
#include <cstring>
#include <stdio.h>
using namespace std;
char t[120];
char s[120];
char k[120];
 
char roznica(char z1, char z2)
{
    return char(unsigned(z1^z2));
}
 
char szyfruj(char a[], char b[]) {
    int j=0;
    for(int i=0;i<strlen(a);i++) {
        if(j>strlen(b))
        {j=0;}
        w=roznica(a,b[j]);
        j++;
    }
 
}
 
int main()
{
    cout<<"Wprowadz tekst do szyfrowania: ";   
    cin.getline(t,120);
    cout<<"Wprowadz szyfr: ";
    cin.getline(s,120);
   
  double dlugosct = strlen(t);
  double dlugoscs = strlen(s);
    if(dlugoscs>dlugosct)
    {
      cout<<"Szyfr jest dluzszy od tekstu prosze o wprowadzenie nowego "<<endl;
    }
    else {
        cout << "Zaszyfrowany: ";
        szyfruj(t,s);
        for(int i=0; i<strlen(k);i++) cout << k;
        cout << endl;
 
        szyfruj(k,s);
        cout << "Po deszyfracji: ";
        for(int i=0; i<strlen(k);i++)
        {cout << k;
        cout << endl;
        }
}
    getchar(),getchar();
    return 0;
}
P-141362
Pawlo3
» 2015-12-03 21:20:54
C/C++
#include <cstdlib>
#include <iostream>
#include <cstring>
#include <stdio.h>
using namespace std;
char t[ 120 ];
char s[ 120 ];
char k[ 120 ];

char roznica( char z1, char z2 )
{
    return char( unsigned( z1 ^ z2 ) );
}

char szyfruj( char a[], char b[] ) {
    int j = 0;
    for( int i = 0; i < strlen( a ); i++ ) {
        if( j > strlen( b ) )
        { j = 0; }
        w = roznica( a, b[ j ] );
        j++;
    }
   
}

int main()
{
    cout << "Wprowadz tekst do szyfrowania: ";
    cin.getline( t, 120 );
    cout << "Wprowadz szyfr: ";
    cin.getline( s, 120 );
   
    double dlugosct = strlen( t );
    double dlugoscs = strlen( s );
    if( dlugoscs > dlugosct )
    {
        cout << "Szyfr jest dluzszy od tekstu prosze o wprowadzenie nowego " << endl;
    }
    else {
        cout << "Zaszyfrowany: ";
        szyfruj( t, s );
        for( int i = 0; i < strlen( k ); i++ ) cout << k;
       
        cout << endl;
       
        szyfruj( k, s );
        cout << "Po deszyfracji: ";
        for( int i = 0; i < strlen( k ); i++ )
        { cout << k;
            cout << endl;
        }
    }
    getchar(), getchar();
    return 0;
}
Oto kod w znacznikach cpp.
P-141377
Pawlo3
» 2015-12-03 21:37:12
Przecież program wogóle się nie kompiluje!
Nie zadeklarowałeś żadnej zmiennej w.
Argument funkcji różnica podałeś jako char *, a nie char!

Popraw program i dopiero proś o pomoc.

@edit: Jaki masz kompilator, że pozwala na takie błędy??? To chyba nie kompilator do języka C/C++!
P-141379
« 1 »
  Strona 1 z 1