Wyjście z programu za pomocą znaku x lub X w pętli while
Ostatnio zmodyfikowano 2013-10-20 21:05
lvcky Temat założony przez niniejszego użytkownika |
Wyjście z programu za pomocą znaku x lub X w pętli while » 2013-10-20 19:05:30 Witam serdecznie, mam pewien problem. Chciałbym, żeby w momencie gdy użytkownik wybierze na klawiaturze znak x lub X (niezaleznie od jego wielkosci) program zamykał się. Nie mogę tego zrobić. Czy ktoś mi pomoże? Napisałem program, który wygląda tak: #include "stdafx.h" #include <iostream> #include <stdio.h> #include <math.h>
using namespace std;
int _tmain( int argc, _TCHAR * argv[] ) { float a, b, c, wynik1, wynik2, wynik3, alfa, beta, gamma; char koniec, wybor; cout << "MENU:\n" << endl; cout << "Wybierz na klawiaturze przycisk 1 jesli chcesz obliczyc pole i obwod prostokata\n" << endl; cout << "Wybierz na klawiaturze przycisk 2 jesli chcesz obliczyc pole i obwod trojkat\n" << endl; cout << "Wybierz na klawiaturze przycisk 3 jesli chcesz obliczyc wszystkie katy w trojkacie\n" << endl; cout << "Jesli chcesz zakonczyc wybierz x lub X\n" << endl; cin >> wybor; while( wybor != 'x', wybor != 'X' ) { if( wybor == '1' ) { cout << " Wprowadz dlugosc boku a\n" << endl; cin >> a; cout << " Wprowadz dlugosc boku b\n" << endl; cin >> b; wynik1 = a * b; cout << "Pole prostokata wynosi:" << wynik1 << endl; wynik2 = a * 2 + b * 2; cout << "Obwod prostokata wynosi:" << wynik2 << endl; } if( wybor == '2' ) { cout << " Wprowadz dlugosc boku a\n" << endl; cin >> a; cout << " Wprowadz dlugosc boku b\n" << endl; cin >> b; cout << " Wprowadz dlugosc boku c\n" << endl; cin >> c; wynik1 =( sqrt(( a + b + c ) *( a + b - c ) *( a - b + c ) *( - a + b + c ) ) ) / 4; cout << "Pole trojkata wynosi:" << wynik1 << endl; wynik2 = a + b + c; cout << "Obwod trojkata wynosi:" << wynik2 << endl; } if( wybor == '3' ) { cout << " Wprowadz dlugosc boku a\n" << endl; cin >> a; cout << " Wprowadz dlugosc boku b\n" << endl; cin >> b; cout << " Wprowadz dlugosc boku c\n" << endl; cin >> c; alfa =( b * b + c * c - a * a ) /( 2 * b * c ); beta =( b * b + a * a - c * c ) /( 2 * b * a ); gamma =( c * c + a * a - b * b ) /( 2 * c * a ); wynik1 = acos( alfa ) * 180 / 3.14159265; cout << "kat bac wynosi" << wynik1 << endl; wynik2 = acos( beta ) * 180 / 3.14159265; cout << "kat bca wynosi" << wynik2 << endl; wynik3 = acos( gamma ) * 180 / 3.14159265; cout << "kat abc wynosi" << wynik3 << endl; cout << "Wybierz co chcesz obliczyc" << endl; cin >> wybor; } } system( "pause" ); return 0; |
|
Matej |
» 2013-10-20 19:32:36 Zamień na dużą i sprawdzaj. http://www.cplusplus.com/reference/cctype/toupper/ wybor = toupper( wybor ); while( wybor != 'X' )
|
|
lvcky Temat założony przez niniejszego użytkownika |
» 2013-10-20 19:53:00 No ok, ok wszystko fajnie działa ale 2 pytania: 1) Da się to zrobić innym sposobem? 2) W momencie kiedy wpisuje x program po akceptacji znaku wyświetla tekst: "Press any key to continue". Można ten tekst jakoś ominąć, żebym nie musiał ponownie wciskać entera? |
|
Monika90 |
» 2013-10-20 20:07:45 Da się to zrobić innym sposobem? |
operator || w warunku W momencie kiedy wpisuje x program po akceptacji znaku wyświetla tekst: |
To po co wywołujesz system("pause");? |
|
lvcky Temat założony przez niniejszego użytkownika |
» 2013-10-20 20:25:40 dziękuje bardzo za pomoc! :) |
|
MrPoxipol |
» 2013-10-20 21:05:59 wyświetla tekst: "Press any key to continue" |
system( "PAUSE>nul" ); |
|
« 1 » |