Zwracanie wartości 0 przy wciśnięciu klawisza [C++]
Ostatnio zmodyfikowano 2016-11-08 22:29
Ketanol13 Temat założony przez niniejszego użytkownika |
Zwracanie wartości 0 przy wciśnięciu klawisza [C++] » 2016-11-08 22:15:58 Witam , Utworzyłem program, przy pomocy, którego po wpisaniu literki program zwraca k-tą literę po podanej. Gdy użytkownik wciśnie spację podczas wpisywania danych powinno nastąpić wyjście z programu jednak tak się nie dzieje. Proszę o sugestie co do błędu jaki popełniam. Pozdrawiam #include <iostream> #include <conio.h>
using namespace std;
char znak( char z, int k ) { char wynik; wynik = z + k; if( z == ' ' && k == ' ' ) return 0; else return wynik; } int main() { char e; int h; cout << "Podaj przesuniecie" << endl; cin >> h; cout << "Wprowadz znak" << endl; e = getch(); cout << znak( e, h ) << endl; return 0; }
|
|
carlosmay |
» 2016-11-08 22:29:54 Gdy użytkownik wciśnie spację podczas wpisywania danych powinno nastąpić wyjście z programu jednak tak się nie dzieje. |
Kolejność działań jest niewłaściwa. Po wpisaniu danych, najpierw robisz operację, a później sprawdzasz czy to jest spacja. Poza tym, ten warunek if( z == ' ' && k == ' ' )
może być true jeśli przesunięcie wyniesie 0 i znak będzie spacją. edit: a i jeszcze return 0; w funkcji nie powoduje opuszczenia programu. |
|
« 1 » |