Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Помогите с программой


Автор: Альдорон 26.5.2011, 11:21
Здравствуйте!!

Помогите с программой пожалуйста, она должна рассчитывать напряжение в эл. сети по разным формулам в зависимости от количества "узлов".

Я кое-что написал. Она дает ввести кол-во "узлов" но потом почему-то вырубается
Код

#include <iostream> 
#include <math.h> 
#include <conio.h>
#include <string.h>
#include <locale.h> // для setlocale() //
using namespace std;
void main()
{
    int n,I,R,U,I1,I2,I3,I4,I5,I6,I7,I8,I9,R1,R2,R3,R4,R5,R6,R7,R8,R9;
    setlocale(LC_ALL, "");
    printf ("%s\n",L"Введите количество узлов в цепи (от 1 до 10)");
    scanf ("%d",&n);
    switch (n)
    {
        case 1: n=1;
                    printf ("%s\n", L"Введите I");
                    scanf  ("%d",&I);
                    printf ("%s\n", L"Введите R");
                    scanf  ("%d\n",&R);
                    U=I*R;
                    printf ("%s\n", L"U=");
                    break;
                
        case 2: n=2 ;
                    printf ("%s\n", L"Введите I");
                    scanf  ("%d",&I);
                    printf ("%s\n", L"Введите I1");
                    scanf  ("%d",&I1);
                    printf ("%s\n", L"Введите R");
                    scanf  ("%d\n",&R);
                    printf ("%s\n", L"Введите R1");
                    scanf  ("%d\n",&R1);
                    U=I*R+I1*R1;
                    printf ("%s\n", L"U=");
                    break;
        case 3: n=3 ;
                    
                    printf ("%s\n", L"Введите I");
                    scanf  ("%d",&I);
                    printf ("%s\n", L"Введите I1");
                    scanf  ("%d",&I1);
                    printf ("%s\n", L"Введите I2");
                    scanf  ("%d",&I2);
                    printf ("%s\n", L"Введите R");
                    scanf  ("%d\n",&R);
                    printf ("%s\n", L"Введите R1");
                    scanf  ("%d\n",&R1);
                    printf ("%s\n", L"Введите R2");
                    scanf  ("%d\n",&R2);
                    U=I*R+I1*R1+I2*R2;
                    printf ("%s\n", L"U=");
                    break;
        case 4: n=4 ;
                    
                    printf ("%s\n", L"Введите I");
                    scanf  ("%d",&I);
                    printf ("%s\n", L"Введите I1");
                    scanf  ("%d",&I1);
                    printf ("%s\n", L"Введите I2");
                    scanf  ("%d",&I2);
                    printf ("%s\n", L"Введите I3");
                    scanf  ("%d",&I3);
                    printf ("%s\n", L"Введите R");
                    scanf  ("%d\n",&R);
                    printf ("%s\n", L"Введите R1");
                    scanf  ("%d\n",&R1);
                    printf ("%s\n", L"Введите R2");
                    scanf  ("%d\n",&R2);
                    printf ("%s\n", L"Введите R3");
                    scanf  ("%d\n",&R3);
                    U=I*R+I1*R1+I2*R2+I3*R3;
                    printf ("%s\n", L"U=");
                    break;
        case 5: n=5 ;
                    
                    printf ("%s\n", L"Введите I");
                    scanf  ("%d",&I);
                    printf ("%s\n", L"Введите I1");
                    scanf  ("%d",&I1);
                    printf ("%s\n", L"Введите I2");
                    scanf  ("%d",&I2);
                    printf ("%s\n", L"Введите I3");
                    scanf  ("%d",&I3);
                    printf ("%s\n", L"Введите I4");
                    scanf  ("%d",&I4);
                    printf ("%s\n", L"Введите R");
                    scanf  ("%d\n",&R);
                    printf ("%s\n", L"Введите R1");
                    scanf  ("%d\n",&R1);
                    printf ("%s\n", L"Введите R2");
                    scanf  ("%d\n",&R2);
                    printf ("%s\n", L"Введите R3");
                    scanf  ("%d\n",&R3);
                    printf ("%s\n", L"Введите R4");
                    scanf  ("%d\n",&R4);
                    U=I*R+I1*R1+I2*R2+I3*R3+I4*R4;
                    printf ("%s\n", L"U=");
                    break;
        case 6: n=6 ;
                    
                    printf ("%s\n", L"Введите I");
                    scanf  ("%d",&I);
                    printf ("%s\n", L"Введите I1");
                    scanf  ("%d",&I1);
                    printf ("%s\n", L"Введите I2");
                    scanf  ("%d",&I2);
                    printf ("%s\n", L"Введите I3");
                    scanf  ("%d",&I3);
                    printf ("%s\n", L"Введите I4");
                    scanf  ("%d",&I4);
                    printf ("%s\n", L"Введите I5");
                    scanf  ("%d",&I5);
                    printf ("%s\n", L"Введите R");
                    scanf  ("%d\n",&R);
                    printf ("%s\n", L"Введите R1");
                    scanf  ("%d\n",&R1);
                    printf ("%s\n", L"Введите R2");
                    scanf  ("%d\n",&R2);
                    printf ("%s\n", L"Введите R3");
                    scanf  ("%d\n",&R3);
                    printf ("%s\n", L"Введите R4");
                    scanf  ("%d\n",&R4);
                    printf ("%s\n", L"Введите R5");
                    scanf  ("%d\n",&R5);
                    U=I*R+I1*R1+I2*R2+I3*R3+I4*R4+I5*R5;
                    printf ("%s\n", L"U=");
                    break;
        case 7: n=7 ;
                    
                    printf ("%s\n", L"Введите I");
                    scanf  ("%d",&I);
                    printf ("%s\n", L"Введите I1");
                    scanf  ("%d",&I1);
                    printf ("%s\n", L"Введите I2");
                    scanf  ("%d",&I2);
                    printf ("%s\n", L"Введите I3");
                    scanf  ("%d",&I3);
                    printf ("%s\n", L"Введите I4");
                    scanf  ("%d",&I4);
                    printf ("%s\n", L"Введите I5");
                    scanf  ("%d",&I5);
                    printf ("%s\n", L"Введите I6");
                    scanf  ("%d",&I6);
                    printf ("%s\n", L"Введите R");
                    scanf  ("%d\n",&R);
                    printf ("%s\n", L"Введите R1");
                    scanf  ("%d\n",&R1);
                    printf ("%s\n", L"Введите R2");
                    scanf  ("%d\n",&R2);
                    printf ("%s\n", L"Введите R3");
                    scanf  ("%d\n",&R3);
                    printf ("%s\n", L"Введите R4");
                    scanf  ("%d\n",&R4);
                    printf ("%s\n", L"Введите R5");
                    scanf  ("%d\n",&R5);
                    printf ("%s\n", L"Введите R6");
                    scanf  ("%d\n",&R6);
                    U=I*R+I1*R1+I2*R2+I3*R3+I4*R4+I5*R5;
                    printf ("%s\n", L"U=");
                    break;
        case 8: n=8 ;
                    
                    printf ("%s\n", L"Введите I");
                    scanf  ("%d",&I);
                    printf ("%s\n", L"Введите I1");
                    scanf  ("%d",&I1);
                    printf ("%s\n", L"Введите I2");
                    scanf  ("%d",&I2);
                    printf ("%s\n", L"Введите I3");
                    scanf  ("%d",&I3);
                    printf ("%s\n", L"Введите I4");
                    scanf  ("%d",&I4);
                    printf ("%s\n", L"Введите I5");
                    scanf  ("%d",&I5);
                    printf ("%s\n", L"Введите I6");
                    scanf  ("%d",&I6);
                    printf ("%s\n", L"Введите I7");
                    scanf  ("%d",&I7);
                    printf ("%s\n", L"Введите R");
                    scanf  ("%d\n",&R);
                    printf ("%s\n", L"Введите R1");
                    scanf  ("%d\n",&R1);
                    printf ("%s\n", L"Введите R2");
                    scanf  ("%d\n",&R2);
                    printf ("%s\n", L"Введите R3");
                    scanf  ("%d\n",&R3);
                    printf ("%s\n", L"Введите R4");
                    scanf  ("%d\n",&R4);
                    printf ("%s\n", L"Введите R5");
                    scanf  ("%d\n",&R5);
                    printf ("%s\n", L"Введите R6");
                    scanf  ("%d\n",&R6);
                    printf ("%s\n", L"Введите R7");
                    scanf  ("%d\n",&R7);
                    U=I*R+I1*R1+I2*R2+I3*R3+I4*R4+I5*R5+I7*R7;
                    printf ("%s\n", L"U=");
                    break;
        case 9: n=9 ;
                    
                    printf ("%s\n", L"Введите I");
                    scanf  ("%d",&I);
                    printf ("%s\n", L"Введите I1");
                    scanf  ("%d",&I1);
                    printf ("%s\n", L"Введите I2");
                    scanf  ("%d",&I2);
                    printf ("%s\n", L"Введите I3");
                    scanf  ("%d",&I3);
                    printf ("%s\n", L"Введите I4");
                    scanf  ("%d",&I4);
                    printf ("%s\n", L"Введите I5");
                    scanf  ("%d",&I5);
                    printf ("%s\n", L"Введите I6");
                    scanf  ("%d",&I6);
                    printf ("%s\n", L"Введите I7");
                    scanf  ("%d",&I7);
                    printf ("%s\n", L"Введите I8");
                    scanf  ("%d",&I8);
                    printf ("%s\n", L"Введите R");
                    scanf  ("%d\n",&R);
                    printf ("%s\n", L"Введите R1");
                    scanf  ("%d\n",&R1);
                    printf ("%s\n", L"Введите R2");
                    scanf  ("%d\n",&R2);
                    printf ("%s\n", L"Введите R3");
                    scanf  ("%d\n",&R3);
                    printf ("%s\n", L"Введите R4");
                    scanf  ("%d\n",&R4);
                    printf ("%s\n", L"Введите R5");
                    scanf  ("%d\n",&R5);
                    printf ("%s\n", L"Введите R6");
                    scanf  ("%d\n",&R6);
                    printf ("%s\n", L"Введите R7");
                    scanf  ("%d\n",&R7);
                    printf ("%s\n", L"Введите R8");
                    scanf  ("%d\n",&R8);
                    U=I*R+I1*R1+I2*R2+I3*R3+I4*R4+I5*R5+I7*R7+I8*R8;
                    printf ("%s\n", L"U=");
                    break;
        case 10: n=10 ;
                    printf ("%s\n", L"Введите I");
                    scanf  ("%d",&I);
                    printf ("%s\n", L"Введите I1");
                    scanf  ("%d",&I1);
                    printf ("%s\n", L"Введите I2");
                    scanf  ("%d",&I2);
                    printf ("%s\n", L"Введите I3");
                    scanf  ("%d",&I3);
                    printf ("%s\n", L"Введите I4");
                    scanf  ("%d",&I4);
                    printf ("%s\n", L"Введите I5");
                    scanf  ("%d",&I5);
                    printf ("%s\n", L"Введите I6");
                    scanf  ("%d",&I6);
                    printf ("%s\n", L"Введите I7");
                    scanf  ("%d",&I7);
                    printf ("%s\n", L"Введите I8");
                    scanf  ("%d",&I8);
                    printf ("%s\n", L"Введите I9");
                    scanf  ("%d",&I9);
                    printf ("%s\n", L"Введите R");
                    scanf  ("%d\n",&R);
                    printf ("%s\n", L"Введите R1");
                    scanf  ("%d\n",&R1);
                    printf ("%s\n", L"Введите R2");
                    scanf  ("%d\n",&R2);
                    printf ("%s\n", L"Введите R3");
                    scanf  ("%d\n",&R3);
                    printf ("%s\n", L"Введите R4");
                    scanf  ("%d\n",&R4);
                    printf ("%s\n", L"Введите R5");
                    scanf  ("%d\n",&R5);
                    printf ("%s\n", L"Введите R6");
                    scanf  ("%d\n",&R6);
                    printf ("%s\n", L"Введите R7");
                    scanf  ("%d\n",&R7);
                    printf ("%s\n", L"Введите R8");
                    scanf  ("%d\n",&R8);
                    printf ("%s\n", L"Введите R9");
                    scanf  ("%d\n",&R9);
                    U=I*R+I1*R1+I2*R2+I3*R3+I4*R4+I5*R5+I7*R7+I8*R8+I9*R9;
                    printf ("%s\n", L"U=");
                    break;
        }
    
 }




