@Vilmof20

Как определить общее сопротивление соединения?

Доброго времени суток! Пожалуйста, помогите мне, начинающему программисту дописать программу. Условие задачи:

А) Три сопротивления R1, R2, R3 соединены параллельно. Определить общее сопротивление соединения. Б) Три сопротивления R1, R2, R3 соединены последовательно. Определить общее сопротивление соединения.

Вот мои наработки:

#include <stdio.h>
#include <conio.h>
#include <iostream>
 
using namespace std;
 
int main()
{
    double Rsum,R1,R2,R3;
    char Sl;
    cout << "Для какого случая необходимо показать решение (А или Б)? ";
    cin>>Sl;
    if (Sl)=='А'
    {
        cout << "Введите R1, R2 и R3: ";
        cin>>R1; cin>>R2; cin>>R3;
            if (R1>0)||(R2>0)||(R3>0)
                {
                Rsum=1/(1/R1+1/R2+1/R3);
                }
                else
                    if (R1<0)||(R2<0)||(R3<0)
                {
                Rsum==0;
                }
    }
                cout << "Сопротивление соединения равно: " << Rsum " Ом. ";
    }
    else
        if (Sl)=='Б'
        {
        cout << "Введите R1, R2 и R3: ";
        cin>>R1; cin>>R2; cin>>R3;
        if (R1>0)||(R2>0)||(R3>0)
                {
                Rsum=R1+R2+R3;
                }
                else
                    if (R1<0)||(R2<0)||(R3<0)
                {
                Rsum==0;
                }
                cout << "Общее соединения равно: " << Rsum " Ом. ";
                getch();
}


Заранее благодарю!
  • Вопрос задан
  • 98 просмотров
Решения вопроса 1
@Wildlife
Вообще, ошибок у вас полно. Помимо пропущенных скобок в условиях, можно выделить следующие существенные ошибки:

1) Неправильные операторы в 17-й строке. Поменяйте || на &&
2) 22 и 41 строка: нет смысла в проверке, я бы написал на экран: "Некорректные данные".
3) В 34-й строке то же самое, что и в 17-й, также я бы поставил не ">0", а ">=0"
4) Также лучше избавиться от русских букв.

#include <stdio.h>
#include <conio.h>
#include <iostream>
 
using namespace std;
 
void main()
{
    double Rsum,R1,R2,R3,x;
    setlocale(LC_ALL, "rus");
    cout << "Укажите номер типа соединения - параллельное (0) или последовательное (1)";
    cin>>x;
    if (x==0)
    {
        if ((R1>=0)&&(R2>=0)&&(R3>=0))
                {
                cout << "Введите R1, R2 и R3: ";
                cin>>R1; cin>>R2; cin>>R3;
                Rsum=1/(1/R1+1/R2+1/R3);
                }
                else
                    if ((R1<0)&&(R2<0)&&(R3<0))
                {
                Rsum=0;
                }
                cout << "Сопротивление соединения равно: " << Rsum;
    }
 
    if (x==1)
    {
 
        if ((R1>=0)&&(R2>=0)&&(R3>=0))
                {
                Rsum=R1+R2+R3;
                }
                else
                    if ((R1<0)&&(R2<0)&&(R3<0))
                {
                Rsum=0;
                cout << "Общее соединение равно: " << Rsum;
                }
                getch();
                system("pause");
    }

}


Вроде код должен работать, проверьте. Я не проверял - накидал по-быстрому.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы