DEV-C++ Działanie programu na innym komputerze
Ostatnio zmodyfikowano 2014-02-08 23:05
Robek94 Temat założony przez niniejszego użytkownika |
DEV-C++ Działanie programu na innym komputerze » 2014-02-07 14:32:50 Program na innym komputerze włącza się, lecz po wciśnięciu klawisza od razu się wyłącza bez komunikatu. W Dev-C++ 5.6.0 utworzyłem plik *.cpp wybrałem BASIC konsolowa aplikacja (MS-DOM) C++. W programie mam ustawione: MinGW GCC 4.8.1 32bit release System: win7 32bit. #include <iostream> #include <cstdlib> #include <windows.h> #include <math.h>
using namespace std;
int main() { HANDLE hOut; hOut = GetStdHandle( STD_OUTPUT_HANDLE ); int wybor, liczba, liczba2, liczba3, liczba4, liczba5, koniec; float a, b, c, h, sina, r, pi = 3.14, alfa; do { SetConsoleTextAttribute( hOut, BACKGROUND_RED ); cout << "KALKULATOR\n\n"; SetConsoleTextAttribute( hOut, FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_RED ); cout << "\n[1] - kalkulator" << "\n\nFigury:\n" << "\n[2] - kwadrat" << "\n[3] - prostokat" << "\n[4] - trojkat" << "\n[5] - kolo" << "\n\nPodaj numer: "; cin.clear(); cin.sync(); cin >> wybor; if( wybor > 10 ) do { cout << "\n\nNumer niepoprawny.\n\nPodaj numer od 1 do 10: "; cin.clear(); cin.sync(); cin >> wybor; } while( wybor > 10 ); switch( wybor ) { case 1: { cout << "\n[1] - dodawanie " << "\n[2] - odejmowanie" << "\n[3] - mnozenie" << "\n[4] - dzielenie" << "\n\nPodaj numer: "; cin.clear(); cin.sync(); cin >> liczba; if( liczba > 4 ) do { cout << "\n\nNumer niepoprawny.\nPodaj numer od 1 do 4: "; cin.clear(); cin.sync(); cin >> liczba; } while( liczba > 4 ); switch( liczba ) { case 1: { cout << "\n*******************************************\n\t\tDODAWANIE\n*******************************************\n" << "\nPierwsza liczba: "; cin.clear(); cin.sync(); cin >> a; cout << "Druga liczba: "; cin.clear(); cin.sync(); cin >> b; cout << "\nWynik: " << a + b << "\n-------------------------------------------\n\n\n"; break; } case 2: { cout << "\n*******************************************\n\t\tODEJMOWANIE\n*******************************************\n" << "\nPierwsza liczba: "; cin.clear(); cin.sync(); cin >> a; cout << "Druga liczba: "; cin.clear(); cin.sync(); cin >> b; cout << "\nWynik: " << a - b << "\n-------------------------------------------\n\n\n"; break; } case 3: { cout << "\n*******************************************\n\t\tMNOZENIE\n*******************************************\n" << "\nPierwsza liczba: "; cin.clear(); cin.sync(); cin >> a; cout << "Druga liczba: "; cin.clear(); cin.sync(); cin >> b; cout << "\nWynik: " << a * b << "\n-------------------------------------------\n\n\n"; break; } case 4: { cout << "\n*******************************************\n\t\tDZIELENIE\n*******************************************\n" << "\nPierwsza liczba: "; cin.clear(); cin.sync(); cin >> a; cout << "Druga liczba: "; cin.clear(); cin.sync(); cin >> b; if( b == 0 ) do { cout << "\nNie mozna dzielic przez 0. \nPodaj inna liczbe: "; cin.clear(); cin.sync(); cin >> b; } while( b == 0 ); cout << "\nWynik: " << a / b << "\n-------------------------------------------\n\n\n"; break; } } break; } case 2: { cout << "\n[1] - obwod kwadratu" << "\n[2] - pole kwadratu" << "\n[3] - przekatna kwadratu" << "\n\nPodaj numer: "; cin.clear(); cin.sync(); cin >> liczba2; if( liczba2 > 3 ) do { cout << "\n\nNumer niepoprawny.\nPodaj numer od 1 do 3: "; cin.clear(); cin.sync(); cin >> liczba2; } while( liczba2 > 3 ); switch( liczba2 ) { case 1: { cout << "\n*******************************************\n\t\tOBWOD KWADRATU\n*******************************************\n" << "\nPodaj a: "; cin.clear(); cin.sync(); cin >> a; cout << "\nWynik: " << 4 * a << "\n-------------------------------------------\n\n\n"; break; } case 2: { cout << "\n*******************************************\n\t\tPOLE KWADRATU\n*******************************************\n" << "\nPodaj a: "; cin.clear(); cin.sync(); cin >> a; cout << "\nWynik: " << a * a << "\n-------------------------------------------\n\n\n"; break; } case 3: { cout << "\n*******************************************\n\t\tPRZEKATNA KWADRATU\n*******************************************\n" << "\nPodaj a: "; cin.clear(); cin.sync(); cin >> a; cout << "\nWynik: " << a * sqrt( 2 ) << "\n-------------------------------------------\n\n\n"; break; } } break; } case 3: { cout << "\n[1] - obwod prostokata" << "\n[2] - pole prostokata" << "\n\nPodaj numer: "; cin.clear(); cin.sync(); cin >> liczba3; if( liczba3 > 2 ) do { cout << "\n\nNumer niepoprawny.\nPodaj numer od 1 do 2: "; cin.clear(); cin.sync(); cin >> liczba3; } while( liczba3 > 2 ); switch( liczba3 ) { case 1: { cout << "\n*******************************************\n\t\tOBWOD PROSTOKATA\n*******************************************\n" << "\nPodaj a: "; cin.clear(); cin.sync(); cin >> a; cout << "Druga liczba: "; cin.clear(); cin.sync(); cin >> b; cout << "\nWynik: " <<( 2 * a ) +( 2 * b ) << "\n-------------------------------------------\n\n\n"; break; } case 2: { cout << "\n*******************************************\n\t\tPOLE PROSTOKATA\n*******************************************\n" << "\nPodaj a: "; cin.clear(); cin.sync(); cin >> a; cout << "Druga liczba: "; cin.clear(); cin.sync(); cin >> b; cout << "\nWynik: " << a * b << "\n-------------------------------------------\n\n\n"; break; } } break; } case 4: { cout << "\n[1] - obwod trojkata" << "\n[2] - pole trojkata " << "\n[3] - pole trojkata (kat alfa)" << "\n[4] - pole trojkata rownobocznego" << "\n[5] - wysokosc trojkata rownobocznego" << "\n\nPodaj numer: "; cin.clear(); cin.sync(); cin >> liczba4; if( liczba4 > 5 ) do { cout << "\n\nNumer niepoprawny.\nPodaj numer od 1 do 5: "; cin.clear(); cin.sync(); cin >> liczba4; } while( liczba4 > 5 ); switch( liczba4 ) { case 1: { cout << "\n*******************************************\n\t\tOBWOD TROJKATA\n*******************************************\n" << "\nPodaj a: "; cin.clear(); cin.sync(); cin >> a; cout << "Podaj b "; cin.clear(); cin.sync(); cin >> b; cout << "Podaj c: "; cin.clear(); cin.sync(); cin >> c; cout << "\nWynik: " << a + b + c << "\n-------------------------------------------\n\n\n"; break; } case 2: { cout << "\n*******************************************\n\t\tPOLE TROJKATA\n*******************************************\n" << "\nPodaj a: "; cin.clear(); cin.sync(); cin >> a; cout << "Podaj h: "; cin.clear(); cin.sync(); cin >> h; cout << "\nWynik: " <<( a * h ) / 2 << "\n-------------------------------------------\n\n\n"; break; } case 3: { cout << "\n*******************************************\n\t\tPOLE TROJKATA (KAT ALFA)\n*******************************************\n" << "\nPodaj a: "; cin.clear(); cin.sync(); cin >> a; cout << "Podaj b: "; cin.clear(); cin.sync(); cin >> b; cout << "Podaj sin alfa: "; cin.clear(); cin.sync(); cin >> sina; cout << "\nWynik: " <<( a * b * sina ) / 2 << "\n-------------------------------------------\n\n\n"; break; } case 4: { cout << "\n*******************************************\n\t\tPOLE TROJKATA ROWNOBOCZNEGO\n*******************************************\n" << "\nPodaj a: "; cin.clear(); cin.sync(); cin >> a; cout << "\nWynik: " <<( a * a * sqrt( 3 ) ) / 4 << "\n-------------------------------------------\n\n\n"; break; } case 5: { cout << "\n*******************************************\n\t\tWYSOKOSC TROJKATA ROWNOBOCZNEGO\n*******************************************\n" << "\nPodaj a: "; cin.clear(); cin.sync(); cin >> a; cout << "\nWynik: " <<( a * sqrt( 3 ) ) / 2 << "\n-------------------------------------------\n\n\n"; break; } } break; } case 5: { cout << "\n[1] - obwod kola" << "\n[2] - pole kola" << "\n[3] - dlugosc luku" << "\n[4] - pole wycinka" << "\n\nPodaj numer: "; cin.clear(); cin.sync(); cin >> liczba5; if( liczba5 > 4 ) do { cout << "\n\nNumer niepoprawny.\nPodaj numer od 1 do 4: "; cin.clear(); cin.sync(); cin >> liczba5; } while( liczba5 > 4 ); switch( liczba5 ) { case 1: { cout << "\n*******************************************\n\t\tOBWOD KOLA\n*******************************************\n" << "\nPodaj r: "; cin.clear(); cin.sync(); cin >> r; cout << "\nWynik: " << 2 * pi * r << "\n-------------------------------------------\n\n\n"; break; } case 2: { cout << "\n*******************************************\n\t\tPOLE KOLA\n*******************************************\n" << "\nPodaj r: "; cin.clear(); cin.sync(); cin >> a; cout << "\nWynik: " << pi * r * r << "\n-------------------------------------------\n\n\n"; break; } case 3: { cout << "\n*******************************************\n\t\tDLUGOSC LUKU\n*******************************************\n" << "\nPodaj r: "; cin.clear(); cin.sync(); cin >> r; cout << "Podaj kat alfa: "; cin.clear(); cin.sync(); cin >> alfa; cout << "\nWynik: " <<( alfa * 2 * pi * r ) / 360 << "\n-------------------------------------------\n\n\n"; break; } case 4: { cout << "\n*******************************************\n\t\tPOLE WYCINKA\n*******************************************\n" << "\nPodaj r: "; cin.clear(); cin.sync(); cin >> r; cout << "Podaj kat alfa: "; cin.clear(); cin.sync(); cin >> alfa; cout << "\nWynik: " <<( alfa * pi * r * r ) / 360 << "\n-------------------------------------------\n\n\n"; break; } } break; } } cout << "[1] - licz dalej\n[2] - zakoncz \n\nCo wybierasz?: "; cin >> koniec; system( "cls" ); } while( koniec != 2 ); return 0; } |
|
MrPoxipol |
» 2014-02-07 14:34:53 Podaj log kompilacji (Czyli to jak jest gcc wywoływane). |
|
Robek94 Temat założony przez niniejszego użytkownika |
» 2014-02-07 14:51:21 Wykonywanie g++.exe... g++.exe "C:\Users\Robek\Desktop\Projekt 0.5a.cpp" -o "C:\Users\Robek\Desktop\Projekt 0.5a.exe" -g3 -I"C:\Program Files\Dev-Cpp\MinGW32\include" -I"C:\Program Files\Dev-Cpp\MinGW32\mingw32\include" -I"C:\Program Files\Dev-Cpp\MinGW32\lib\gcc\mingw32\4.8.1\include" -I"C:\Program Files\Dev-Cpp\MinGW32\lib\gcc\mingw32\4.8.1\include\c++" -L"C:\Program Files\Dev-Cpp\MinGW32\lib" -L"C:\Program Files\Dev-Cpp\MinGW32\mingw32\lib" -static-libstdc++ -static-libgcc -g3 Compilation succeeded in 3,03 seconds |
|
MrPoxipol |
» 2014-02-07 15:05:18 Kompiluj program w trybie Release. |
|
Robek94 Temat założony przez niniejszego użytkownika |
» 2014-02-07 15:32:12 To jest ten tryb? MinGW GCC 4.8.1 32bit release. Są jeszcze debug i profiling
W relase właśnie nie działa
W opcjach kompilatora mam zaznaczone: "Dodaj te polecenia do wiersza poleceń konsolidatora: -static-libstdc++ -static-libgcc"
|
|
MrPoxipol |
» 2014-02-07 15:37:26 Jeśli możesz to spróbuj zbudować z poziomu konsoli poleceniem: g++ plik.cpp -oprogram -O2 Jak nie masz GCC w zmiennej systemowej PATH to dodaj (jeśli nie wiesz jak to zrobić, znajdziesz informacje w google). |
|
Robek94 Temat założony przez niniejszego użytkownika |
» 2014-02-08 14:42:40 Wyrzuciłem Devc++, teraz mam CodeBlocks
Poprawiło się tylko, ze wywala do pulpitu, gdy policzy się działanie. |
|
MrPoxipol |
» 2014-02-08 23:05:35 Bo nie pauzujesz programu. |
|
« 1 » |