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

Problem z kodem

0 głosów
386 wizyt
pytanie zadane 26 grudnia 2015 w C i C++ przez szxc Nowicjusz (200 p.)
Witał. Napisałem prosty kod który ma za zadania pomagać mi obliczać procentowy unik, blok i bonusowe zdrowie. Wygląda on tak http://wklej.org/id/1886600/

Gdy chcemy obliczyć blok i unik musimy podać wartość zmiennej x i y.

Natomiast aby obliczyć bonusowe zdrowie potrzebujemy wartość tylko JEDNEJ zmiennej. No i tu pojawia sie problem że gdy klikam opcje nr 3(bonusowe zdrowie) pyta mnie o wszystkie zmienne zawarte w case 1-3(poziom, unik, blok), a ma tylko pytać o poziom i wykonać przypisany do tego wzór i zakończyć działanie bez wykonywania następnych zadań zawartych w switch'u. Ciężko mi to wytłumaczyć ale myśle ze wyraziłem sie w miare możliwośći jasno. Z góry dziękuje

3 odpowiedzi

0 głosów
odpowiedź 26 grudnia 2015 przez amfa226 Użytkownik (620 p.)
wybrane 28 grudnia 2015 przez szxc
 
Najlepsza

Na samym początku dodam że jestem początkujacym wiedz to co napisze nie musi być poprawne to tak ja bym na Twoim miejscu zrobił że pierw wyświetliło by mi się menu główne i dopiero po wybraniu danego pk 1/2 pytał bym się o poziom postaci i o ilosc uniku/bloku.Lecz w pk 3 pytał byś tylko o poziom postaci bo chyba tylko ona jest potrzebna do wyliczenia bonusowego hp rozwiazalo by to Twój problem lecz kod byłby dluższy. Jak wyżej koledzy wspomnieli brakuje Ci break; po ostatnim wyborze i return(0); przed }.


 
komentarz 26 grudnia 2015 przez amfa226 Użytkownik (620 p.)
edycja 27 grudnia 2015 przez amfa226
Tak według mnie by to wyglądało

 

#include <iostream>
#include <cstdlib>
#include <windows.h>
using namespace std;

int x,y;
int wybor;

int main()


    {//Okno glowne z wyborem funkcjii
         cout<<"Podaj poziom swojej postaci: ";
         cin>>x;
         system("cls");
         Sleep(500);

    cout << "MENU GLOWNE" << endl;
    cout << "------------------" << endl;
    cout << "Co chcesz obliczyc?" << endl;
    cout << "1. Unik" << endl;
    cout << "2. Blok" << endl;
    cout << "3. Bonusowe zdrowie wraz z poziomem" << endl;

    cout << "Wybierz interesujaca Cie opcje: ";
    cin >> wybor;

    switch(wybor)
    {
    case 1:

        cout<<"Podaj ilosc swojego uniku: ";
        cin>>y;
        cout<<"Poziom posatci: "<<x<<endl;
        cout<<"Unik w procentach: "<<40*x/y;
    break;

    case 2:

        cout<<"Podaj ilosc swojego bloku: ";
        cin>>y;
        cout<<"Poziom posatci: "<<x<<endl;
        cout<<"Blok w procentach: "<<20*x/y;
    break;

    case 3:
        cout<<"Poziom posatci: "<<x<<endl;
        cout<<"Bonusowa ilosc zdrowia: "<<20*(x*1.25);

    }
    getwchar();getwchar();
    return(0);
    }

 

komentarz 28 grudnia 2015 przez szxc Nowicjusz (200 p.)
Dziękuje ślicznie, działa.
komentarz 28 grudnia 2015 przez amfa226 Użytkownik (620 p.)
Nie ma sprawy ;)
+1 głos
odpowiedź 26 grudnia 2015 przez Eryk Andrzejewski Mędrzec (164,260 p.)
Przy ostatnim case nie musi byc breaku.Ty po prostu zapomniales o jednej z klamerek zamykających
0 głosów
odpowiedź 26 grudnia 2015 przez Mesiak Bywalec (2,380 p.)
Brakuje Ci break; przy ostatnim case

Podobne pytania

0 głosów
0 odpowiedzi 233 wizyt
0 głosów
1 odpowiedź 178 wizyt
pytanie zadane 26 listopada 2020 w C i C++ przez batheo Nowicjusz (170 p.)
0 głosów
2 odpowiedzi 2,586 wizyt
pytanie zadane 25 czerwca 2020 w Java przez Paweł123 Nałogowiec (33,540 p.)

93,742 zapytań

142,678 odpowiedzi

323,297 komentarzy

63,328 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

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...