Перевести программу вычисления выражения с С++ - C (СИ)
Формулировка задачи:
Эту программу нужно перевести из С++ в Си, помогите пожалуйста.
#include<iostream>
#include<conio.h>
#include<cmath>
#include<cstdlib>
#include<cstring>
using namespace std;
int f();
int main(void)
{
setlocale(LC_ALL,"Russian");
float q;
float a,b,c;
cout<<"Условия пользования!"<<'\n';
cout<< '\n' <<"Не вводите буквы!"<<'\n';
cout<< '\n' <<"Не вводите символы, кроме цифр!"<<'\n';
cout<< '\n' <<"Дроби вводить нельзя!"<<'\n';
cout<< '\n' <<"Убедительная просьба, выполнять условия пользования "<<'\n' <<"во избежания некорректной роботы програмы ."<<'\n'<<'\n';
while(1){
cout<<'\n' << '\n' <<"Выражения для вычисления: (a*a + b*b) / (b*b + 5^c) * b! = q"<<'\n';
cout<< '\n' <<"Введите переменную a: ";
a = f();
cout<< '\n' <<"Введите переменную b: ";
b = f();
cout<< '\n' << "Введите переменную c: ";
c = f();
if(b*b + c == 0)
{
cout<<'\n' << b*b << "+" <<"(" << pow((double)5,(double)c) << ")" << " = 0" << '\n';
cout<<'\n' << b << "*" << "(" << b << "-" << 1 << ")" << " = 0" << '\n';
cout<<'\n' << "Простите на нуль делить нельзя!";
getch();
exit(0);
}
q = (a*a + b*b) / (b*b + pow((double)5,(double)c));
cout<<'\n' <<"Решение: "<<'\n';
cout<<'\n' << "(" << a*a << "+"<< b*b <<")" <<"/"<< "(" << b*b << "+" << pow((double)5,(double)c) << ")" << "*" <<"(" << b << "*" << "(" << b << "-" << 1 << ")"<<")"<< "=" << q <<'\n';
cout<<'\n' <<"Спасибо что использовали это приложения!"<<'\n';
}
getch();
}
int f()
{
char f[20];
int c, k=0;
start2:
cin >> f;
for(register int i = 0;i<strlen(f);i++)
{
k++;
}
for(register int i = 0;i<strlen(f);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]==',')
{
cout<< '\n' << "Просите вы ввели символ " << "'"<< f[i] << "'" <<"а его вводить нельзя!"<<'\n';
cout<< '\n' << "Повторите ввод переменной: ";
goto start2;
}
else if(k>20)
{
cout << "Превышен лимит возможных символов"<<'\n';
cout << " Попробуйте еще раз "<<'\n';
goto start2;
}
else
{
cout << "Некорректные данные ";
cout << " Попробуйте еще раз "<<'\n';
goto start2;
}
}
c = atoi(f);
return c;
}Решение задачи: «Перевести программу вычисления выражения с С++»
textual
Листинг программы
for(register int i