Files
sibsutis/proglabs/lab7/19.c
T
Павел Родионов 2fca7b75f5 1
2025-11-13 18:21:23 +07:00

64 lines
1.8 KiB
C

#include <stdio.h>
void calc(int func);
int main() {
int exit = 1,sw;
do{
printf("\nВыберите операцию:\n");
printf("a) сложение\tb) вычитание\n");
printf("c) умножение\td) деление\n");
printf("q) exit\nInput: ");
sw = getchar();
switch(sw){
case 'a': calc(1); break;
case 'b': calc(2); break;
case 'c': calc(3); break;
case 'd': calc(4); break;
case 'q': exit = 0; break;
}}while(exit);
return 0;
}
void calc(int func){
float n1,n2;
int x;
printf("Введите первое число: ");
while(scanf(" %f",&n1)!=1){
printf("То что вы ввели не является числом.\n");
printf("Введите первое число: ");
while(getchar()!='\n') continue;
}
printf("Введите второе число: ");
do{
x = (scanf(" %f",&n2) != 1);
if(x){
printf("То что вы ввели не является числом.\n");
printf("Введите второе число: ");
}else
if(n2 == 0&&func==4){
printf("Введите число отличное от 0\n");
printf("Введите второе число: ");
x = 1;
}
while(getchar()!='\n') continue;
}while(x);
switch(func){
case 1:
printf("%f + %f = %f\n",n1,n2,n1+n2);
break;
case 2:
printf("%f - %f = %f\n",n1,n2,n1-n2);
break;
case 3:
printf("%f * %f = %f\n",n1,n2,n1*n2);
break;
case 4:
printf("%f / %f = %f\n",n1,n2,n1/n2);
break;
}
}