---
title: "C++-program som inte fungerar! (nybörjare...)"
type: "forum-thread"
url: "https://www.webforum.nu/amne/c-cpp/73167-c-program-som-inte-fungerar-nybörjare"
topic: "C/C++"
topic_url: "https://www.webforum.nu/amne/c-cpp"
author: "trexter"
published: "2003-04-04T16:03:32.000Z"
updated: "2003-04-09T14:25:17.000Z"
replies: 22
views: 586
page: 1
pages: 2
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/c-cpp/73167-c-program-som-inte-fungerar-nybörjare"
---

# C++-program som inte fungerar! (nybörjare...)

_Sida 1 av 2._

## #1 — trexter, 2003-04-04T16:03Z

Skulle någon kunna skriva om detta lilla program så att det fungerar? Så kan jag fråga om det är några förändringar jag ej förstår...

```
#include <iostream>
#include <string>

using namespace std;

int main () {
  string Name;
  int age;

  cout << "Skriv in ditt namn:" << endl;
  cin >> Name >> endl;
  cout << "Skriv in din alder:" << endl;
  cin >> Age >> endl;
  cout << "Du  är" << Age << "ar och heter" << Name << endl;
}
```

Felmeddelanden:

```
C:\Documents and Settings\Ägaren\Skrivbord\C++\GetNameAndAge.cpp(11) : error C2679: binary '>>' : no operator defined which takes a right-hand operand of type '' (or there is no acceptable conversion)
C:\Documents and Settings\Ägaren\Skrivbord\C++\GetNameAndAge.cpp(13) : error C2065: 'Age' : undeclared identifier
C:\Documents and Settings\Ägaren\Skrivbord\C++\GetNameAndAge.cpp(13) : error C2679: binary '>>' : no operator defined which takes a right-hand operand of type '' (or there is no acceptable conversion)
C:\Documents and Settings\Ägaren\Skrivbord\C++\GetNameAndAge.cpp(15) : warning C4508: 'main' : function should return a value; 'void' return type assumed
Error executing cl.exe.
```

 :)

Permalänk: https://www.webforum.nu/p/73167

## #2 — Beatbox, 2003-04-04T16:11Z

```
int age;
```

och....

```
cin >> Age >> endl;
```

borde vara....

```
cin >> age >> endl;
```

Permalänk: https://www.webforum.nu/p/1000717

## #3 — Viktor, 2003-04-04T16:15Z

Debug tips :)

```
error C2065: 'Age' : undeclared identifier
```

"Undeclared identifier" betyder att variabeln inte finns, brukar leda till många felmedelanden, men det viktigaste är de 2-3 första (oftast).

/Viktor

Permalänk: https://www.webforum.nu/p/1000722

## #4 — trexter, 2003-04-04T16:16Z

Tack, men koden genererar fortfarande felmeddelanden.

 :)

Permalänk: https://www.webforum.nu/p/1000723

## #5 — trexter, 2003-04-04T16:26Z

```
#include <iostream>
#include <string>

using namespace std;

int main () {
  string name;
  int age;

  cout << "Skriv in ditt namn:" << endl;
  cin >> name >> endl;
  cout << "Skriv in din alder:" << endl;
  cin >> age >> endl;
  cout << "Du  är" << age << "ar och heter" << name << endl;
}
```

```
C:\Documents and Settings\Ägaren\Skrivbord\C++\GetNameAndAge.cpp(11) : error C2679: binary '>>' : no operator defined which takes a right-hand operand of type '' (or there is no acceptable conversion)
C:\Documents and Settings\Ägaren\Skrivbord\C++\GetNameAndAge.cpp(13) : error C2679: binary '>>' : no operator defined which takes a right-hand operand of type '' (or there is no acceptable conversion)
C:\Documents and Settings\Ägaren\Skrivbord\C++\GetNameAndAge.cpp(15) : warning C4508: 'main' : function should return a value; 'void' return type assumed
```

 :)

Permalänk: https://www.webforum.nu/p/1000728

## #6 — Alpha II, 2003-04-04T16:55Z

Du borde lägga till return 0; i slutet av main(), hjälper inte felmeddelanderna men tar bort varningen! :)

Varför har du endl i slutet? Har ingen större koll på c/c++ men du kan ju testa utan och se om det fungerar.

Permalänk: https://www.webforum.nu/p/1000749

## #7 — trexter, 2003-04-04T17:03Z

Tack, det fungerade fint!
return 0; - Det används eftersom att funktionen inte returnerar något, va?! Står nollan för "false", eller?

 :)

Permalänk: https://www.webforum.nu/p/1000755

## #8 — trexter, 2003-04-04T17:31Z

Hur gör man smartast så att programmet inte stängs så fort all kod i main() körts? Som det är nu hinner man inte se texten "Du heter abc och är x år gammal"

 :)

Permalänk: https://www.webforum.nu/p/1000767

## #9 — Phorpher, 2003-04-04T18:23Z

