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

problem z kalkulatorem

Ostatnio zmodyfikowano 2020-12-16 17:21
Autor Wiadomość
majkel1234
Temat założony przez niniejszego użytkownika
problem z kalkulatorem
» 2020-12-15 14:15:04
Witam, uczę się programowania c++, muszę napisać do szkoły prosty kalkulator, jedną z funkcji jakie musi spełniać jest to iż w przypadku podania błędnej wartości z dozwolonych ma pojawiać się komunikat "proszę wybrać a,b,c lub d.
Komunikat co prawda się wyświetla jednak najpierw wyświetla się komunikat wyboru cyfr do wykonania równania, a potem dopiero aby wybrać z. wiecie może jak to zmienić ??
oto mój kod:
C/C++
#include <iostream>
#include <cstdlib>
#include <windows.h>
#include <string>
#include <conio.h>

using namespace std;

float m = 0, n = 0;
float wynik = 0;
int mojwybor;

int main( int argc, char * * argv ) {
   
cout << "|Program wykonujacy cztery podstawowe dzialania|" << endl;
   
cout << "|==============================================|" << endl;
   
cout << "|      Wybierz  1 - dodawanie                  |" << endl;
   
cout << "|      Wybierz  2 - odejmowanie                |" << endl;
   
cout << "|      Wybierz  3 - mnozenie                   |" << endl;
   
cout << "|      Wybierz  4 - dzielenie                  |" << endl;
   
cout << "|      Wybierz  5 - aby zakonczyc              |" << endl;
   
cout << "|==============================================|" << endl;
   
cout << "wybierz opcje:";
   
cin >> mojwybor;
   
cout << "wprowadz pierwsza liczbe m = "; cin >> m;
   
cout << "wprowadz druga liczbe n = "; cin >> n;
   
   
if( mojwybor == 1 ) { wynik = m + n;
       
cout << "|==============================================|" << endl;
       
cout << "|wybrales dodawanie liczb m+n =" << wynik << endl;
       
cout << "|==============================================|" << endl;
   
}
   
else if( mojwybor == 2 ) { wynik = m - n;
       
cout << "|==============================================|" << endl;
       
cout << "|wybrales odejmowanie liczb m-n =" << wynik << endl;
       
cout << "|==============================================|" << endl;
   
}
   
else if( mojwybor == 3 ) { wynik = m * n;
       
cout << "|==============================================|" << endl;
       
cout << "|wybrales mnozenie liczb m*n =" << wynik << endl;
       
cout << "|==============================================|" << endl;
   
}
   
else if( mojwybor == 4 ) { wynik = m / n;
       
cout << "|==============================================|" << endl;
       
cout << "|wybrales dzielenie liczb m/n =" << wynik << endl;
       
cout << "|==============================================|" << endl;
   
}
   
else if( mojwybor == 5 ) {
    }
   
else {
       
cout << "|====================================|" << endl;
       
cout << "|Prosze uzyc klawiszy a,b,c,d lub q !|" << endl;
       
cout << "|====================================|" << endl;
   
}
   
P-177833
pekfos
» 2020-12-15 16:28:23
Sprawdź poprawność wybranego działania przed wczytywaniem liczb. Dopisz na to dedykowany kod zaraz po wczytaniu wyboru działania, pewnie w pętli, bo raczej nie chcesz kontynuować z błędnymi danymi.
P-177834
majkel1234
Temat założony przez niniejszego użytkownika
» 2020-12-15 17:38:43
może ktoś mi powiedzieć jak napisać pętle while do tego ??
P-177836
pekfos
» 2020-12-15 18:53:31
C/C++
while( true )
{
}
i użyj break żeby z niej wyjść. Można tak zapisać dowolną pętlę, choć zwykle da się krócej. Mając działający kod możesz go później uprościć, ale przynajmniej nie stoisz na etapie "nie wiem jak zacząć". Jak w matematyce, przekształcenia z czasem robi się w głowie.
» Kurs C++» Poziom 3Słowa kluczowe continue, break lekcja
P-177838
majkel1234
Temat założony przez niniejszego użytkownika
» 2020-12-15 23:06:47
jak by ci to powiedziec, ja stoje na etapie nie wiem jak zaczac
P-177845
pekfos
» 2020-12-16 17:21:38
Przecież dosłownie napisałem od czego zacząć. Zidentyfikuj w programie kod jaki powinien się powtarzać i dopisz while dookoła tego kodu. Powtarzanie w nieskończoność jest bliżej docelowego rozwiązania niż niepowtarzanie w ogóle. Potem dopisz ifa żeby pod jakimś warunkiem wyjść z tej pętli, w tym wypadku jeśli podana przez użytkownika operacja jest poprawna.
P-177851
« 1 »
  Strona 1 z 1