Gå til innhold

cin.get(); og return 0;


Anbefalte innlegg

jeg har just begynt å løære meg C++

og jeg kjøpte en C++ bok men

det rare er at i boken sier de at jeg skal skrive return 0;

men når jeg starter programmet så bare blinker Cmd på og så av

men hvist jeg prøver cin.get(); så kommer det slik det skal.

 

Hvorfor det

 

 

Hva er rett

 

#include <iostream>
using namespace std;

int main()
{
   cout << "Name: Lian, Thomas Andree";
   cout << "\nStreet Address: Parks Dr 403";
   cout << "\nCity: Glenwood Springs State: CO, Colorado Zip: 81602";
   
   cin.get(); eller return 0;
}

Endret av Lucifer89
Lenke til kommentar
Videoannonse
Annonse
hmm takk

 

hva er return 0; til og hva er cin.get(); til?

6996126[/snapback]

 

 

om ikke boka nevner alt med en gang; forsøk å fokusere på de delene den forklarer nå - så forklarer den resten siden

 

`cin.get()' gjør at programmet venter til du har trykket enter før det fortsetter å kjøre

 

funksjonen `main' returnerer en `int', altså et heltall:

 

int main()
{
...
}

 

..så `return 0' forteller at heltallet `main' skal returnere er 0

 

om andre programmer starter programmet ditt, så leser de av hva funksjonen `main' i programmet ditt returnerer - og om 0 returneres så betyr det at "alt gikk bra"..

 

edit: denne tråden hører forøvrig hjemme under C/C++-forumet .. skal høre om noen kan flytte den

Endret av lnostdal
Lenke til kommentar

#include <iostream>
using namespace std;

int main()
{
   cout << "Name: Lian, Thomas Andree";
   cout << "\nStreet Address: Parks Dr 403";
   cout << "\nCity: Glenwood Springs State: CO, Colorado Zip: 81602";
   
   cin.get(); eller return 0;
}

6995852[/snapback]

 

Du skriver at cmd blinker på og av... Mener du her at cmdvinduet åpnes og forsvinner med en gang? I så fall blir teksten skrevet ut, men man rekker ikke å lese teksten før prosessen har

avsluttet. cin.get forhindrer at prosessen avsluttes ved å spørre om data fra brukeren. Du kan prøve å kjøre cmd, gå inn på katalogen med den aktuelle exefilen og kjøre denne. Du vil antakelig nå se all data slik som du forventer...

Lenke til kommentar

#include <iostream>
using namespace std;

int main()
{
   cout << "Name: Lian, Thomas Andree";
   cout << "\nStreet Address: Parks Dr 403";
   cout << "\nCity: Glenwood Springs State: CO, Colorado Zip: 81602";

system("pause");
return 0;
}

 

Skriv heller sånn. Hvilken kompiler bruker du ? Hadde du brukt Visual C++ ville kompiler ikke trengt noe annet enn return 0.

Lenke til kommentar
Hadde du brukt Visual C++ ville kompiler ikke trengt noe annet enn return 0.

7056095[/snapback]

 

:roll: Bruker man WC++ angrer man på det siden.

 

.. uansett er det du sier galt eller dumt:

 

* det er ikke portabelt

* programmet lukker seg når man starter det fra Exploder (om ikke WC++ legger til noe borka kode som tar spesialhensyn i sammenheng dette ellernoe)

 

..i tillegg finnes det andre IDEer (det du feilaktig antar kun er en "kompiler") som holder vinduet oppe for deg, men dette er ikke poenget - og det er ikke en gang et betydelig issue..

 

edit:

om man avslutter programmet sitt med følgende kode er man sikret noe som fungerer og er portabelt:

 

cin.clear();
cin.ignore(std::numeric_limits<streamsize>::max(), '\n');
cin.get();

 

..noen rett meg om jeg har glømt noe her, så legger jeg til en seksjon her http://www.linuxguiden.no/index.php/C_Plus...B8r_jeg_ser_noe om dette .. (det nytter ikke å vedlikeholde en FAQ i et forum; eneste er om man oppretter en felles bruker, men en wiki er uansett mer fleksibel)

Endret av lnostdal
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...