StuFfii Temat założony przez niniejszego użytkownika |
Kalkulator » 2013-03-07 21:15:13 #include <iostream> #include <windows.h> #include <math.h> #include <conio.h>
int main() { HANDLE kolor; kolor = GetStdHandle( STD_OUTPUT_HANDLE ); std::cout << "" << std::endl; SetConsoleTextAttribute( kolor, 11 ); std::cout << " <[[ KALKULATOR V.5 ( wersja beta) ]]>" << std::endl; SetConsoleTextAttribute( kolor, 2 ); std::cout << " by Grzegorz Wieclawik" << std::endl << std::endl; SetConsoleTextAttribute( kolor, 14 ); std::cout << "||============================||" << std::endl; SetConsoleTextAttribute( kolor, 12 ); std::cout << "|| [1]-dodawanie ||" << std::endl; SetConsoleTextAttribute( kolor, 9 ); std::cout << "|| [2]-odejmowanie ||" << std::endl; SetConsoleTextAttribute( kolor, 13 ); std::cout << "|| [3]-mnozenie ||" << std::endl; SetConsoleTextAttribute( kolor, 11 ); std::cout << "|| [4]-dzielenie ||" << std::endl; SetConsoleTextAttribute( kolor, 10 ); std::cout << "|| [5]-podziel i podaj reszte ||" << std::endl; SetConsoleTextAttribute( kolor, 15 ); std::cout << "|| [6]-potegi ||" << std::endl; SetConsoleTextAttribute( kolor, 14 ); std::cout << "||============================||" << std::endl << std::endl; int klik = klik; SetConsoleTextAttribute( kolor, 2 ); std::cout << "Kazdy wpis zatwierdz Enter-em" << std::endl << std::endl; do { std::cout << "Wybierz dzialanie :" << std::endl; int dzialanie; std::cin >> dzialanie; switch( dzialanie ) { case 1: std::cout << "-|-|-|- wybrales dodawanie -|-|-|-" << std::endl; SetConsoleTextAttribute( kolor, 2 ); std::cout << "Podaj skladnik :" << std::endl; int a; std::cin >> a; SetConsoleTextAttribute( kolor, 11 ); std::cout << "Podaj skladnik :" << std::endl; int b; std::cin >> b; std::cout << a << "+" << b << "=" << a + b << std::endl; std::cout << "Twoj wynik wynosi = " << a + b << std::endl; std::cout << "" << std::endl; break; case 2: std::cout << "-|-|-|- wybrales odejmowanie -|-|-|-" << std::endl; SetConsoleTextAttribute( kolor, 2 ); std::cout << "Podaj odjemna :" << std::endl; int a; std::cin >> a; SetConsoleTextAttribute( kolor, 11 ); std::cout << "Podaj odjemnik :" << std::endl; int b; std::cin >> b; std::cout << a << "-" << b << "=" << a - b << std::endl; std::cout << "Twoj wynik wynosi = " << a - b << std::endl; std::cout << "" << std::endl; break; std::cout << "-|-|-|- wybrales mnozenie -|-|-|-" << std::endl; SetConsoleTextAttribute( kolor, 2 ); std::cout << "Podaj czynnik :" << std::endl; int a; std::cin >> a; SetConsoleTextAttribute( kolor, 11 ); std::cout << "Podaj czynnik :" << std::endl; int b; std::cin >> b; std::cout << a << "*" << b << "=" << a + b << std::endl; std::cout << "Twoj wynik wynosi = " << a * b << std::endl; std::cout << "" << std::endl; break; case 4: std::cout << "-|-|-|- wybrales dzielenie -|-|-|-" << std::endl; SetConsoleTextAttribute( kolor, 2 ); std::cout << "Podaj dzielna :" << std::endl; int a; std::cin >> a; SetConsoleTextAttribute( kolor, 11 ); std::cout << "Podaj dzielnik :" << std::endl; int b; std::cin >> b; if( b == 0 ) std::cout << " << Nie dzieli sie przez 0 !!! >> " << std::endl; if( b != 0 ) std::cout << a << ":" << b << "=" << a / b << std::endl; std::cout << "Twoj wynik wynosi = " << a / b << std::endl; std::cout << "" << std::endl; break; case 5: if( b == 0 ) std::cout << " <<Nie dzieli sie przez 0 !!!>> " << std::endl; if( b != 0 ) std::cout << "-|-|-|- wybrales dzielenie z reszta -|-|-|-" << std::endl; SetConsoleTextAttribute( kolor, 2 ); std::cout << "Podaj dzielna :" << std::endl; int a; std::cin >> a; SetConsoleTextAttribute( kolor, 11 ); std::cout << "Podaj dzielnik :" << std::endl; int b; std::cin >> b; if( b == 0 ) std::cout << " <<Nie dzieli sie przez 0 !!!>> " << std::endl; if( b != 0 ) std::cout << a << ":" << b << "=" << a % b << std::endl; std::cout << "Twoj wynik wynosi = " << a / b << std::endl; std::cout << "Reszta to " << a % b << std::endl; std::cout << "" << std::endl; std::cout << a << ":" << b << "=" << a / b << " reszta = " << a % b << std::endl; break; } SetConsoleTextAttribute( kolor, 2 ); std::cout << "Jezeli chcesz zakonczyc wcisnij 1, jezeli chcesz kontynulowac podaj inna liczbe " << std::endl << std::endl; std::cin >> klik; SetConsoleTextAttribute( kolor, 12 ); std::cout << "========================================================================" << std::endl; std::cout << "" << std::endl; } while( klik != 1 ); std::cout << "Koniec"; getch(); return 0; } Ta trochę długi kod(dla zaawansowanych programistów: według mnie kod jest długi więc prosze się nie czepiać), ale do rzeczy. Komplikator pokazuje mi tylko 17 error-ów związanych z funkcą int. Co robie żle? (Jak się bierze kod w ramkę?) |
|
Wasilek |
» 2013-03-07 21:24:56 Po pierwsze ... http://cpp0x.pl/kursy/Kurs-STC/169 ... bez tego okropnie się czyta twój kod :) Jeżeli chcesz, aby ludzie ci pomogli to po pierwsze wsadź swój kod w [cpp]...[/cpp] to naprawdę nic nie kosztuje. |
|
krzyk |
» 2013-03-07 21:30:41 int to nie funkcja tylko typ. Wielokrotnie deklarujesz zmienną a i b,dodaj klamry do case. case 1: { .... break; } case 2: { .... break; } |
|
StuFfii Temat założony przez niniejszego użytkownika |
» 2013-03-07 21:40:12 Ok , teraz mi się czepia o "case" . erorr. case 2, case 3... WTF? |
|
krzyk |
» 2013-03-07 22:01:36 Jeśli zrobiłeś tak jak napisałem to powinieś mieć znowu problemy z int a nie z case. Masz straszny chaos w kodzie najlepiej by było gdybyś napisał jedno działanie które będzie prawidłowo się wykonywać a dopiero potem następne.(kopiuj wklej jest dla trochę bardziej doświadczonych) |
|
Berux |
» 2013-03-07 22:01:46 @StuFfii A usunąłeś definicje zmiennych a i b w każdym case'u i zamiast tego zdefiniowałeś je przed switch'em? Jeśli to zrobiłeś, to nie powinieneś zobaczyć błędów. Ja tak zrobiłem i błędów nie mam. Wspomniał o tym "krzyk": int to nie funkcja tylko typ. Wielokrotnie deklarujesz zmienną a i b...
|
@up Sorry, ale pisałem post wtedy, gdy ty skończyłeś pisać swój, i to dlatego piszemy o tym samym. Sorry :) |
|
StuFfii Temat założony przez niniejszego użytkownika |
» 2013-03-07 22:33:24 No ale w każdym case jest (chyba) definicja a i b.
case 3:
std::cout << "-|-|-|- wybrales mnozenie -|-|-|-" << std::endl;
SetConsoleTextAttribute( kolor, 2 ); std::cout << "Podaj czynnik :" << std::endl; int a; std::cin >> a;
podajcie o co konkretnie chodzi. pisze mi że jest błąd z case 2, case 3 ,itd, ale nie ma błędu w case 1 .
|
|
SeaMonster131 |
» 2013-03-08 12:34:27 Dodaj te klamry jak napisał @krzyk do każdego case'a, a nie powinno być już żadnego błędu. |
|
« 1 » 2 |