• 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

0 głosów
1,480 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 340 wizyt
pytanie zadane 27 grudnia 2015 w C i C++ przez konrad99 Gaduła (4,090 p.)
0 głosów
1 odpowiedź 700 wizyt
pytanie zadane 27 stycznia 2017 w C i C++ przez vega Użytkownik (510 p.)
0 głosów
1 odpowiedź 715 wizyt

93,631 zapytań

142,556 odpowiedzi

323,056 komentarzy

63,139 pasjonatów

Advent of Code 2025

Top 15 użytkowników

  1. 2900p. - dia-Chann
  2. 2870p. - DziarnowskiJ
  3. 2827p. - Łukasz Piwowar
  4. 2783p. - raydeal
  5. 2758p. - Adrian Wieprzkowicz
  6. 2713p. - rucin93
  7. 2579p. - Łukasz Eckert
  8. 2523p. - Maurycy W
  9. 2459p. - CC PL
  10. 2082p. - Michal Drewniak
  11. 1885p. - robwarsz
  12. 1851p. - Mariusz Fornal
  13. 1811p. - rafalszastok
  14. 1600p. - Rafał Trójniak
  15. 1588p. - Tomasz Bielak
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

Kursy INF.02 i INF.03
...