å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;
}
}
Vad är det som går fel?
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..."
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?
Det ligger en måsvinge framför andra cout. Kanske är den som ställer till det.
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.
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.
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....
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?
Det stämmer. Vad ska det vara istället?
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.
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"
Vad har ni för källa till information? Lärarens kompendium eller nån webbsida?
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.
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?
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.
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;
'ålder' bör fungera som int. Hur blir det fel?
Istället för att skriva ut angiven ålder så skriver den ut "0".
Visa hela programmet, annars går det inte att säga något.