Hoppa till innehåll

Rekommendera inlägg

Skrivet (redigerat)

Hej jag har precis börjat med C och har programmet Bloodshed Dev-C++ och en bok men när jag skriver in koderna som står i boken säger programmet att det är nått fel på koden, har testat 2st olika koder och den säger att det är fel på båda, och sen när jag testar koden

 

#include <stdio.h>

 

main()

{

printf("Hello, World!\n");

return 0;

}

 

och kompilerar den och linkar den sen startar den så kommer fönstret upp i ca 0.5sec sen försvinner det igen,

någon som kan hjälpa mig?

Är det fel på programmet eller vad?

Redigerat av Nigthwolf
Skrivet (redigerat)

Nej då, lägg bara till cin.get() innan return 0;, så ser du nog den texten!

 

Ajdå, såg inte att du inte körde med #include <iostream>, lägg till det efter #include <stdio.h>.

Redigerat av Katt
Skrivet
Hmm... Kontrollera så att du stavar allting rätt, boken är kanske gammal och så... Dessutom så är kompilatorn kanske inställd på C++, och inte på C, men det borde inte vara nått större problem... Skriv ner nån kod, så får vi se och nån kan 'rätta' den...
Skrivet (redigerat)

Här är en kod:

 

/* PRINT_IT.C--This program prints a listing with line numbers! */

#include <stdlib.h>

#include <stdio.h>

 

void do_heading(char *filename);

 

int line, page;

 

int main( int argv, char *argc[] )

{

char buffer[256];

FILE *fp;

 

if( argv < 2 )

{

fprintf(stderr, "\nProper Usage is: " );

fprintf(stderr, "\n\nPRINT_IT filename.ext\n" );

exit(1);

 

}

if (( fp = fopen( argc[1], "r" )) == NULL )

{

fprintf( stderr, "Error opening file, %s!", argc[1]);

exit(1);

}

 

page = 0;

line = 1;

do_heading( argc[1]);

 

while( fgets( buffer, 256, fp ) != NULL )

{

if( line % 55 == 0 )

do_heading( argc[1] );

 

fprintf( stdprn, "%4d:\t%s", line++, buffer );

}

 

fprintf( stdprn, "\f" );

fclose(fp);

return 0;

}

 

void do_heading( char *filename )

{

page++;

 

if ( page > 1)

fprintf( stdprn, "\f" );

 

fprintf( stdprn, "Page: %d, %s\n\n", page, filename ):

}

 

Den hittar fel på rad: 5, 31,38,47,51 och 53.

 

Har du nått tips på program till C då?

Redigerat av Nigthwolf
Skrivet

Det funkade inte heller, den säger att det är fel på cin.get()

Den säger att iostream inte finns.

Det ska vara ett semikolon efter cin.get() så det blir cin.get();

Skrivet (redigerat)

Det går fortvarande inte att använda cin.get(); för den säger att det är nått fel på den raden...

 

`cin' undeclared (first use this function)

Redigerat av Nigthwolf
Skrivet

Får skaffa en ny bok då...

 

Nae, det måste du inte. Visst kanske C++ kan vara bättre att jobba med, men det gör du som du vil med.

 

För att få cin.get() att funka (C++) måste du skriva dit std::cin.get(); istället för bara cin.get(). Eller så lägger du till "using namespace std" efter alla include.

Gå med i konversationen

Du kan skriva nu och registrera dig senare. Om du har ett konto, logga in nu för att posta med ditt konto.

Gäst
Svara på det här ämnet...

×   Klistrade in som rich text.   Klistra in som vanlig text istället

  Endast 75 emojis är tillåtet.

×   Din länk har automatiskt inbäddats.   Visa som en länk istället

×   Ditt tidigare innehåll har återställts.   Rensa redigeraren

×   Du kan inte klistra in bilder direkt. Ladda upp eller infoga bilder från URL.

×
  • Skapa ny...