1
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
#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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user