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

C++ SWITCH problem

VPS Starter Arubacloud
0 głosów
373 wizyt
pytanie zadane 1 kwietnia 2016 w C i C++ przez veryhotshark Obywatel (1,620 p.)
#include <iostream>
#include "Kowboj.h"
#include <windows.h>
#include <cstdlib>
#include <conio.h>
#include <cstdio>


using namespace std;


void Poczatek()
{
   Sleep(1000);
   cout<<"-------------------------------"<<endl;
   cout<<"|      GRA   W   KOWBOJE      |"<<endl;
   cout<<"-------------------------------"<<endl;
   Sleep(2000);
   cout<<"Zeby zaatakowac nacisnij : 1"<<endl;
   Sleep(1000);
   cout<<"Zeby zablokowac nacisnij : 2"<<endl;
   Sleep(1000);
   cout<<"Zeby przeladowac nacisnij : 3"<<endl;
   Sleep(1000);
   cout<<"Nacisnij ""enter"" zeby zaczac:";

}

void Menu()
{
   int runda=1;
   int wybor;
   getch(); // pobiera znak z klawiatury zeby zaczac Menu
   cout<<"\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\\b\b\b\b\b\b"; // wykasowuje slowo "nacisnij enter..."
   cout<<"Twoja rozgrywka rozpocznie sie za :";
     for (int i=3; i>=0;i--)
    {
       Sleep(1000);
         cout<<i<<"\b";
    }
    system("cls");
   cout<<"1.ATTACK"<<" || "<<"2.BLOCK"<<" || "<<"3.RELOAD"<<endl;
   cout<<"-----------------------------------------------"<<endl;
   cout<<"Wybierz : ";
    Ty atakuj;

   cin>>wybor;
   switch(wybor) // to musisz wlozyc w petle nieskonczona np. while hp !=0 albo dopoki ktorys z graczy nie jest martwy zrob zmienna
   {
   case 1:
      {
      atakuj.Atak();
      runda--;
      }
   break;
   case 2:
      {
      atakuj.Obrona();
      }
   break;
   case 3:
      {
      atakuj.Przeladowanie();
      }
   default:
      cout<<"Fail";
   }
}

Ty::Ty(int hp,int am)
{
   HP=hp;
   ammo=am;
}

void Ty::Atak()
{
   HP--;
   if(HP==0)
   {
      cout<<"Strzal";
   }
   getchar();
}
void Ty::Obrona()
{
      cout<<"Tarcza";
   getchar();
}

void Ty::Przeladowanie()
{

      if(ammo==6)
      {
         cout<<"pelny magazynek, zmarnowales ruch";
      }
      else
      {
           ammo++;
      cout<<"Ladowanie , masz w magazynku "<<ammo<<" naboji";
      }

   getchar();
}

witam to tylko fragment kodu ale większość mianowicie mam tu problem że jak wybieram opcje 3 czyli przeladowanie to mi wypisuje wszystko co w voidzie zrobiłem ale do tego jeszcze się pojawia Default czyli oprócz void na końcu zdania mam jeszcze fail doklejone i czy wie ktoś jak wrzucić tego switch do pętli że ma się powtarzać dopóki HP w voidzie Atak(); będzie zero?

dziękuje

2 odpowiedzi

+1 głos
odpowiedź 1 kwietnia 2016 przez Fenix Nałogowiec (26,750 p.)
wybrane 1 kwietnia 2016 przez veryhotshark
 
Najlepsza
Po case'ach brakuje "break;".
0 głosów
odpowiedź 1 kwietnia 2016 przez dubgron Mądrala (5,620 p.)

Zapomniałeś po casie 3 dodać:

break;

 

Podobne pytania

0 głosów
1 odpowiedź 340 wizyt
pytanie zadane 2 marca 2016 w C i C++ przez L33TT12 Gaduła (3,950 p.)
0 głosów
4 odpowiedzi 575 wizyt
0 głosów
2 odpowiedzi 447 wizyt
pytanie zadane 16 listopada 2017 w JavaScript przez quez Nowicjusz (120 p.)

93,020 zapytań

141,982 odpowiedzi

321,283 komentarzy

62,366 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

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...