Avatar billede rasm Nybegynder
31. juli 2004 - 21:19 Der er 23 kommentarer og
1 løsning

Problem med newbie kode

Hej Alle

Jeg er begyndt at snuse til c+, og jeg vil lige prøve denne kode:

#include <iostream>
int main()
{
  cout<<"HEY, you, I'm alive!  Oh, and Hello World!";
  return 0;   
}

men den kommer med denne log i dev c++:

Kompiler: Default compiler
Building Makefile: "C:\Documents and Settings\Rasmusha\Dokumenter\Makefile.win"
Eksekverer  make...
make.exe -f "C:\Documents and Settings\Rasmusha\Dokumenter\Makefile.win" all
g++.exe -c helloworld.cpp -o helloworld.o -I"C:/Dev-Cpp/include/c++"  -I"C:/Dev-Cpp/include/c++/mingw32"  -I"C:/Dev-Cpp/include/c++/backward"  -I"C:/Dev-Cpp/include" 

helloworld.cpp: In function `int main()':
helloworld.cpp:4: `cout' undeclared (first use this function)
helloworld.cpp:4: (Each undeclared identifier is reported only once for each
  function it appears in.)

make.exe: *** [helloworld.o] Error 1

Eksekvering afbrudt

Hvad er der galt?

Jeg har lavet scriptet fra en tutorial:)
Avatar billede driis Nybegynder
31. juli 2004 - 21:20 #1
Lav den om til:
#include <iostream>

using namespace std;

int main()
{
  cout<<"HEY, you, I'm alive!  Oh, and Hello World!";
  return 0; 
}
Avatar billede driis Nybegynder
31. juli 2004 - 21:21 #2
Det skyldes at cout ligger i et namespace (en måde at adskille navne på) ved navn std. Du kan også skrive:

#include <iostream>
int main()
{
  std::cout<<"HEY, you, I'm alive!  Oh, and Hello World!";
  return 0; 
}
Avatar billede rasm Nybegynder
31. juli 2004 - 21:24 #3
Men der sker ingenting når man klikker på programmet?
Avatar billede rasm Nybegynder
31. juli 2004 - 21:25 #4
når jeg indsætter din kode:)
Avatar billede driis Nybegynder
31. juli 2004 - 21:26 #5
Programmet afsluttes når det er færdig med at køre. Prøv at åbne en kommandoprompt og kør programmet derfra, så skulle du gerne få vist udskriften.
Avatar billede rasm Nybegynder
31. juli 2004 - 21:32 #6
driis vil du hjælpe mig hen ad vejen med at lære c+ over msn fx?

ikke noget med point for det men bare som en hjælp?

og forresten når jeg vælger filen i kør>cmd>c:\Helloworld.exe uskriver den ingenting men går bare videre til næste side..
Avatar billede rasm Nybegynder
31. juli 2004 - 21:37 #7
næste linje
Avatar billede driis Nybegynder
31. juli 2004 - 21:40 #8
Har du husket at compile igen ? Det burde fungere.

Min msn adresse er driis@mobilixnet.dk - du er velkommen til at skrive, men det er ikke altid jeg har tid til at hjælpe.
Avatar billede bertelbrander Praktikant
01. august 2004 - 00:44 #9
Når man bruger gcc/g++ kompilere skal man altid huske at afslutte sine udskrivninger med en newline eller en flush:

std::cout << "Whatever" << std::endl;
std::cout.flush();
Avatar billede rasm Nybegynder
01. august 2004 - 09:18 #10
dvs at koden nu skal se sådan ud:
#include <iostream>

using namespace std;

int main()
{
std::cout<<"Whatever"<<std::endl;
  return 0; 
std::cout.flush();
}
eller hvad?
Avatar billede rasm Nybegynder
01. august 2004 - 09:24 #11
Men jeg tror der er et eller andet galt med min kompiler kender i en anden god BRUGERVENLIG kompiler`?
Avatar billede thomas_nj Nybegynder
01. august 2004 - 11:36 #12
rasm>> Du har hentet den allernyeste beta ikke også? Det er den jeg bruger og den virker upåklageligt
Avatar billede thomas_nj Nybegynder
01. august 2004 - 11:42 #13
Under dev-C++ 4.9.9.0 virker følgende kode:
#include <iostream>
#include <cstdlib>

using namespace std;

int main()
{
 
    cout<<"Hello World"<<endl;
    system("pause");

    return 0;
}

Brug F9 til at compile og køre programmet med.
Avatar billede rasm Nybegynder
01. august 2004 - 13:35 #14
Jeb ruger cev c++ 4.9.8.0, og når jeg indsætter thommas_nj's kode kommer der en cmd prompt op der skriver tryk på en vilkårlig tast for at fortsætte hvis jeg gør det lukker den bare, hvad skal det nu sige?
Avatar billede thomas_nj Nybegynder
01. august 2004 - 17:19 #15
du kender godt cmd/dos promt (den du får frem ved at skrive cmd i start/kør. Prøv at starte den og skriv pause, så får du samme besked.
  i system() kan du bruge alle cmd kommandoerne.

  Grunden til at den lukker bagefter er at koden ganske enkelt afslutter. system("pause") får den til at vente på et tastetryk og holder derfor vinduet åben.

Denneher tutorial er også god (de har lavet en fejl i Hello World ved at glemme return 0; men ellers er den udemærket: http://cplus.about.com/library/blcplustut.htm
Avatar billede bertelbrander Praktikant
01. august 2004 - 20:15 #16
Blot for en ordens skyld;
C++ programmer behøver ikke have en return til slut i main, C programmer gør.
Avatar billede rasm Nybegynder
02. august 2004 - 06:52 #17
Jo altså jeg er gået over til c# i stedet for, men nu mangler jeg en compiler!

Sproget c# virker nemmere for mig og minder meget om PHP som jeg kan i forvejen.
Avatar billede rasm Nybegynder
02. august 2004 - 06:53 #18
Nogle der kender en god compiler til det:P?
Avatar billede thomas_nj Nybegynder
02. august 2004 - 14:20 #19
bertelbrander>> kendte ikke lige til det med return 0; i C++. Er det så noget man betragter som værende grim kode at undlade, eller er det bare en gammel C-vane der bliver ført videre?
Avatar billede bertelbrander Praktikant
02. august 2004 - 19:28 #20
Jeg tror mest at det er en gammel vane fra C der er ført videre.
Jeg kender ikke nogen grund til at man har valgt at det at undlade en return i main svarer til en return 0; det er en anelse ulogisk.
Jeg putter som regel stadig en return ind til sidst i main.

Bemærk at VisualC++ 6.0 kommer med følgende warning hvis man undlader return:
warning C4508: 'main' : function should return a value; 'void' return type assumed
Avatar billede bertelbrander Praktikant
02. august 2004 - 19:32 #21
>>rasm, jeg kender ikke C# eller nogen kompilere til det, men er du ikke lidt utålmodig?
Man lærer ikke at programmere på et kvarter.

Mon ikke Microsoft har en C# kompiler de vil sælge?
Avatar billede olennert Nybegynder
03. august 2004 - 10:38 #22
Der er en C# oversætter med i Mono, http://www.mono-project.com/about/index.html
Avatar billede rasm Nybegynder
03. august 2004 - 10:40 #23
Hej alle nu har jeg lige skaffet mig en compiler
Avatar billede rasm Nybegynder
03. august 2004 - 10:41 #24
og jeg tager C# problemer i et andet spørgsmål:)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester