Advertisement
Guest User

ЛР8

a guest
Dec 11th, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.51 KB | None | 0 0
  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include "stdlib.h"
  3. #include "stdio.h"
  4. #include "conio.h"
  5. #include "math.h"
  6. #include "string.h"
  7. #include "locale.h"
  8. #include "windows.h"
  9. #include "time.h"
  10.  
  11. int check(); /*Функція перевірки коректного типу даних*/
  12. float resistance_detect(float first, float second, int type); /*Функція що обраховує суму опорів*/
  13.  
  14. int main()
  15. {
  16.     float r1 /*змінна для опору 1-го резистора */, r2/ *змінна для опору 2-го резистора */, res /*результат виконання функції */;
  17.     int type; /*змінна для визначення типу з'єднання*/
  18.     setlocale(LC_ALL, "RUS");
  19.     SetConsoleCP(1251);
  20.     SetConsoleOutputCP(1251);
  21.     printf("Введіть опір першого резисору : \n");
  22.     r1= check();
  23.     printf("Введіть опір другого резисору : \n");
  24.     r2= check();
  25.     do {
  26.         printf("Введіь тип з'єднання резисорів (тільки число) \n 1.Послідовно \n 2.Паралельно \n");
  27.         type = check();
  28.     }
  29.     while (type != 1 && type != 2); /*перевірка чи тип з'єднання число 1 або 2 */
  30.     res = resistance_detect(r1, r2, type); /*викликаємо фунцкію res*/
  31.     printf("Сума опорів при обраному з'єднанні %.2f Ом \n " , res);
  32.     system("pause");
  33.     return 0;
  34. }
  35.  
  36. int check() {
  37.     char c[255]/*строка с яка перевіряється на правильність введених значень */; int y = 0 /* Змінна, яка повернеться після перевірки*/;
  38.     do {
  39.         fgets(c, 255, stdin);
  40.         if (y = atoi(c) == 0) {
  41.             printf("Ви ввели помилкове значення, спробуйте ще раз\n");
  42.             continue;
  43.         }
  44.         else
  45.             y = atoi(c);
  46.         break;
  47.     } while (y != 0);
  48.     return y;
  49. }
  50. float resistance_detect(float first /*змінна якій передається опір 1-го резистора */, float second /*змінна якій передається опір 2-го резистора */, int type/*змінна якій передається тип з'єднання */) {
  51.     float main_r; /*змінна яка повертається після виконання функції (сума опорів) */
  52.     if (type==1)
  53.     {
  54.         main_r = first + second;
  55.         return main_r;
  56.     }
  57.     else
  58.     {
  59.         main_r = ((first*second) / (first + second));
  60.         return main_r;
  61.     }
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement