Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define _CRT_SECURE_NO_WARNINGS
- #include "stdlib.h"
- #include "stdio.h"
- #include "conio.h"
- #include "math.h"
- #include "string.h"
- #include "locale.h"
- #include "windows.h"
- #include "time.h"
- float check(float fdiap, int bdiap);
- float resistance_detect(float first, float second, int type);
- int main()
- {
- float r1 //змінна для опору 1-го резистора
- , r2 //змінна для опору 2 - го резистора
- , res; //змінна результуючого опору
- int type; //змінна тиму з'єднання
- setlocale(LC_ALL, "RUS");
- SetConsoleCP(1251);
- SetConsoleOutputCP(1251);
- printf("Введіть опір першого резисору : \n");
- r1 = check(0.00000000001, pow((3.4), 38)); //приймаємо значення 1-го резстору
- printf("Введіть опір другого резисору : \n");
- r2 = check(0.00000000001, pow((3.4), 38)); //приймаємо значення 2-го резистору
- printf("Введіь тип з'єднання резисорів (тільки число) \n 1.Послідовно \n 2.Паралельно \n");
- type = check(1, 2); //приймаєсо значення типу з'єднання
- res = resistance_detect(r1, r2, type); //викликаємо функцію
- printf("Сума опорів при обраному з'єднанні %.2f Ом \n ", res); //виводимо результат
- system("pause");
- return 0;
- }
- //Функція перевірки введених даних
- float check(float fdiap //передній край необхідного діапазону значень
- , float bdiap)//кінець діапазону
- {
- char c[255]; float check;
- do {
- check = 0;
- fgets(c, 255, stdin);
- for (int i = 0; c[i] != '\n'; i++) { //пошук у рядку зайвих символів
- if ((c[i]<'0' || c[i]>'9') && c[i] != ',') {
- printf("Ви ввели помилкове значення, спробуйте ще раз\n");
- check++;
- break;
- }
- }
- if ((atof(c) < fdiap) && (atof(c) > bdiap)) { //перевірка на входження введеного значення в діапазон
- printf("Ви ввели помилкове значення, спробуйте ще раз\n");
- continue;
- }
- } while (check != 0);
- return atof(c);
- }
- //Функція що рахує опір двух резисторів
- float resistance_detect(float first //опір першого резистора
- , float second //опір другого резистора
- , int type) //тип з'єднання
- {
- float main_r;
- if (type == 1) //визначення типу з'єднання
- {
- main_r = first + second; //підрахунок суми за умови послідовного з'єднання
- return main_r; //повернення результату
- }
- else
- {
- main_r = ((first*second) / (first + second)); //підрахунок суми за умови паралельного з'єднання
- return main_r; //повернення результату
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement