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

Problemu z typem wyliczeniowym ,,enum''

Object Storage Arubacloud
0 głosów
151 wizyt
pytanie zadane 2 lipca 2016 w C i C++ przez Niebieski_Zerg Użytkownik (610 p.)
edycja 2 lipca 2016 przez Niebieski_Zerg

Witam :) (tutaj jest wstęp) Od niedawana uczę się programować(około 1 miesiąca). Uczę się Od M.Zelenta i ,,Od zera do gier kodera'' (tu jest już problem) niedawno poznałem typ enum i chciałem dodać do niego switcha by był wolny wybór(wiem że nie można przypisać do niego w prost danej wartości takich jak:

enum Proste_Komendy {Dodawanie = 1, Odejmowanie = 2};
Proste_Komendy Liczba;
Liczba = 1;

Lecz teraz chciałem użyć switcha by wybór mógł być użytkownika i nie wiem zbytnio jak :/ Patrzałem na forum co i jak ale nic mi to nie dało do zrozumienia, oprócz tego że ludzie do enuma używają klas i innych dzikich rzeczy, których jeszcze nie znam. Teraz pytanie, czy Ktoś z was by mógł powiedzieć jak przerobić ten kod by można było mieć swobody wybór między tymi dwoma opcjami, a nie na sztywno wszytsko? (przykład robiony tak by pokazać mój problem). Jakby to komuś pomogło strona w ,,Od zera do gier kodera'' to 123, a u M.Zelenta to 9odc.

#include <iostream>

using namespace std;

int main()
{

   
   enum prosta_budowa{Dodawanie = 0, Odejmowanie = 1};
  
   prosta_budowa Liczba;
   Liczba = Dodawanie;
    switch(Liczba)
   {
   case Dodawanie:
   {
    cout << "+++++++++";
   }
    break;

   case Odejmowanie:
   {
    cout << "-------";
   }
    break;
   }

   return 0;
}


 


 

1 odpowiedź

+1 głos
odpowiedź 2 lipca 2016 przez Muminek Dyskutant (8,650 p.)

Liczba jest zmienną do której można podstawić tylko jedną z określonych na liście Proste_Komendy wartośći:

Czyli:

liczba = Dodawanie; 

liczba = Odejmowanie;

To jest dobrze
liczba = 1; 

liczba = 2;

To  nie, ponieważ to nie są elementy listy wyliczeniowej mimo, że wartość liczbowa jest taka sama

 

komentarz 2 lipca 2016 przez Niebieski_Zerg Użytkownik (610 p.)
Teraz uaktualniłem więc jak możesz to spr od początku, ponieważ wtedy all się usunęło :p
komentarz 2 lipca 2016 przez Muminek Dyskutant (8,650 p.)

Jak dla mnie ten kod działa. Przy dodawaniu wypisuję +++.

http://ideone.com/WxU2Qa - kod online. 

komentarz 3 lipca 2016 przez Niebieski_Zerg Użytkownik (610 p.)
No działać działa, lecz mi chodziło o to by można własnoręcznie wybierać między dodawanie a odejmowanie przy jednoczesnym używaniu enuma :p i dlatego pytam czy tak się da zrobić :>
komentarz 3 lipca 2016 przez Muminek Dyskutant (8,650 p.)

Możesz to w ten sposób rozwiązać, pamiętaj, że enum reprezentuje typ liczb całkowitych. :)

#include <iostream>

using namespace std;

int main()
{

enum prosta_budowa{Dodawanie = 0, Odejmowanie = 1};

int Liczba = 0;
cin >> Liczba; // "własnoręczny" wybór

switch(Liczba) 
{
// sprawdzana jest wartość zmiennej z wartością zmiennej typu wyliczeniowego
case Dodawanie: // korzystanie z listy wyliczeniowej
{
cout << "+++++++++";
}
break;

case Odejmowanie:
{
cout << "-------";
}
break;
}

return 0;
}

 

komentarz 3 lipca 2016 przez Niebieski_Zerg Użytkownik (610 p.)
O dzięki ci stary :D samemu było mi trudno na to wpaść bo nowy xd Dzięki jeszcze raz masz tutaj plusika :)

Podobne pytania

–5 głosów
1 odpowiedź 223 wizyt
pytanie zadane 16 maja 2017 w C i C++ przez KacperKow Nowicjusz (180 p.)
–3 głosów
1 odpowiedź 326 wizyt
pytanie zadane 20 maja 2017 w C i C++ przez KacperKow Nowicjusz (180 p.)

92,568 zapytań

141,422 odpowiedzi

319,640 komentarzy

61,957 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!

...