19 svar
214 visningar
mjatte.mj 70 – Fd. Medlem
Postad: 5 jan 2019 17:32

återskapa tidigare angivet ord

Hejsan, jag håller på med en skoluppgift och skulle vara tacksam om någon skulle kunna förklara för mig vad jag gjort för fel.....

Först frågar jag efter ett namn och sedan vill jag få in namnet i en mening oavsett vad hen väljer för namn, se exemplet nedan:

 

 

 

 

 else

        {

            cout << "Hej, var vänlig och ange ditt fullständiga namn: " << endl;

            cin >> ny;

            

            { cout << "Hej" << ny << ". Välj kön: \n Kille \n Tjej \n Annat " << endl;

                cin >> kön;

        }

    }

Laguna Online 28565
Postad: 5 jan 2019 18:17

Vad är det som går fel?

mjatte.mj 70 – Fd. Medlem
Postad: 5 jan 2019 18:31

Jag var otydlig...

Om jag anger namnet "Karl" så vill jag att den ska skriva ut:

"Hej Karl. välj kön: ......o.s.v..."

Laguna Online 28565
Postad: 5 jan 2019 19:41
mjatte.mj skrev:

Jag var otydlig...

Om jag anger namnet "Karl" så vill jag att den ska skriva ut:

"Hej Karl. välj kön: ......o.s.v..."

Jag ser inget fel. Vad händer i stället? 

Aerius 504 – Fd. Medlem
Postad: 5 jan 2019 21:41

Det ligger en måsvinge framför andra cout. Kanske är den som ställer till det.

Laguna Online 28565
Postad: 5 jan 2019 21:48
Aerius skrev:

Det ligger en måsvinge framför andra cout. Kanske är den som ställer till det.

Jag förutsätter att det inte blir kompileringsfel, för då skulle mjatte ha sagt det, men det kanske jag inte borde förutsätta. Variablen "kön" skulle normalt ge kompileringsfel, men det kan ju vara nån speciellt snäll svensk implementation.

Aerius 504 – Fd. Medlem
Postad: 5 jan 2019 22:23
Laguna skrev:
Aerius skrev:

Det ligger en måsvinge framför andra cout. Kanske är den som ställer till det.

Jag förutsätter att det inte blir kompileringsfel, för då skulle mjatte ha sagt det, men det kanske jag inte borde förutsätta. Variablen "kön" skulle normalt ge kompileringsfel, men det kan ju vara nån speciellt snäll svensk implementation.

 Det har du rätt i, kompileringsfel. Texten "skulle vara tacksam om någon skulle kunna förklara för mig vad jag gjort för fel....." i frågeställningen låter som kompileringsfel såhär i efterhand.

mjatte.mj 70 – Fd. Medlem
Postad: 6 jan 2019 14:06 Redigerad: 6 jan 2019 14:11

Det jag menar är att det går att kompilera men den skriver ut "0" istället för angivet namn.

Jag har testat att ta bort å,ä,ö men det fungerar iallafall inte....

Laguna Online 28565
Postad: 6 jan 2019 14:17
mjatte.mj skrev:

Det jag menar är att det går att kompilera men den skriver ut "0" istället för angivet namn.

Jag har testat att ta bort å,ä,ö men det fungerar iallafall inte....

Hur är 'ny' deklarerad? Är den kanske en int? 

mjatte.mj 70 – Fd. Medlem
Postad: 6 jan 2019 14:19

Det stämmer. Vad ska det vara istället?

Laguna Online 28565
Postad: 6 jan 2019 14:28
mjatte.mj skrev:

Det stämmer. Vad ska det vara istället?

Nu kan jag inte det där utantill, men nån typ av sträng. Det måste stå någonting om strängar i din lärobok. 

mjatte.mj 70 – Fd. Medlem
Postad: 6 jan 2019 14:30

Vi har inte fått någon lärobok....löste dock problemet genom att använda string istället för int, det fungerade inte eftersom att "ny" även användes i ett av mina "if statement"

Laguna Online 28565
Postad: 6 jan 2019 15:00

Vad har ni för källa till information? Lärarens kompendium eller nån webbsida? 

Aerius 504 – Fd. Medlem
Postad: 6 jan 2019 15:19 Redigerad: 6 jan 2019 15:20

Vad menar du med att programmet skriver ut 0? Det borde bli fel under körningen om du försöker skriva en sträng till en int. Får du ens någon möjlighet att skriva in namn och välja kön när du kör programmet?

Att det skrivs ut 0 i slutet kanske inte kommer från variabeln ny. Utan kommer av att programmet kördes utan problem.

Laguna Online 28565
Postad: 6 jan 2019 16:38
mjatte.mj skrev:

Vi har inte fått någon lärobok....löste dock problemet genom att använda string istället för int, det fungerade inte eftersom att "ny" även användes i ett av mina "if statement"

Jag är förvirrad: du skriver "löste dock problemet", och "det fungerade inte". Löste du problemet eller inte?

Laguna Online 28565
Postad: 6 jan 2019 16:39

Det är förresten bra att visa hela programmet i sådana här lägen. Och är det för stort för det (vilket jag inte tror i det här fallet) så kortar man ner det tills det visar det som man har problem med.

mjatte.mj 70 – Fd. Medlem
Postad: 6 jan 2019 18:55

När jag bytte ut "int" mot string så skrev den ut det angivna namnet MEN då stötte jag på ett nytt problem...

mina "if statements" fungerar ej när jag använder string, se exempel nedan. Precis som med "ny" så ville jag även skriva ut angiven ålder men det gick ej när jag deklarerar med int eller string...

 

 

 if(ålder < 18)

        {

            cout << "Kontostatus: Nekad" << endl;

        }

        

        else

        {

            cout << "Hej, var vänlig och ange ditt fullständiga namn: " << endl;

            cin >> ny;

            

            cout << "\nHej " << ny << ". Välj kön: \n Kille \n Tjej \n Vill inte ange" << endl;

            cin >> kön;

            

            cout << "Stämmer dessa uppgifter? \n\n" << ålder << "\n" << ny << "\n" << kön << "\n\n Ja eller nej? " << endl;

Laguna Online 28565
Postad: 6 jan 2019 19:42

'ålder' bör fungera som int. Hur blir det fel? 

mjatte.mj 70 – Fd. Medlem
Postad: 6 jan 2019 20:25

Istället för att skriva ut angiven ålder så skriver den ut "0".

Laguna Online 28565
Postad: 6 jan 2019 20:31

Visa hela programmet, annars går det inte att säga något. 

Svara Avbryt
Close