golovanovd

prog_lab_2.2 old

Feb 10th, 2016
46
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 5.88 KB | None | 0 0
  1. // Лабораторная работа 2
  2. // Реализация циклический алгоритмов. Создание программ с меню.
  3. // Задание 2
  4. // Выполнил студент гр. 515а
  5. // Голованов Дмитрий
  6.  
  7. #include <stdio.h>
  8. #include <math.h>
  9.  
  10. int main (void) {
  11.    
  12.     printf("| Operation |   Code   || Operation |   Code   |\n");
  13.     printf("|-----------|----------||-----------|----------|\n");
  14.     printf("|     +     |     1    ||    |x|    |     6    |\n");
  15.     printf("|     -     |     2    ||    x^3    |     7    |\n");
  16.     printf("|     *     |     3    ||     =     |     8    |\n");
  17.     printf("|     /     |     4    ||   reset   |     9    |\n");
  18.     printf("|   ctg(x)  |     5    ||    exit   |    10    |\n");
  19.     printf("|----------------------------------------------|\n");
  20.     printf("|       Welcome to calculation programm!       |\n");
  21.     printf("|----------------------------------------------|");
  22.    
  23.     int op;                                                         // Объявление переменной op (operation)
  24.     float x1, x2, res;                                              // Объявление переменных x1, x2, res(x1 - Value 1, Value 2, Result)
  25.                                                                     //                                
  26.     while(1) {                                                      // Начало while 1(основной)
  27.                                                                     //
  28.         ident: printf("\n|    Value 1:");                           // Продолжение goto(ident). Предложение ко вводу первого значения
  29.         scanf("%f",&x1);                                            // Ввод первого значения
  30.         res=x1;                                                     //
  31.                                                                     //
  32.         while(1) {                                                  // Начало while 2 (внутренний)
  33.                                                                     //
  34.             printf("\n|  Operation:");                              // Предложение ко вводу кода операции
  35.             scanf("%i",&op);                                        // Ввод кода операции
  36.                                                                     //
  37.             if(op>=1&&op<=4) {                                      // Если операция 1-4, то выполняются доп операторы
  38.                 printf("\n|    Value 2:");                          // Предложение ко вводу второго значения
  39.                 scanf("%f",&x2);                                    // Ввод второго значения
  40.             }                                                       //
  41.                                                                     //
  42.             switch(op){                                             // Начало оператора switch
  43.                                                                     //
  44.                 case 1: res=res+x2; break;                          // Операция 1 Сложение
  45.                                                                     //
  46.                 case 2: res=res-x2; break;                          // Операция 2 Вычитание
  47.                                                                     //
  48.                 case 3: res=res*x2; break;                          // Операция 3 Умножение
  49.                                                                     //
  50.                 case 4: res=res/x2; break;                          // Операция 4 Деление
  51.                                                                     //
  52.                 case 5: res=1/tan(x1); break;                       // Операция 5 Нахождение ctg(x1)
  53.                                                                     //
  54.                 case 6: {                                           // Операция 6 Нахождение |x1|
  55.                         if(x1<0) x1=x1*(-1);                        //
  56.                         res=x1;                                     //
  57.                         break;                                      //
  58.                         }                                           //
  59.                                                                     //
  60.                 case 7: res=pow(x1,3); break;                       // Операция 7 Возведение x1 в 3 степень
  61.                                                                     //
  62.                 case 8: printf("\n|    Result: %5.2f", res); break; // Выведение результата
  63.                                                                     //
  64.                 case 9: goto ident;  break;                         // Сброс. Начатие While 1 заново
  65.                                                                     //
  66.                 case 10: return 0;                                  // Завершение программы.
  67.                                                                     //
  68.             }                                                       // Завершение тела switch
  69.                                                                     //
  70.         }                                                           // Завершение тела while 2
  71.                                                                     //
  72.     }                                                               // Завершение тела while 1
  73.                                                                     //    
  74. }                                                                   // Завершение тела функции main
Add Comment
Please, Sign In to add comment