Перевести программу вычисления выражения с С++ - 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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.6 из 5
Похожие ответы