Переписать код с 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; }
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы для работы с консолью и вводом-выводом данных
- Объявляем структуру для представления полинома
- Инициализируем переменную temp типа polinom, которая будет использоваться для хранения данных о полиноме
- Создаем функцию input, которая запрашивает у пользователя ввод степени полинома и всех его коэффициентов
- Используем цикл for для запроса коэффициентов для каждой степени полинома
- Вызываем функцию output для вывода полинома в консоль
- Создаем функцию main, которая является точкой входа в программу
- Устанавливаем локаль на русский язык с помощью функции setlocale
- Вводим меню с помощью цикла while(1) и оператора switch
- В случае выбора пункта меню 1, вызываем функцию input для ввода полинома
- В случае выбора пункта меню 2, вызываем функцию output для вывода полинома
- Завершаем работу программы с помощью оператора return и функции getchar
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д