• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Mój kalkulator ... proszę o pomoc

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
0 głosów
1,185 wizyt
pytanie zadane 22 września 2016 w C i C++ przez somix12 Nowicjusz (190 p.)

Witam , proszę o pomoc, otóż próbuję zrobić mój pierwszy kalkulator , jednak mam pewien problem...

Proszę  spojrzeć .Kiedy próbuje zastsować instrukcje if dla jednego string to wyskakują mi dwie na raz , niezależnie jaka cyfrę wpiszę. Proszę mnie uświadomić gdzie zrobiłem błąd . Zaznaczę że jestem początkujący w tym całym programowaniu.

Z góry dziękuje


}        
system("cls");
cout << "Somonta 3000  vs 1.000" <<endl;  
cout<<"\n"<<endl;
cout<< "Witaj w swoim osobistym kalkulatorze 'Somoneta'."<<endl;
cout<<"Wpisz swoje imie:";
getline(cin, imie, '\n');
cout<<"Witaj "<<imie<<endl;
cout <<"Zobaczmy co my tu mamy do wyboru:"<<endl;
Sleep(500);
cout <<"1.Dodawanie"<<endl;
Sleep(500);
cout <<"2.Odejmowanie"<<endl;
Sleep(500);
cout <<"3.Mnozenie"<<endl;
Sleep(500);
cout <<"4.Dzielenie"<<endl;
Sleep(500);
cout <<"5.Procenty"<<endl;
cout<<"\n"<<endl;
cout<<"Wybierz 1 , 2 , 3 ,4 , lub 5 : ";
cin>>wybor;
//dodawanie
if(wybor==1);
{
cout<<"Czesc "<<imie<<" Wybrales dodawanie.."<<endl;
}               
//odejmowanie
if(wybor==2);
{
cout<<"Czesc "<<imie<<" Wybrales odejmowanie.."<<endl;
}               
system("pause");
}

 

komentarz 22 września 2016 przez niezalogowany
By dostać pomoc musisz zamieścić swój kod w formie tekstowej. Masz do tego na tym forum specjalną funkcję do wklejania kodu w przystępnej formie.

4 odpowiedzi

+1 głos
odpowiedź 22 września 2016 przez C☺ndzi Stary wyjadacz (12,100 p.)
Dla następnych ifów dopisz else, czyli tak: if(warunekA) {...}  else if (warunekB) {...} else if ....
komentarz 22 września 2016 przez somix12 Nowicjusz (190 p.)
Cześć , próbuje tak jak piszesz , ale wyskakuje mi błąd : 43 D:\kurss x++\BezNazwy1.cpp expected `;' before "else"
komentarz 22 września 2016 przez Geek1234 Użytkownik (570 p.)
spróbuj if(wybor!=1)
komentarz 22 września 2016 przez somix12 Nowicjusz (190 p.)
Już działa , dzięlki za pomoc
+1 głos
odpowiedź 22 września 2016 przez niezalogowany
Usuń średniki przy obu instrukcjach warunkowych if.
komentarz 22 września 2016 przez somix12 Nowicjusz (190 p.)
Ok działa , dzięki :)
komentarz 22 września 2016 przez niezalogowany

Jak już  C☺ndzi zasugerował można by dodać else przy kolejny if'ach. Tzn komputer nie będzie sprawdzał wszystkich warunków gdy jeden się spełni. Taka mała oszczędność obliczeń. PS. Zostaw łapkę tym którzy pomogli :)

    if(wybor==1)
    {
        cout<<"Czesc "<<imie<<" Wybrales dodawanie.."<<endl;
    }
    //odejmowanie
    else if(wybor==2)
    {
        cout<<"Czesc "<<imie<<" Wybrales odejmowanie.."<<endl;
    }

 

komentarz 22 września 2016 przez smh Obywatel (1,940 p.)
Oszczędności obliczeń nie będzie, bo kompilator (przynajmniej z włączonym optymalizowaniem) wie, że jeśli liczba równa jest 1, to nie jest równa 2.
0 głosów
odpowiedź 22 września 2016 przez Geek1234 Użytkownik (570 p.)
Pokaż kod bo na zdjęciu słabo widzę
komentarz 22 września 2016 przez somix12 Nowicjusz (190 p.)
Juz wpisałem .
0 głosów
odpowiedź 14 lutego 2017 przez galezovsky Nowicjusz (230 p.)
Dlaczego nie zastosujesz funkcji warunkowej case?
komentarz 14 lutego 2017 przez niezalogowany
Tutaj nie ma takiej pilnej potrzeby ;)
komentarz 14 lutego 2017 przez galezovsky Nowicjusz (230 p.)
No wiem, że nie ma pilnej potrzeby, ale wydaję mi się, że byłoby o wiele wygodniej, a także byłoby bardziej czytelniej.
komentarz 14 lutego 2017 przez niezalogowany

Od kiedy to:

switch(wybor)
{
case 1:
    {/**/}
    break;
case 2:
    {/**/}
    break;    
case 3:
    {/**/}
    break;
case 4:
    {/**/}
    break;  
}

Jest bardziej wygodne i czytelne niż to:

if(wybor==1) {/**/}
if(wybor==2) {/**/}
if(wybor==3) {/**/}
if(wybor==4) {/**/}

Moim zdaniem switch przy takich prostych instrukcjach to utrudnianie sobie życia. Co innego gdyby było dużo warunków z alternatywą:

if(wybor==1 || wybor==2 || wybor==3 || wybor==4) {/**/}
if(wybor==5 || wybor==6 || wybor==7 || wybor==8) {/**/}
switch(wybor)
{
case 1: case 2: case 3: case 4:
    {/**/}
    break;
case 5: case 6: case 7: case 8:
    {/**/}
    break;    

}

 

Podobne pytania

0 głosów
2 odpowiedzi 248 wizyt
pytanie zadane 27 grudnia 2015 w C i C++ przez konrad99 Gaduła (4,090 p.)
0 głosów
1 odpowiedź 451 wizyt
pytanie zadane 27 stycznia 2017 w C i C++ przez vega Użytkownik (510 p.)
0 głosów
1 odpowiedź 506 wizyt

93,188 zapytań

142,204 odpowiedzi

322,028 komentarzy

62,516 pasjonatów

Advent of Code 2024

Top 15 użytkowników

  1. 2817p. - dia-Chann
  2. 2769p. - Łukasz Piwowar
  3. 2759p. - Łukasz Eckert
  4. 2704p. - Tomasz Bielak
  5. 2678p. - Łukasz Siedlecki
  6. 2666p. - rucin93
  7. 2627p. - CC PL
  8. 2485p. - Marcin Putra
  9. 2418p. - Michal Drewniak
  10. 2367p. - Adrian Wieprzkowicz
  11. 2317p. - Mikbac
  12. 2156p. - Anonim 3619784
  13. 2127p. - Michał Telesz
  14. 1733p. - rafalszastok
  15. 1628p. - Dominik Łempicki (kapitan)
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...