I det här fallet är "return 0;" felaktigt då mainmetoden är definierad att inte ha något returvärde (void).
Enbart "return;" är korrekt. :)

För att "pausa" så kan du lägga en vanlig inmatning (cin) i slutet på programmet.

Permalänk: https://www.webforum.nu/p/1000801

## #10 — trexter, 2003-04-04T18:24Z

Jo, så löste jag faktiskt det själv (med cin i slutet alltså)!
Men är det verkligen rätt sätt att lösa det på? Känns lite som en "fullösning", om du förstår hur jag menar. ;)

Tack för ditt svar btw.

 :)

Permalänk: https://www.webforum.nu/p/1000803

## #11 — Cheezes, 2003-04-04T18:26Z

Fel-fel-fel!!

> **trexter skrev:**
>
> return 0; - Det används eftersom att funktionen inte returnerar något, va?! Står nollan för "false", eller?
> 
> 
>  :)

**\*pip\* Wrong answer!** 
Men en bra tankegång ändå, trexter  :) 

En return-sats (return 0;) anger att exekveringen/körningen av funktionen ska avsluta.
Med värdet 0, så talar den om att exekveringen avslutas på ett normalt sätt.

Sisådärja.
Trevlig helg, trexter  :birp 

Mvh
/Cheezes

Permalänk: https://www.webforum.nu/p/1000804

## #12 — Phorpher, 2003-04-04T18:44Z

> **trexter skrev:**
>
> Jo, så löste jag faktiskt det själv (med cin i slutet alltså)!
> Men är det verkligen rätt sätt att lösa det på? Känns lite som en "fullösning", om du förstår hur jag menar. ;)
> 
> Tack för ditt svar btw.
> 
>  :)

Fult och fult. Anledningen till att du vill att ditt program ska stanna upp är ju för att ditt konsollfönster stängs ner när programmet exekverat klart. Men det är ju pga. hur du startar det (antar att du gör det via din IDE). Om du startar programmet via ett konsollfönster så kommer du ju att se resultatet efter exekvering.

Permalänk: https://www.webforum.nu/p/1000809

## #13 — trexter, 2003-04-04T18:46Z

Tack för svaren!

 :)

Permalänk: https://www.webforum.nu/p/1000811

## #14 — trexter, 2003-04-04T19:07Z

Hur ska man göra med å, ä och ö. Både output och input med annorlunda tecken ser konstiga ut

 :)

Permalänk: https://www.webforum.nu/p/1000824

## #15 — aleborg, 2003-04-04T19:33Z

Dom måste du köra som ascii
ä = \\x84
å = \\x86
ö = \\x94
Ä = \\x8e
Ö = \\x99
Å = \\x8f

Om jag inte minns helt fel!

Bara att ersätta direkt i texten :)

Permalänk: https://www.webforum.nu/p/1000833

## #16 — trexter, 2003-04-04T19:44Z

Men om jag hämtar ett värde som användaren skriver in (med konstiga tecken i), sparar det sedan i en variabel och skriver sedan ut denna variabel, hur gör jag då?

 :)

Permalänk: https://www.webforum.nu/p/1000841

## #17 — aleborg, 2003-04-04T20:06Z

Det behöver du inte tänka på, det blir rätt!

Permalänk: https://www.webforum.nu/p/1000852

## #18 — trexter, 2003-04-05T07:14Z

Aha, det var inte de konstiga tecknen som gjorde att programet avslutades, utan att jag försökte skriva in mitt namn, förnamn och efternam med ett mellanrum emellan. Jag förmodar att man måste använda något annat än String för att kunna spara värden med mellanslag!?

 :)

Permalänk: https://www.webforum.nu/p/1000993

## #19 — stenmark, 2003-04-05T08:45Z

Nope
Det har inte med String att göra. Det har med cin \>\> att göra.
När du skriver cin \>\> så betyder det att den läser från stnadard input (tangentbordet) tills ett mellanslag kommer. Skriver du cin.getline() istället så tar den hela raden.
getline() ska även ha några inparametrar, kommer inte ihåg dom nu på rak arm. Men jag tror det är ungefär getline( char \*sträng, int storlekpåsträng )

Permalänk: https://www.webforum.nu/p/1001013

## #20 — aasah, 2003-04-05T09:56Z

> **Phorpher skrev:**
>
> I det här fallet är "return 0;" felaktigt då mainmetoden är definierad att inte ha något returvärde (void).
> Enbart "return;" är korrekt. :)....

Vad menar du nu??? **mainmetoden är inte void i C/C++!** I Java däremot är mainmetoden void...

I C/C++ : int main() {... return 0;} 
där 0:an indikerar ett korrekt avslutande av programmet, precis som någon annan redan skrivit.

Permalänk: https://www.webforum.nu/p/1001032

---

Tråden på webben: https://www.webforum.nu/amne/c-cpp/73167-c-program-som-inte-fungerar-nybörjare  
Nästa sida: https://www.webforum.nu/amne/c-cpp/73167-c-program-som-inte-fungerar-nybörjare/page2.md
