Напишите программу которая работает как простейший калькулятор - C (СИ)
Формулировка задачи:
Напишите программу которая работает как простейший калькулятор.Программой должны распознаваться следующие операторы "+" "-" "*" "/" "S" "E".
Оператор S используется для сохранения числа в аккумуляторе.
Оператор E для выхода из программы.
Арифметические операции выполняются с содержимым аккумулятора и числом,введенным пользователем.
Не понимаю почему не работает в цикле.
#include <stdio.h> int main(void){ int number,number2; char oper; printf("Enter accum:\n"); scanf("%i\n",&number); do{ printf("enter a number and operator:\n"); scanf("%i %c\n",&number2,&oper); switch(oper){ case '+': printf("%i",number+number2); break; case '-': printf("%i",number-number2); break; case '*': printf("%i",number*number2); break; case '/': if(number2==0) printf("Zero!"); else printf("%i",number/number2); break; default: printf("Wrong operator"); break; } }while(oper=='E'); printf("Break"); }
Решение задачи: «Напишите программу которая работает как простейший калькулятор»
textual
Листинг программы
#include <stdio.h> void func_sloghenie(float,float); void func_delenie(float,float); void func_delenieapp(float,float); void func_vichitanie(float,float); void func_vichitanieapp(float,float); void func_ymnoghenie(float,float); float func_zaprosc(float t[]); int main () { float t[2]; int q; itsone: printf("\n\n\n\nМЕНЮ:\n" "1: Умножение\n" "2: Деление\n" "3: Деление большего числа на меньшее\n" "4: Вычитание\n" "5: Вычитание из большего числа - меньшее\n" "6: Сложение\n" "7: Выход\n\n\n\n"); while ((q=getchar())!=EOF) { switch(q) { case '1': func_zaprosc(t); func_ymnoghenie(t[0],t[1]); goto itsone; case '2': func_zaprosc(t); func_delenie(t[0],t[1]); goto itsone; case '3': func_zaprosc(t); func_delenieapp(t[0],t[1]); goto itsone; case '4': func_zaprosc(t); func_vichitanie(t[0],t[1]); goto itsone; case '5': func_zaprosc(t); func_vichitanieapp(t[0],t[1]); goto itsone; case '6': func_zaprosc(t); func_sloghenie(t[0],t[1]); goto itsone; case '7': return 0; } } return 0; } void func_sloghenie(float a,float b) { printf("%f",a+b); } void func_delenie(float a,float b) { printf("%f\n",a/b); } void func_delenieapp(float a,float b) { a>b?printf("%f\n",a/b):printf("%f\n",b/a); } void func_vichitanie(float a,float b) { printf ("%f\n",a-b); } void func_vichitanieapp(float a,float b) { a>b?printf("%f\n",a-b):printf("%f\n",b-a); } void func_ymnoghenie(float a,float b) { printf("%f",a*b); } float func_zaprosc(float t[]) { int l,j; for (l=1,j=0;l<=2 && j<2;l++,j++) { printf("\n\nВведите значение %d:\n\n",l); scanf("%f",&t[j]); } return t[2]; }
Объяснение кода листинга программы
- В функции
main
создается массивt
размером 2 для хранения введенных пользователем чисел. - Затем программа предлагает пользователю выбрать операцию для выполнения, выводя на экран меню.
- После получения выбора пользователя программа вызывает соответствующую функцию для выполнения операции.
- В функции
func_sloghenie
происходит сложение двух чисел и результат выводится на экран. - В функции
func_delenie
происходит деление одного числа на другое и результат выводится на экран. - В функции
func_delenieapp
происходит проверка, является ли первое число больше второго, и в зависимости от этого происходит деление или второго числа на первое. - В функции
func_vichitanie
происходит вычитание двух чисел и результат выводится на экран. - В функции
func_vichitanieapp
происходит проверка, является ли первое число больше второго, и в зависимости от этого происходит вычитание или второго числа из первого. - В функции
func_ymnoghenie
происходит умножение двух чисел и результат выводится на экран. - В функции
func_zaprosc
пользователю предлагается ввести два числа, которые затем сохраняются в массивеt
. - Затем программа возвращает третье число, которое было введено пользователем.
- В конце программы возвращается 0, что означает успешное завершение работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д