Надеюсь кто=нибудь откликнется .
Заранее спасибо.

Автор: bsa 26.5.2011, 11:33
1. убери #include <iostream>, а то код на С, а хидер от С++
2. убери #include <conio.h>, все равно не используешь
3. Если собрался использовать UNICODE, то замени printf на wprintf или _wprintf, тоже самое и со scanf. Иначе убери букву L перед строками.
4. присваивать n что-либо после case смысла нет - она и так содержит именно это.

Автор: Альдорон 26.5.2011, 13:31
Насчет пункта 3 ,  http://forum.vingrad.ru/index.php?showtopic=269794&view=findpost&p=2086699  про это нет
А без #include <iostream> функции printf и printf не определены 

Автор: Dov 26.5.2011, 13:43
Альдорон, ты что-нибудь о циклах слышал? Если нет, то вот примерчик небольшой(только русский язык прикрути для вывода):
Код
int main()
{
    int    I, R, n, U = 0;

    printf("Введите количество узлов в цепи (от 1 до 10): ");
    scanf("%d", &n);
    
    for(int i = 0; i < n; i++)
    {
        printf("Введите I%c: ", !i ? ' ' : i + '0');
        scanf("%d", &I);
        printf("Введите R%c: ", !i ? ' ' : i + '0');
        scanf("%d", &R);
        U += I * R;
    }
    printf("U = %d\n", U);

    return 0;
}


Добавлено через 14 минут и 14 секунд
По большому счёту, здесь даже массивы не нужны.  Исправил в коде...

Автор: bsa 26.5.2011, 20:53
Цитата(Альдорон @  26.5.2011,  13:31 Найти цитируемый пост)
Насчет пункта 3 ,  в этой статье  про это нет

Нет. Но там немного другое в кавычках указано: разницу между "%S" и "%s" видишь?
Цитата(Альдорон @  26.5.2011,  13:31 Найти цитируемый пост)
А без #include <iostream> функции printf и printf не определены  
Удивительно, что с ним определены. В стандарте четко сказано, что объявления printf и scanf находятся в stdio.h.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)