Ошибка при вычислениях после перевода кода с C++ - C (СИ)
Формулировка задачи:
После переделывания программы из С++ в Си вместо решения выдает формулу по которой нужно считать, но при компиляции ошибок нет. В Си разбираюсь не очень хорошо, может что пропустила. Подскажите пожалуйста что нужно исправить
#include<conio.h> #include<stdio.h> #include<math.h> #include<locale.h> int f(); int main(void) { setlocale(LC_ALL,"Russian"); float q; float a,b,c; printf("\t\t\t\t Условия пользования! \n"); printf("\n Не вводите буквы!! \n"); printf("\n Не вводите символы, кроме цифр! \n"); printf("\n Дроби вводить нельзя! \n"); printf("\n Убедительная просьба, выполнять условия пользования \n во избежания некорректной роботы програмы. \n\n"); while(1){ printf("\n \n Выражения для вычисления: (a*a + b*b) / (b*b + 5^c) * b! = q \n"); printf("\n Введите переменную a: "); scanf( "%s", &a); printf("\n Введите переменную b: "); scanf( "%s", &b); printf("\n Введите переменную c: "); scanf( "%s", &c); if(b*b + c == 0) { printf("\n (b*b)+(pow((double)5,(double)c)) = 0 \n"); printf("\n b*(b - 1) = 0 \n"); printf("\n Простите на нуль делить нельзя!"); getch(); } q = (a*a + b*b) / (b*b + pow((double)5,(double)c)); printf("\n Решение: \n"); printf("\n (a*a + b*b)/(b*b +pow((double)5,(double)c) *(b*(b-1)) = q \n"); printf("\n Спасибо что использовали это приложения!\n"); } getch(); } int f() { char f[20]; int c, k=0; start2: for(register int i = 0;i<20;i++) { k++; } for(register int i = 0;i<20;i++) { if(f[i] == '0' || f[i]=='1' || f[i]=='2' || f[i]=='3'|| f[i]=='4'||f[i]=='5'||f[i]=='6'||f[i]=='7'||f[i]=='8'||f[i]=='9' || f[i]=='-') {} else if(f[i] == '.' || f[i]==',') { printf("\n Просите вы ввели символ а его вводить нельзя!\n"); printf("\n Повторите ввод переменной: "); } else if(k>20) { printf("\n Превышен лимит возможных символов\n"); printf("\n Попробуйте еще раз \n"); } else { printf("\n Некорректные данные "); printf("\n Попробуйте еще раз \n"); } } c = 20; return c; }
Решение задачи: «Ошибка при вычислениях после перевода кода с C++»
textual
Листинг программы
scanf( "%f", &a);
Объяснение кода листинга программы
- Вводится значение переменной
a
с помощью функции scanf() - Значение переменной
a
сохраняется в памяти компьютера и может быть использовано в дальнейшем коде
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д