Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Kalkulator

Ostatnio zmodyfikowano 2013-03-13 21:17
Autor Wiadomość
StuFfii
Temat założony przez niniejszego użytkownika
Kalkulator
» 2013-03-07 21:15:13
C/C++
#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ę?)
P-77880
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.
P-77881
krzyk
» 2013-03-07 21:30:41
int to nie funkcja tylko typ.
Wielokrotnie deklarujesz zmienną a i b,dodaj klamry do case.
C/C++
case 1:
{
    ....
    break;
}
case 2:
{
    ....
    break;
}
P-77885
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?
P-77890
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)
P-77892
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 :)
P-77893
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.

   
C/C++
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
.

P-77896
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.
P-77921
« 1 » 2
  Strona 1 z 2 Następna strona