[C++] Tablica znaków (szyfrowanie)
Ostatnio zmodyfikowano 2012-04-09 21:43
Schulze13 Temat założony przez niniejszego użytkownika |
[C++] Tablica znaków (szyfrowanie) » 2012-04-09 19:49:05 Witam, Mam problem z funkcją sprawdzającą każdą wartość tablicy i wypisujący kropki i kreski (wiadomo już o co chodzi), niestety NetBeans uważa, że "z" w if(tekstIn[ z ] != "a"||"A") jest nie poprawne. char MorseaSzyfr() { char tekstIn[ 514 ] = { '\0' }; cout << "Wpisz tekst (maksymalnie 512 znak" << char( 243 ) << "w):" << endl; cin.get( tekstIn, 512 ); for( int z = 0; z < 512; z++ ); { if( tekstIn[ z ] == 'a' || tekstIn[ z ] == 'A' ) { } else { cout << char( 149 ) << char( 151 ); } } cout << tekstIn; return 0; }
Proszę o szybką odpowiedź. @edit Wstawiłem całą funkcję |
|
Admixior |
» 2012-04-09 19:54:45 Nie wiem jak kompilator radzi sobie z: if( tekstIn[ z ] != "a" || "A" ) Wg mnie powinno być: if( tekstIn[ z ] != "a" && tekstIn[ z ] != "A" ) //PS jak wstawiasz kod to w kwadratowe nawiasy cpp a nie c++ |
|
Schulze13 Temat założony przez niniejszego użytkownika |
» 2012-04-09 20:04:19 program ma sprawdzić czy jest "a" lub "A", a nie "a" i "A" w miejscu gdzie znajduje się jedna litera... chyba. |
|
SeaMonster131 |
» 2012-04-09 20:06:15 @Admixior dobrze Ci mówi z tego co rozumiem. || to or czyli "lub", natomiast && to and czyli "i". // chociaż program ma sprawdzić czy jest "a" lub "A" |
Czyli if( tekstIn[ z ] == "a" || tekstIn[ z ] == "A" ) - w tym wypadku powinno być tak. |
|
Schulze13 Temat założony przez niniejszego użytkownika |
» 2012-04-09 20:10:18 Aaa... Pojąłem, ale nadal nie wiem co zrobić, żeby zmienna "z" w if( tekstIn[ z ] != "a" && tekstIn[ z ] != "A" ) działałą |
|
Schulze13 Temat założony przez niniejszego użytkownika |
» 2012-04-09 20:15:28 Program sprawdza czy tekstIn[ z ] nie jest równe "a" lub "A" więc jeśli tekstIn[ z ] jest równe "a" jest to fałszem i wypisuje w alfabetem morse'a ".-" |
|
Admixior |
» 2012-04-09 20:18:59 Napisz treść tego błędu. Możliwe, że kompilator potrzebuje unsigned int zamiast int. |
|
Schulze13 Temat założony przez niniejszego użytkownika |
» 2012-04-09 20:20:00 main.cpp: In function 'char MorseaSzyfr()': main.cpp:26:22: error: name lookup of 'z' changed for ISO 'for' scoping [-fpermissive] main.cpp:26:22: note: (if you use '-fpermissive' G++ will accept your code) main.cpp:26:29: error: ISO C++ forbids comparison between pointer and integer [-fpermissive] make[2]: *** [build/Debug/MinGW-Windows/main.o] Error 1 make[1]: *** [.build-conf] Error 2 make: *** [.build-impl] Error 2
BUILD FAILED (exit value 2, total time: 2s)
|
|
« 1 » 2 3 4 |