Сделать чтобы число воспринималось с такой же точностью с какой и вводилось - C (СИ)
Формулировка задачи:
#include<stdio.h>
#include<locale.h>
#include<stdlib.h>
#include<math.h>
int main()
{
setlocale(0,"");
float a,b,s;
char c;
printf("\n\n\n\t\t\t\t\Калькулятор!\n\n");
printf("Введите первое дробное число : ");
scanf("%5f",&a);
fflush(stdin);
printf("Введите второе дробное число : ");
scanf("%5f",&b);
fflush(stdin);
l:
printf("Введите знак между ними : ");
scanf("%1c",&c);
fflush(stdin);
switch(c)
{
case '/': s=a/b; break;
case '*': s=a*b; break;
case '+': s=a+b; break;
case '-': s=a-b; break;
default: printf("Неверно введена математическая операция\n"); goto l;
}
printf("%7lf%c%7lf=%7lf",a,c,b,s);
return 0;
}Решение задачи: «Сделать чтобы число воспринималось с такой же точностью с какой и вводилось»
textual
Листинг программы
#include<stdio.h>
#include<locale.h>
#include<stdlib.h>
#include<math.h>
int main()
{
setlocale(0,"");
double a, b, s;
char c;
printf("\n\n\n\t\t\t\t\Калькулятор!\n\n");
printf("Введите первое дробное число : ");
scanf("%5lf",&a);
fflush(stdin);
printf("Введите второе дробное число : ");
scanf("%5lf",&b);
fflush(stdin);
printf("Введите знак между ними : ");
scanf("%1c",&c);
fflush(stdin);
switch(c)
{
case '/': s = a / b; break;
case '*': s = a * b; break;
case '+': s = a + b; break;
case '-': s = a - b; break;
default: printf("Неверно введена математическая операция\n");
}
printf("%7lf%c%7lf=%7lf", a, c, b, s);
return 0;
}
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с числами и вводом-выводом
- Установка локали на русскую
- Объявление переменных типа double для хранения чисел с плавающей точкой
- Объявление переменной типа char для хранения знака операции
- Вывод приветствия и названия программы
- Ввод первого числа с плавающей точкой с помощью функции scanf
- Очистка буфера ввода с помощью функции fflush
- Ввод второго числа с плавающей точкой с помощью функции scanf
- Очистка буфера ввода с помощью функции fflush
- Ввод знака операции с помощью функции scanf
- Очистка буфера ввода с помощью функции fflush
- Выбор операции с помощью оператора switch
- Выполнение математической операции и сохранение результата в переменной s
- Вывод результатов на экран с помощью функции printf
- Возврат 0, чтобы указать, что программа успешно завершилась