Реализовать меню и вычислить функцию - C (СИ)

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

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

Написать программу: 1) выводит на экран меню 1.введение данных 2.обчислення функции 3.завершення 2) Если выбран пункт 1, необходимо обеспечить ввод трьох величин: начального значения, конечного значения и шага изменения аргумента Х. 3) Если выбран пункт 2, необходимо провести вычисления функции у=х^3+2x для всех значений аргумента и вывести полученные результаты в виде таблицы 4) Если выбран пункт 3, необходимо сообщить пользователю о завершении программы и осуществить выход.
Текст на С.

Решение задачи: «Реализовать меню и вычислить функцию»

textual
Листинг программы
/***********************
 * Программа с do/while
 ***********************/
#include<stdio.h>
 
 
long long int formula(int x);
 
 
int main(void) {
    long long int y;    /* перименная для Y */
    int first,      /* начальное значение */
        last,       /* конечное ...... */
        step,       /* шаг */
        n,          /* число промежутков */
        i,          /* подсчот .......... */
        flag = 0;   /* флаг если НУЛЬ то данные не обработаны */
    char choice,    /* Выбор */
         trash;     /* очищение stream'а */
 
    do {
        puts("1. введение данных");
        puts("2. обчислення функции");
        puts("3. заверення");
        choice = getchar();
        switch(choice) {
            case '1':   puts("  ввод трех велечин");
                        printf("   начальное значение: ");
                        scanf("%d",&first);
                        printf("   конечное значение: ");
                        scanf("%d",&last);
                        printf("   шаг измерения аргумента X: ");
                        scanf("%d",&step);
                        flag = 1;
                        break;
            case '2':   if (flag) {
                            printf("\nТаблица\n%lld\n",formula(first));
                            if(last>first) {
                                if((last-first)>step) {
                                    n = (last-first) /step;
                                    for(i=1 ; i<=n ; i++)
                                        printf("%lld\n",formula(first+step*i)); }}
                            else if(last<first) {
                                if((first-last)>step) {
                                    n = (first-last) /step;
                                    for(i=1 ; i<=n ; i++)
                                        printf("%lld\n",formula(first-step*i)); }}
                            (last-first)%step ? printf("%lld\n",formula(last)) : puts("") ; }
                        break; }
        while(getchar()!='\n');
        puts("");
    } while(choice!='3');
 
    return 0; }
 
long long int formula(int x) {
    long long int result;
    result = (x*x*x + x*(long long int)2);
    return result; }

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

В этом коде используется цикл do/while для реализации меню. Пользователю предлагается выбрать один из трех пунктов меню (ввод данных, вычисление функции, завершение программы), ввод осуществляется с клавиатуры. Если пользователь вводит '1', ему предлагается ввести начальное, конечное значение и шаг для функции, после чего значения сохраняются в переменных и флаг меняется на 1. Если пользователь вводит '2', выполняется вычисление функции, и результат выводится на экран. Если пользователь вводит '3', программа завершается. Список переменных и их значений:

  1. y - не используется
  2. first, last, step, n, i - используются для хранения значений, введенных пользователем
  3. flag - используется для контроля, были ли введены данные
  4. choice, trash - используются для ввода пользователем выбора и очистки потока ввода
  5. result - используется для хранения результата вычисления функции

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


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

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

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