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

[C++] Tablica znaków (szyfrowanie)

Ostatnio zmodyfikowano 2012-04-09 21:43
Autor Wiadomość
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.
C/C++
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' )
        {
            //to samo tyko dla b
        }
        else
        {
            cout << char( 149 ) << char( 151 );
        }
       
    }
   
   
    cout << tekstIn;
    return 0;
}
Proszę o szybką odpowiedź.

@edit
Wstawiłem całą funkcję
P-54188
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++
P-54189
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.
P-54190
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.
P-54192
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łą
P-54195
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 ".-"
P-54196
Admixior
» 2012-04-09 20:18:59
Napisz treść tego błędu.
Możliwe, że kompilator potrzebuje unsigned int zamiast int.
P-54197
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)
P-54198
« 1 » 2 3 4
  Strona 1 z 4 Następna strona