19 svar
80 visningar
mjatte.mj 53
Postad: 5 jan 2019

å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 4970
Postad: 5 jan 2019

Vad är det som går fel?

mjatte.mj 53
Postad: 5 jan 2019

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 4970
Postad: 5 jan 2019
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 191
Postad: 5 jan 2019

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

Laguna 4970
Postad: 5 jan 2019
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 191
Postad: 5 jan 2019
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 53
Postad: 6 jan 2019 Redigerad: 6 jan 2019

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 4970
Postad: 6 jan 2019
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 53
Postad: 6 jan 2019

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

Laguna 4970
Postad: 6 jan 2019
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 53
Postad: 6 jan 2019

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 4970
Postad: 6 jan 2019

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

Aerius 191
Postad: 6 jan 2019 Redigerad: 6 jan 2019

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 4970
Postad: 6 jan 2019
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 4970
Postad: 6 jan 2019

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 53
Postad: 6 jan 2019

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 4970
Postad: 6 jan 2019

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

mjatte.mj 53
Postad: 6 jan 2019

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

Laguna 4970
Postad: 6 jan 2019

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

Svara Avbryt
Close