Definiera ett tal till en string C++

Tråden skapades och har fått 4 svar. Det senaste inlägget skrevs .
1
  • Medlem
  • Göteborg
  • 2010-07-21 08:41

Jag är en total nybörjare på C++ men alla måste ju börja någonstans.

Vad jag skulle vilja göra är följande;

en cout-sats frågar efter en siffra mellan 1-3. Siffra ett ska motsvara string "Volvo", 2 ska motsvara BMW och 3 ska motsvara VW.

cout << "Ange en siffra mellan 1 och 3: ";
cin << bil;
cout-satsen som följer här ska istället för att skriva 1 visa Volvo:
cout << bil << '\n';
Har försökt att definiera 1 = Volvo osv. men jag kanske är ute och cyklar helt här...

Hoppas att någon förstår vad jag menar

  • Medlem
  • Sollentuna
  • 2010-07-21 09:20

1 är alltid 1. Men däremot kan du kolla på vad bil är. Om bil är 1 ska du skriva Volvo osv. Det blir alltså några rader till mellan cin och cout.

Ursprungligen av CeCe:

Jag är en total nybörjare på C++ men alla måste ju börja någonstans.

Vad jag skulle vilja göra är följande;

en cout-sats frågar efter en siffra mellan 1-3. Siffra ett ska motsvara string "Volvo", 2 ska motsvara BMW och 3 ska motsvara VW.

cout << "Ange en siffra mellan 1 och 3: ";
cin << bil;
cout-satsen som följer här ska istället för att skriva 1 visa Volvo:
cout << bil << '\n';
Har försökt att definiera 1 = Volvo osv. men jag kanske är ute och cyklar helt här...

Hoppas att någon förstår vad jag menar

Gör en array.

string cars[3];
cars[0] = "Volvo";
cars[1] = "Bmw";
cars[2] = "Saab";

cout << cars[bil];

Varför c++? Om du ska utveckla till mac är objective c ett bättre val.

En typdefinition av enum i Obj-C blir nog bra.

typedef enum CarType {
    CarTypeVolvo,
    CarTypeBMW,
    CarTypeSaab
} CarType;

Den kommer automatiskt att definiera Volvo som 0, BMW som 1, och Saab som 2. Plus att du får sygga typer.

Jag tror det är likadant i C++.

Det blir lite mer jobb för utskriften dock, eftersom det inte går att få ut namnet på typen.

  • Medlem
  • Mölndal
  • 2010-07-21 17:31

Vad menar du att vitsen med enumen egentligen är? (Om det nu i Obj-C inte ens går att få ut dess namn.) Han måste första översätta från siffran till enumen, och sen från enumen till en sträng. I ett API skulle det kunna funka, men varför ett sådant mellanled i en simpel funktion?

1
Bevaka tråden