Премини към съдържанието
inferno16

Проблем с програма

    Препоръчан отговор


    Проблемът е следният написах програмка - нещо като простичък калкулатор ето го кода:

    #include <iostream.h>
    #include <iomanip.h>
    #include <math.h>
    int main()
    {
    cout << " _______________________  \n";
    cout << "*                       * \n";
    cout << "*   Molq izberete  1-4  * \n";
    cout << "*   Subirane       ->1  * \n";
    cout << "*   Izvajdane      ->2  * \n";
    cout << "*   Umnojenie      ->3  * \n";
    cout << "*   Delenie        ->4  * \n";
    cout << "*_______________________*  \n";
    cout << "\n" << "\n";
    int i;
    cin >> i;
    if (!cin)
    {cout << "Error.Greshni danni! \n";
    return 1;
    }
    if (i==1||i==2||i==3||i==4)
    {cout <<"Purvoto chislo: ";
    double p;
    cin >> p;
    if (!cin)
    {cout << "Error.Greshni danni! \n";
    return 1;
    }
    cout <<"Vtoroto chislo: ";
    double v;
    cin >> v;
    if (!cin)
    {cout << "Error.Greshni danni! \n";
    return 1;
    }
    double k;
    switch (i)
    {case 1: k=p+v;break;
    case 2: k=p-v;break;
    case 3: k=p*v;break;
    case 4: k=p/v;break;
    }
    cout << setprecision(3) << setiosflags(ios :: fixed) << "Otgovorut e: " << k << "\n" << "by Inferno16 \n" << "\n";
    }
    else 
    {cout << "Error.Nepravilen izbor! \n";
    return 1;
    }
    return 0;
    }
    1-ят проблем е че когато build-на програмата прзореца се скрива преди да съм видял резултата предполагам че трябва да въведа system("pause"); но като го въведа ми искарва следното:

    --------------------Configuration: Cpp4 - Win32 Debug--------------------
    Compiling...
    Cpp4.cpp
    C:\Documents and Settings\vanko\Desktop\compile\Cpp4.cpp(49) : error C2065: 'system' : undeclared identifier
    Error executing cl.exe.
    
    Cpp4.obj - 1 error(s), 0 warning(s)

    Съжелявам ако задавам тъп въпрос но съм начинаещ и не е нужно да обиждате :cool: .

    Сподели този отговор


    Линк към този отговор
    Сподели в други сайтове

    Защо не добавиш още една опция в менюто за изход, да използваш един цикъл do { /* твоят код е тук */ } while (i>0); , който да се върти, докато не се въведе от менюто командата за изход ?

    Редактирано от Ken (преглед на промените)

    Сподели този отговор


    Линк към този отговор
    Сподели в други сайтове

    Защото нямам толкова големи познания, а може ли да ми обясниш защо system("pause")ми дава грешка?

    Сподели този отговор


    Линк към този отговор
    Сподели в други сайтове

    Защото нямам толкова големи познания, а може ли да ми обясниш защо system("pause")ми дава грешка?

    Не мога да то обясня, защото аз не знам какъв е кода ти.

    В този, който си показал липсва system("pause");

    Сподели този отговор


    Линк към този отговор
    Сподели в други сайтове
    #include <iostream.h>
    #include <iomanip.h>
    #include <math.h>
    int main()
    {
    cout << " _______________________  \n";
    cout << "*                       * \n";
    cout << "*   Molq izberete  1-4  * \n";
    cout << "*   Subirane       ->1  * \n";
    cout << "*   Izvajdane      ->2  * \n";
    cout << "*   Umnojenie      ->3  * \n";
    cout << "*   Delenie        ->4  * \n";
    cout << "*_______________________*  \n";
    cout << "\n" << "\n";
    int i;
    cin >> i;
    if (!cin)
    {cout << "Error.Greshni danni! \n";
    return 1;
    }
    if (i==1||i==2||i==3||i==4)
    {cout <<"Purvoto chislo: ";
    double p;
    cin >> p;
    if (!cin)
    {cout << "Error.Greshni danni! \n";
    return 1;
    }
    cout <<"Vtoroto chislo: ";
    double v;
    cin >> v;
    if (!cin)
    {cout << "Error.Greshni danni! \n";
    return 1;
    }
    double k;
    switch (i)
    {case 1: k=p+v;break;
    case 2: k=p-v;break;
    case 3: k=p*v;break;
    case 4: k=p/v;break;
    }
    cout << setprecision(3) << setiosflags(ios :: fixed) << "Otgovorut e: " << k <<"\n" << "by Inferno16 \n"<<"\n";
    }
    else 
    {cout << "Error.Nepravilen izbor! \n";
    return 1;
    }
    system("pause");
    return 0;
    }
    Редактирано от inferno16 (преглед на промените)

    Сподели този отговор


    Линк към този отговор
    Сподели в други сайтове

    Коя версия на C++ използваш ? Защото при мен с Visual C++ 2010 Express няма грешка за system("pause");

    Ако искаш може да използваш

    cin >> i;

    вместо system("pause");

    А ето и код с цикъл :

    #include <iostream.h>
    #include <iomanip.h>
    #include <math.h>
    
    
    int main()
    {
    			int i;
    	do {
    
    		cout << " _______________________  \n";
    		cout << "*                       * \n";
    		cout << "*   Molq izberete  0-4  * \n";
    		cout << "*   Subirane       ->1  * \n";
    		cout << "*   Izvajdane      ->2  * \n";
    		cout << "*   Umnojenie      ->3  * \n";
    		cout << "*   Delenie        ->4  * \n";
    		cout << "*   Izhod          ->0  * \n";
    		cout << "*_______________________*  \n";
    		cout << "\n" << "\n";
    
    		cin >> i;
    		if (!cin)
    		{cout << "Error.Greshni danni! \n";
    		} else {
    			if (i==1||i==2||i==3||i==4)
    			{cout <<"Purvoto chislo: ";
    				double p;
    				cin >> p;
    				if (!cin) 			{
    					cout << "Error.Greshni danni! \n";
    
    				} else {
    
    					cout <<"Vtoroto chislo: ";
    					double v;
    					cin >> v;
    					if (!cin) 				{
    						cout << "Error.Greshni danni! \n";
    					} else {
    						double k;
    						switch (i)
    						{case 1: k=p+v;break;
    						case 2: k=p-v;break;
    						case 3: k=p*v;break;
    						case 4: k=p/v;break;
    						}
    						cout << setprecision(3) << setiosflags(ios :: fixed) << "Otgovorut e: " << k <<"\n" << "by Inferno16 \n"<<"\n";
    					}
    				}
    			}
    			else 
    			{cout << "Error.Nepravilen izbor! \n";
    			}
    
    		}
    
    	}
    	
    	while (i>0);
    
    	return 0;
    }
    

    Сподели този отговор


    Линк към този отговор
    Сподели в други сайтове

    Мале много съм отнесен това ли си имал в предвид с това

    while (i>0);

    , който да се върти, докато не се въведе от менюто командата за изход ?

    изобщо не се сетих.Благодаря много имам още 1 въпрос може ли да го публикувам в някой сайт като те добавя в кредитите? Редактирано от inferno16 (преглед на промените)

    Сподели този отговор


    Линк към този отговор
    Сподели в други сайтове

    Мале много съм отнесен това ли си имал в предвид с това изобщо не се сетих.Благодаря много имам още 1 въпрос може ли да го публикувам в някой сайт като те добавя в кредитите?

    Разбира се.

    Сподели този отговор


    Линк към този отговор
    Сподели в други сайтове
    system() е в cstdlib (stdlib.h)! Може би за това ти дава грешка при опит да ползваш функцията! Някой по-непретенциозни компилатори си я намират сами! :baby:
    • Харесва ми 1

    Сподели този отговор


    Линк към този отговор
    Сподели в други сайтове

    system() е в cstdlib (stdlib.h)! Може би за това ти дава грешка при опит да ползваш функцията! Някой по-непретенциозни компилатори си я намират сами! ;)

    Благодаря и на теб получи се и все пак версията на кен е по-добра ще добавя и тяб в кредитите... :blink:

    Сподели този отговор


    Линк към този отговор
    Сподели в други сайтове

    Не е ли по-правилно да е system('pause') ,вместо system("pause") Аз използвам system('pause'), когато пиша програма за windows os, защото ако го няма терминала веднага се изключва след приключване на програмата.

    Редактирано от BssD (преглед на промените)

    Сподели този отговор


    Линк към този отговор
    Сподели в други сайтове
    BssD, не знам какво и как го пишеш, но не мислиш ли, че бъркаш кавичките? В C/C++ с двойни кавички ("") се означават низовете, а с единични/апострофи ('') символите! В езици като JavaScript няма значение кои използваш!

    Сподели този отговор


    Линк към този отговор
    Сподели в други сайтове

    Регистрирайте се или влезете в профила си за да коментирате

    Трябва да имате регистрация за да може да коментирате това

    Регистрирайте се

    Създайте нова регистрация в нашия форум. Лесно е!

    Нова регистрация

    Вход

    Имате регистрация? Влезте от тук.

    Вход


    ×

    Информация

    Този сайт използва бисквитки (cookies), за най-доброто потребителско изживяване. С използването му, вие приемате нашите Условия за ползване.