Kalkulator - niepoprawne dzialanie

0

Witam,
robię kalkulator i nie mogę znaleźć błędu...
pomożecie? :]

#include <iostream>
#include <conio.h>
#include <stdio.h>
#include <windows.h>

using namespace std;

int main()
{
	
for(;;)
{

	float a , b;
	char liczba;
	
cout<<"____________________________"<<endl;
cout<<"| Witaj w moim kalkulatorze|"<<endl;
cout<<"----------------------------"<<endl;

cout<<"\n";
cout<<"*****************************"<<endl;
cout<<"8           Menu            8"<<endl;
cout<<"8 1. Dodawanie              8"<<endl;
cout<<"8 2. Odejmowanie            8"<<endl;
cout<<"8 3. Mnozenie               8"<<endl;
cout<<"8 4. Dzielenie              8"<<endl;
cout<<"8 5. Koniec programu        8"<<endl;
cout<<"*****************************"<<endl;
cout<<endl;
cout<<"Wybierz numer ";

if(liczba==5)
{
	exit(0);
}

liczba = getch();
cout<<liczba;

cout<<"\n";

cout<<"Podaj pierwsza liczbe ";
cin>>a;
cout<<"Podaj druga liczbe ";
cin>>b;

switch(liczba)
{
	case '1':
		cout<<"Wynik to : "<<a+b;
	break;
	
	case '2':
		cout<<"Wynik to : "<<a-b;
	break;
	
	case '3':
		cout<<"Wynik to : "<<a*b;
	break;
	
	case '4':
		cout<<"Wynik to : "<<a/b;
	break;	
	
	
	default:	cout<<"Nie ma takiej opcji.";
}


getchar();
system ("cls");

}
  return 0;
}
0

Podaj o jaki błąd chodzi. U mnie program działa, chociaż byłby bardziej użytkowy, gdyby pokazywał troszkę dłużej wynik.

1

warunek sprawdzasz zanim pobierzesz liczbę od użytkownika. Mieszanie bibliotek c z c++.

0

Czas juz ogarnalem. (btw. default tez nie dziala)

#include <iostream>
#include <conio.h>
#include <stdio.h>
#include <windows.h>
 
using namespace std;
 
int main()
{
 
for(;;)
{
 
    float a , b;
    char liczba;
 
cout<<"____________________________"<<endl;
cout<<"| Witaj w moim kalkulatorze|"<<endl;
cout<<"----------------------------"<<endl;
 
cout<<"\n";
cout<<"*****************************"<<endl;
cout<<"8           Menu            8"<<endl;
cout<<"8 1. Dodawanie              8"<<endl;
cout<<"8 2. Odejmowanie            8"<<endl;
cout<<"8 3. Mnozenie               8"<<endl;
cout<<"8 4. Dzielenie              8"<<endl;
cout<<"8 5. Koniec programu        8"<<endl;
cout<<"*****************************"<<endl;
cout<<endl;

cout<<"Wybierz numer ";

 liczba = getch();
cout<<liczba;
 
cout<<"\n";
 
cout<<"Podaj pierwsza liczbe ";
cin>>a;
cout<<"Podaj druga liczbe ";
cin>>b;
 
switch(liczba)
{
    case '1':
        cout<<"Wynik to : "<<a+b;
        Sleep(7000);
    break;
 
    case '2':
        cout<<"Wynik to : "<<a-b;
        Sleep(7000);
    break;
 
    case '3':
        cout<<"Wynik to : "<<a*b;
        Sleep(7000);
    break;
 
    case '4':
        cout<<"Wynik to : "<<a/b;
        Sleep(7000);
    break;
	
	case '5':
		exit(0);
	break;    
 
 
    default:    cout<<"Nie ma takiej opcji.";
}
 
 
getchar();
system ("cls");
 
}
  return 0;
}
1

przeczytaj jak dziala switch. Brakuje Ci break po kazdym case. Nie potrzujesz zadnego sleepa ;o

1 użytkowników online, w tym zalogowanych: 0, gości: 1