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

Prosty kalkulator, lekcja 14

Ostatnio zmodyfikowano 2013-11-09 12:40
Autor Wiadomość
ow.verysweet
Temat założony przez niniejszego użytkownika
Prosty kalkulator, lekcja 14
» 2013-11-07 23:39:00
Hej, cześć Wam, mam takie jedno glupie pytanie odnośnie mojego kalkulatora

tu kod:


C/C++
#include <iostream>
using namespace std;

int main()
{
   
    cout << "Witaj w moim prostym kalkulatorze" << endl;
   
   
    double a;
    double b;
   
    char z, x, c, v;
    z = +
    x = -
    c = *
    v = /
   
    cin.clear();
    cin.sync();
    cout << "Podaj a:" << endl;
    cin >> a;
   
   
    cin.clear();
    cin.sync();
    cout << "Podaj b:" << endl;
    cin >> b;
   
    cin.clear();
    cin.sync();
    cout << "Podaj znak" << endl;
    cin >> A;
   
    switch( A )
    {
        case +:
       
        char A = '+';
        cout << "a + b =" << a + b << endl;
        break;
       
        case -:
       
       
        cout << "a - b =" << a - b << endl;
        break;
       
        case *:
       
        cout << "a * b =" << a * b << endl;
        break;
       
        case /:
       
        cout << "a + b =" << a + b << endl;
        break;
       
    }
   
    cout << "Dzieki za wybranie mojego kalkulatora ziooom" << endl;
   
    return 0;
   
   
}



 
co wpisac ( TUTAJ )

    cin.clear();
    cin.sync();
    cout << "Podaj znak" << endl;
    cin >> ( TUTAJ ) ;

zeby dzialalo kiedy juz jest polecenie ,zeby podac znak ktory wykorzystamy? szukam szukam i nie moge znalezc kalkulatora podobnie zrobionego do mojego :/

pozdrawiam, dziekuje za wszelaka pomoc :))
P-95610
Wasilek
» 2013-11-08 00:11:20
Zadeklaruj zmienną "A" przed wpisywaniem do niej wartości. Wywal pozostałe zmienne "char" gdyż są one niepotrzebne. Jeżeli chcesz porównać znak to korzystasz z 'znak'.
Przykład:
C/C++
if( x == 'a' ) // ...
Tak musisz porównywać zmienną do znaków w switchu.

PS. dla '/' masz dodawanie ;)
P-95616
akwes
» 2013-11-08 00:14:18
Popraw formatowanie posta. Jak to zrobić dowiesz się z czerwonej ramki pod Twoim postem.
P-95617
ow.verysweet
Temat założony przez niniejszego użytkownika
» 2013-11-08 06:18:39
Da sie to zrobić z użyciem switch .. case? :))
P-95622
den93
» 2013-11-08 06:31:43
Da sie to zrobić z użyciem switch .. case?
Tak.
C/C++
z = +
x = -
c = *
v = /
Gdzie średniki?
Wiesz co to jest char? Np. to: '*', '-' ale napewno nie to *, -, +, /.

C/C++
switch( A )
{
    case +: // powinno być: '+'
    //...
    break;
    case -: // analogicznie
    //...
    break;
   
    case *:
    //...
    break;
   
    case /:
    //...
    break;
   
}
P-95623
ow.verysweet
Temat założony przez niniejszego użytkownika
» 2013-11-08 06:36:12
Kocham was normalnie :)) jesteście mistrzami!
a ja jakies pol godziny temu wstalem bo nie moglem sie doczekac co tam wymysliliscie, koncowy kod :))

C/C++
#include <iostream>
using namespace std;

int main()
{
   
    cout << "Witaj w moim prostym kalkulatorze" << endl;
   
   
    double a;
    double b;
    char A;
   
   
    cin.clear();
    cin.sync();
    cout << "Podaj a:" << endl;
    cin >> a;
   
   
    cin.clear();
    cin.sync();
    cout << "Podaj b:" << endl;
    cin >> b;
   
    cin.clear();
    cin.sync();
    cout << "Podaj znak" << endl;
    cin >> A;
   
    if( A == '+' )
    {
        cout << "a + b =" << a + b << endl;
    }
   
    if( A == '-' )
    {
        cout << "a - b =" << a - b << endl;
    }
   
    if( A == '*' )
    {
        cout << "a * b =" << a * b << endl;
    }
   
    if( A == '/' )
    {
        cout << "a / b =" << a / b << endl;
    }
   
   
    cout << "Dzieki za wybranie mojego kalkulatora ziooom" << endl;
   
    return 0;
   
   
   
}


wyszlo mi tak :)) chyba dziala! hmmm, takie pytanie, po co w takim razie nam uzywac else, jezeli wszedzie mozna wstawic if? :>
P-95624
ow.verysweet
Temat założony przez niniejszego użytkownika
» 2013-11-08 06:43:11
tu z uzyciem case

C/C++
#include <iostream>
using namespace std;

int main()
{
   
    cout << "Witaj w moim prostym kalkulatorze" << endl;
   
   
    double a;
    double b;
   
    char z, x, c, v;
    z = '+';
    x = '-';
    c = '*';
    v = '/';
   
    cin.clear();
    cin.sync();
    cout << "Podaj a:" << endl;
    cin >> a;
   
   
    cin.clear();
    cin.sync();
    cout << "Podaj b:" << endl;
    cin >> b;
   
    cin.clear();
    cin.sync();
    cout << "Podaj znak" << endl;
    cin >> z, x, c, v;
   
    switch( z, x, c, v == '+', '-', '*', '/' )
    {
    case '+':
       
        cout << "a + b =" << a + b << endl;
        break;
       
    case '-':
       
       
        cout << "a - b =" << a - b << endl;
        break;
       
    case '*':
       
        cout << "a * b =" << a * b << endl;
        break;
       
    case '/':
       
        cout << "a / b =" << a / b << endl;
        break;
       
    }
   
    cout << "Dzieki za wybranie mojego kalkulatora ziooom" << endl;
   
    return 0;
   
   
}



pytanie, co wpisac do     switch(z, x, c, v == '+', '-', '*', '/') ,zeby kazdej zmiennej przypisac ten switch? :)) lece do szkoly, dzieki za odpowiedzi!
P-95625
den93
» 2013-11-08 06:50:13
po co w takim razie nam uzywac else, jezeli wszedzie mozna wstawic if?
Wzajemne wykluczanie. Po co niepotrzebnie sprawdzać warunki jeśli z góry wiadomo, że coś jest fałszem?

C/C++
char litera = 'a';
if( litera == 'a' )
{
    // jeśli...
}
else if( litera == 'b' )
{
    // w przeciwnym wypadku jeśli...
}
else
{
    // jeśli żaden z wcześniejszych
}

char cyfra = '1';
if( cyfra == '1' ) /* to cośtam */;

if( cyfra == '2' ) /* to cośtam */; // niepotrzebne sprawdzanie (jeśli 1 to napewno nie 2)

if( cyfra == '3' ) /* to cośtam */; // -----------//----------- (jeśli 1 lub 2 to napewno nie 3)


C/C++
cin >> z, x, c, v;

switch( z, x, c, v == '+', '-', '*', '/' )

Co to jest? to się w ogóle kompiluje?..
P-95626
« 1 » 2
  Strona 1 z 2 Następna strona