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

question-closed C++ Switch w switchu

Object Storage Arubacloud
0 głosów
1,209 wizyt
pytanie zadane 12 listopada 2017 w C i C++ przez Szczena Nowicjusz (160 p.)
zamknięte 17 listopada 2017 przez Szczena

Witam!
Jestem początkującym programistą, jeśli mogę się tak nazwać, bo w zasadzie robię to od kilku miesięcy za sprawą lekcji informatyki w klasie 2 licum. Otóż miałem zrobić uniwersalny kalkulator obliczający rzeczy podane nam przez nauczycielkę. Jedną z tych rzeczy chciałem zrobić w switchu, a ta z kolei znajdowała by się w innym switchu. Stąd pytanie czy tak w ogóle można? Otóż program wysypuje się właśnie w tym miejscu. Otóż po wybraniu opcji numer 11 program po prostu zaczyna liczyć i daje jakiś wynik. Gdy zmieniłem drugą zmienną w switchu z CHAR na INT program widzi tylko 1 opcje z 4 i wykonuję tylko ja. Poniżej zamieszczam link do pastebin'a. Mam nadzieje, że dobrze wytłumaczyłem problem i liczę że uzyskam pomoc smiley.

https://pastebin.com/FJnf1HMR

komentarz zamknięcia: Naprawiłem problem samemu

2 odpowiedzi

0 głosów
odpowiedź 12 listopada 2017 przez obl Maniak (51,280 p.)
edycja 12 listopada 2017 przez obl

Używasz zmiennych, które nie zostały zainicjalizowane wartością, poza tym po co w funkcji:

float srednia(float a, float n)
{
    float suma=0;
    float sr;
    cout<<"podaj ile liczb potrzebne do sredniej "<<endl;
    cin>>n;
    for(int i=0; i<n; i++)
    {
        cout<<"podaj liczby do sredniej: "<<endl;
        cin>>a;
        suma+=a;
 
 
    }
sr= suma/n;
    return sr;
 
}

ci te argumenty a, i b skoro je inicjalizujesz w jej wnętrzu?

Lepiej to zrobić tak:

float srednia()
{
    float a, n;
    float suma=0;
    float sr;
    cout<<"podaj ile liczb potrzebne do sredniej "<<endl;
    cin>>n;
    for(int i=0; i<n; i++)
    {
        cout<<"podaj liczby do sredniej: "<<endl;
        cin>>a;
        suma+=a;
 
 
    }
sr= suma/n;
    return sr;
 
}

To samo dotyczy pozostałych twoich funkcji.

Edit:

Poza tym case '11' nie zadziała ci tak jak powinno, bo przecież y jest typu char więc przechwyci jeden znak a nie dwa znaki. Wpiszesz dwa znaki czyli 11 to jeden zostanie zdjęty i przypisany do y-ka a drugi zostanie zdjęty przy kolejnym cin-ie.

komentarz 12 listopada 2017 przez Szczena Nowicjusz (160 p.)
Tak jak już mówiłem próbowałem inaczej pisać casy, albo zmienić typ na int. Niestety program dalej się sypie i widzi tylko jedną możliwość pod numerem 11
komentarz 12 listopada 2017 przez obl Maniak (51,280 p.)
Ale ten drugi switch to nowa lista wyboru więc może zaczynać się od 1 wzwyż.
komentarz 12 listopada 2017 przez Szczena Nowicjusz (160 p.)
Wciąż dzieje się to samo
0 głosów
odpowiedź 17 listopada 2017 przez Szczena Nowicjusz (160 p.)
Okej, okazało się że klamry były źle postawione. Wszystko zrobione, zamykam temat

Podobne pytania

0 głosów
1 odpowiedź 911 wizyt
0 głosów
0 odpowiedzi 213 wizyt
pytanie zadane 16 października 2016 w C i C++ przez Jakub Olszak Użytkownik (540 p.)
0 głosów
3 odpowiedzi 678 wizyt
pytanie zadane 19 marca 2017 w C i C++ przez akiihombre Początkujący (250 p.)

92,551 zapytań

141,399 odpowiedzi

319,531 komentarzy

61,938 pasjonatów

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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...