Переписать код с C++ на С - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Пожалуйста помогите время поджимает.
#include <iostream>
 
using namespace std;
 
struct polinom 
{
    int stepen; 
    int koifetient[30];
};
 
 struct polinom temp;
 
void input()    
{   
    cout << "Введите наибольшую степень полинома: "; cin >> temp.stepen;
    cout << endl;
 
    for ( int i = temp.stepen; i >= 0; i--){
        cout << "Введите коэфицент при " << i << "-ой степени: "; cin >> temp.koifetient[i];
    }
}
 
void output()
{
    for ( int i = temp.stepen; i >=0; i--){
            cout << temp.koifetient[i] << "x^" << i;
            if ((temp.koifetient[i-1] > 0)&&(i != 0))
                cout << '+';        
    }
    cout << endl;
}
 
int main()
{
    setlocale(LC_ALL,"Russian");
    
    unsigned int menuItem; 
 
    do 
    { 
        while(true)
        {
            cout << "Меню" << endl;
            cout << "1) Ввести полином" << endl;
            cout << "2) Вывести полином" << endl;
            cout << "0) Выход" << endl;;
            cin >> menuItem;
 
            if (( menuItem == 0 ) || ( menuItem == 1 ) || ( menuItem == 2)) 
                break;
            else
                cout << "Ошибка.Некоректный пункт меню\n\n";
        }
 
        switch (menuItem) 
        { 
            case 1: 
            { 
                input();
                break; 
            } 
 
            case 2: 
            { 
                output();
                break; 
            } 
 
        } 
 
    } while (menuItem); 

    system("pause");
    return 0;
}

Решение задачи: «Переписать код с C++ на С»

textual
Листинг программы
#include <stdio.h>
#include <locale.h>
void input(void);
 
typedef struct _polinom 
{
    int stepen; 
    int koifetient[30];
} polinom;
 
polinom temp;
 
 
 
void input(void)    
{   
    printf("Введите наибольшую степень полинома: ");
    scanf("%d", &temp.stepen);
 
    for ( int i = temp.stepen; i >= 0; i--){
        printf("Введите коэфицент при %i-ой степени: ", i);
        scanf("%d", &temp.koifetient[i]);
    }
    printf("\n");
}
 
void output()
{
    for ( int i = temp.stepen; i >=0; i--){
            printf("%ix^%i", temp.koifetient[i], i);
            if ((temp.koifetient[i-1] > 0)&&(i != 0))
                printf("+");        
    }
    printf("\n");
}
 
int main(void)
{
    setlocale(LC_ALL,"Russian");
    
    unsigned int menuItem; 
 
    do 
    { 
        while(1)
        {
            printf("Меню\n");
            printf("1) Ввести полином\n");
            printf("2) Вывести полином\n");
            printf("0) Выход\n");
            scanf("%d", &menuItem);
 
            if (( menuItem == 0 ) || ( menuItem == 1 ) || ( menuItem == 2)) 
                break;
            else
                printf("Ошибка.Некоректный пункт меню\n\n");
        }
 
        switch (menuItem) 
        { 
            case 1: 
            { 
                input();
                break; 
            } 
 
            case 2: 
            { 
                output();
                break; 
            } 
 
        } 
 
    } while (menuItem); 
    getchar();
    return 0;
}

Объяснение кода листинга программы

  1. Включаем необходимые заголовочные файлы для работы с консолью и вводом-выводом данных
  2. Объявляем структуру для представления полинома
  3. Инициализируем переменную temp типа polinom, которая будет использоваться для хранения данных о полиноме
  4. Создаем функцию input, которая запрашивает у пользователя ввод степени полинома и всех его коэффициентов
  5. Используем цикл for для запроса коэффициентов для каждой степени полинома
  6. Вызываем функцию output для вывода полинома в консоль
  7. Создаем функцию main, которая является точкой входа в программу
  8. Устанавливаем локаль на русский язык с помощью функции setlocale
  9. Вводим меню с помощью цикла while(1) и оператора switch
  10. В случае выбора пункта меню 1, вызываем функцию input для ввода полинома
  11. В случае выбора пункта меню 2, вызываем функцию output для вывода полинома
  12. Завершаем работу программы с помощью оператора return и функции getchar

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


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

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

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