170 похожих чатов

#Include <stdio.h> #include <stdbool.h> int WholeNumbers() { int answer; int firstnum; int secondnum;

char operation;
bool CorrectOrNot = false;

do {
CorrectOrNot = true;
printf("Enter your first number: ");
if (scanf_s("%d", &firstnum) != 1)
{
printf("\nError reading first number!\n");
return 0;
}
printf("Enter your second number: ");
if (scanf_s("%d", &secondnum) != 1)
{
printf("\nError reading second number!\n");
return 0;
}
printf("Enter your operation: ");
fflush(stdin);
if (scanf_s("%c", &operation, sizeof(char)) != 1)
{
printf("\nError reading operation!\n");
return 0;
}

switch (operation)
{
case '+':
answer = firstnum + secondnum;
break;
case '-':
answer = firstnum - secondnum;
break;
case '*':
answer = firstnum * secondnum;
break;
case '/':
answer = firstnum / secondnum;
break;
default:
printf("Error!\n");
CorrectOrNot = true;
break;
}
} while (CorrectOrNot);

return answer;
}

float DottedNumbers()
{
float answer;
float firstnum;
float secondnum;
char operation;
bool CorrectOrNot = false;

do
{
CorrectOrNot = true;
printf("Enter your first number: ");
if (scanf_s("%f", &firstnum) != 1)
{
printf("\nError reading first number!\n");
return 0;
}
printf("Enter your second number: ");
if (scanf_s("%f", &secondnum) != 1)
{
printf("\nError reading second number!\n");
return 0;
}
printf("Enter your operation: ");
if (scanf_s("%c", &operation, sizeof(char)) != 1)
{
printf("\nError reading operation!\n");
return 0;
}

switch (operation)
{
case '+':
answer = firstnum + secondnum;
break;
case '-':
answer = firstnum - secondnum;
break;
case '*':
answer = firstnum * secondnum;
break;
case '/':
answer = firstnum / secondnum;
break;
default:
printf("\nError!\n");
CorrectOrNot = true;
break;
}
} while (CorrectOrNot);

return answer;
}

int main()
{
float fanswer = 0.0;
int answer;
int type;
bool CorrectOrNot;

do
{
printf("1.Dotted numbers\n");
printf("2.Whole numbers\n");
printf("1 or 2 ?\n");
if (scanf_s("%i", &type) != 1)
{
printf("Error reading type!\n");
return 0;
}

if (type == 1)
{
answer = DottedNumbers();
CorrectOrNot = true;
}
else if (type == 2)
{
answer = WholeNumbers();
CorrectOrNot = true;
}
else
{
printf("Error! Try again!\n");
CorrectOrNot = false;
}
}while (CorrectOrNot);

printf("The result is: %d\n", answer);
printf("The result is: %f\n", fanswer);

return 0;
}

2 ответов

3 просмотра

так надо if (scanf_s("%f\n", &firstnum) != 1)

Похожие вопросы

Обсуждают сегодня

А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
Подскажите, где смотреть результат выполнения программы? Код: ;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, станда...
Егор Анелькин
5
Где в Астане можно купить мясо для шашлыков?
Dancing Іңұқәһүғө
21
Добрый день подскажите пожалуйста может кто то сталкивался с ошибками Sentry 22.10.0 развернутым из helm чарт в Kubernetes? Изначально 3 дня назад очень стало много событий ух...
Tire4 Finist Devops
1
;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, стандартный ;вызов процедуры ;option casemap:no...
Егор Анелькин
1
почому оно не работает?
Vi Chapmann ٩( 💢•̀ з•́)و Chapmann
19
всем привет почти закончил курс После него можно писать свою операционку? Какие библиотеки надо использовать и куда дальше копать для изучения
Linus
19
Так а кто может спарсить всех участников чата? Идишники
Magic
18
Карта сайта