Kalkulator to mój pierwszy "poważny" projekt. Uczę się programowania od 2 tygodni z materiałów dostępnych online.
Jeśli ktoś z Państwa zechciałby zagłębić się w napisany przeze mnie kod i skomentować jego jakość, będę wdzięczna.
Kalkulator wykonuje podstawowe działania i ma zabezpieczone dane wejściowe.
Z góry dziękuję :)
#include <iostream>
using namespace std;
int liczba, dzialanie, liczba2, wynik;
int main()
{
cout << "Witaj w kalkulatorze" << endl;
do
{
cout<<endl<<"Podaj liczbe:"; cin>>liczba; bool a;
if (a=cin.fail())
{ do
{
cout<<"blad "; cin.clear(); cin.sync(); cout<<"Podaj liczbe:"; cin>>liczba;
}
while(a=cin.fail());
cout<<endl<<"Wybierz dzialanie"<<endl;
}
else
{
cout<<endl<<"Wybierz dzialanie"<<endl;
}
cout<<"1. Dodawanie"<<endl<<"2. Odejmowanie"<<endl<<"3. Mnozenie"<<endl<<"4. Dzielenie"<<endl<<"5. Rezygnuj"<<endl<<endl;
cout<<"Wybrano dzialanie nr:";
cin>>dzialanie; bool b;
if (b=cin.fail()|| dzialanie>=6)
{do
{
cout<<"blad "; cin.clear(); cin.sync(); cout<<"Wybierz dzialanie:"; cin>>dzialanie;
}
while(b=cin.fail()|| dzialanie>=6);
cout<<endl;
}
else
{
cout<<endl;
}
switch(dzialanie)
{
case 1:
{
cout<<liczba<<"+";
cin>>liczba2; bool c;
if (c=cin.fail())
{ do
{
cout<<"blad "; cin.clear(); cin.sync(); cout<<"Podaj liczbe:";cin>>liczba2;
}
while(c=cin.fail());
wynik=liczba+liczba2;
cout<<liczba<<"+"<<liczba2<<"="<<wynik;
}
else
{
wynik=liczba+liczba2;
cout<<"="<<wynik<<endl;
}
break;
}
case 2:
{
cout<<liczba<<"-";
cin>>liczba2; bool c;
if (c=cin.fail())
{ do
{
cout<<"blad "; cin.clear(); cin.sync(); cout<<"Podaj liczbe:";cin>>liczba2;
}
while(c=cin.fail());
wynik=liczba-liczba2;
cout<<liczba<<"-"<<liczba2<<"="<<wynik;
}
else
{
wynik=liczba-liczba2;
cout<<"="<<wynik<<endl;
}
break;
}
case 3:
{
cout<<liczba<<"*";
cin>>liczba2; bool c;
if (c=cin.fail())
{ do
{
cout<<"blad "; cin.clear(); cin.sync(); cout<<"Podaj liczbe:";cin>>liczba2;
}
while(c=cin.fail());
wynik=liczba*liczba2;
cout<<liczba<<"*"<<liczba2<<"="<<wynik;
}
else
{
wynik=liczba*liczba2;
cout<<"="<<wynik<<endl;
}
break;
}
case 4:
{
cout<<liczba<<"/";
cin>>liczba2; bool c;
if (c=cin.fail()|| liczba2==0)
{ do
{
cout<<"blad "; cin.clear(); cin.sync(); cout<<"Podaj liczbe:";cin>>liczba2;
}
while(c=cin.fail()|| liczba2==0);
wynik=liczba/liczba2;
cout<<liczba<<"/"<<liczba2<<"="<<wynik<<endl;
}
else
{
wynik=liczba/liczba2;
cout<<"="<<wynik<<endl;
}
break;
}
case 5:
{
cout<<"Koniec programu";
break;
}
}
}
while(dzialanie!=5);
return 0;
}