Witam, mam problem. Jeżeli chce ponownie liczyć nie wczytuje mi wyboru. A więc moje pytanie dlaczego? Oraz chciałbym dodać do programu jeżeli przy wczytywaniu liczb poda się znak wyskakuje błąd, że to nie jest liczba. Jak to zrobić?
#include <stdio.h>
#include <stdlib.h>
int main()
{
double a,b,wynik;
char dzialanie;
int zapytanie;
do
{
system("cls");
printf("Co chcesz zrobic \n");
printf("[1] Dodawac \n[2] Odejmowac \n[3] Mnozyc \n[4] Dzielic \n[5] Koniec programu\n");
scanf("%c",&dzialanie);
switch(dzialanie){
case '1':
printf("Podaj liczbe a \n");
scanf("%lf",&a);
printf("Podaj liczbe b \n");
scanf("%lf",&b);
wynik=a+b;
printf("Wynik dodawania %lf i %lf wynisi %lf \n",a,b,wynik);
break;
case '2':
printf("Podaj liczbe a \n");
scanf("%lf",&a);
printf("Podaj liczbe b \n");
scanf("%lf",&b);
wynik=a-b;
printf("Wynik odejmowania %lf i %lf wynisi %lf \n",a,b,wynik);
break;
case '3':
printf("Podaj liczbe a \n");
scanf("%lf",&a);
printf("Podaj liczbe b \n");
scanf("%lf",&b);
wynik=a*b;
printf("Wynik mnozenia %lf i %lf wynisi %lf \n",a,b,wynik);
break;
case '4':
printf("Podaj liczbe a \n");
scanf("%lf",&a);
printf("Podaj liczbe b \n");
scanf("%lf",&b);
if(b==0)
{
printf("Nie mozna dzielic przez 0");
}
else
{
wynik=a/b;
printf("Wynik dzielenia %lf i %lf wynisi %lf \n",a,b,wynik);
}
break;
case '5':
printf("Dowidzenia");
goto koniec;
default:
printf("Nie ma takiej opcji \n\n\n");
break;
}
// char dzialanie=0;
printf("\n\nChcesz wyjsc z programu? \n1=tak/2=nie \n");
scanf("%i",&zapytanie);
// printf("A wiec");
/* if(zapytanie==1)
{
printf(" dowidzenia\n\n\n");
}
else
{
printf(" jeszcze raz\n\n\n");
}
*/
}
while (zapytanie>1);
koniec:
return 0;
}