C normal ca? [Fermé]

Signaler
-
batmat
Messages postés
1877
Date d'inscription
jeudi 1 novembre 2001
Statut
Membre
Dernière intervention
9 janvier 2008
-
je commence a aprendre le C et j'utilise le compilateur dev-c++!je rentre un programme d'exemple du livre et quan j'execute je voi se que g fai seulement 2 sec et je me retrouve a nouvo devan le compilateur!
c normal?ou s qu'il fo que je modifi d parametre du compilateur ou un truc dans se genre?
aidez moi please!!!

24 réponses

Messages postés
1877
Date d'inscription
jeudi 1 novembre 2001
Statut
Membre
Dernière intervention
9 janvier 2008
110
Il quitte immédiatement la console pour retourner à l'EDI une fois le prog terminé...
Cherche dans les options pour afficher la fenetre DOS, essaye ptete ALT+F5

@++

Vous hésitez entre Linux et Windows ?
Vous voulez dépenser du temps ou de l'argent ? :-D
au début de ton fichier ajoute

#include <iostrem.h>

à la fin de ta fonction main rajoute une boucle

for (int i=0; i<30000; i++)
for (int j=0; j<30000; j++)
cout << "";
Messages postés
1877
Date d'inscription
jeudi 1 novembre 2001
Statut
Membre
Dernière intervention
9 janvier 2008
110
iostream

@++

Vous hésitez entre Linux et Windows ?
Vous voulez dépenser du temps ou de l'argent ? :-D
Messages postés
1877
Date d'inscription
jeudi 1 novembre 2001
Statut
Membre
Dernière intervention
9 janvier 2008
110
J'allais parler de getch(), mais je pense que c une fonction qui n'existe que chez Borland...
@++

Vous hésitez entre Linux et Windows ?
Vous voulez dépenser du temps ou de l'argent ? :-D
merci a tous!c bon quelqu'un ma dit de mettre getchar() a la fin!merci quan meme
a++
Messages postés
606
Date d'inscription
mercredi 6 juin 2001
Statut
Membre
Dernière intervention
29 août 2006
32
sinon dev c++ mais ces lignes normalement au début
printf("\n");

system("PAUSE");
return 0;

ne les efface pas et tout fonctionnera

LMCT

j'ai touché le fond
maintenant je creuse
finalemen g changé j'utilise turbo C mai g le meme problème et getchar(); ne marche pa cet foi!
Messages postés
1877
Date d'inscription
jeudi 1 novembre 2001
Statut
Membre
Dernière intervention
9 janvier 2008
110
getch à la place

@++

Vous hésitez entre Linux et Windows ?
Vous voulez dépenser du temps ou de l'argent ? :-D
je l'est fai mai sa marche pa tout le ten!
par exemple la je fai(enfin je recopi le prog du livr) un programme qui doi afficher du code source avec les numeros de ligne!je met getch(); avan return 0; mai sa change rien!c parce que ya encor du code après return 0?
quan yen a pa sa march par contre
Messages postés
1877
Date d'inscription
jeudi 1 novembre 2001
Statut
Membre
Dernière intervention
9 janvier 2008
110
Euuu évidemment, ne mets pas de code après le return... Il ne sera jamais atteint.

@++

Vous hésitez entre Linux et Windows ?
Vous voulez dépenser du temps ou de l'argent ? :-D
regarde c le progamme qu'il ya dans mon livr!g recopier tel kel!

/* PRINT_IT.C--Ce programme imprime les listings avec les numéros de ligne*/
#include <stdlib.h>
#include <stdio.h>

void do_heading(char *filename);

int line, page;

main( int argv, char *argc[] )
{
char buffer[256];
FILE *fp;

if( argv < 2)
{
fprintf(stderr, "\nLa syntaxe correcte est : ");
fprintf(stderr, "\n\nPRINT_IT nomfichier.ext\n");
exit(1);
}
if (( fp = fopen( argc[1], "r" )) ==NULL )
{
fprintf( stderr, "Erreur d'ouverture de fichier, %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( stdout, "%4d:\t%s", line++, buffer );
}

fprintf( stdout, "\f" );
fclose(fp);
return 0;
}

void do_heading( char *filename )
{
page++;

if (page > 1)
fprintf( stdout, "\f" );

fprintf( stdout, "Page: %d, %s\n\n", page, filename );
}
atten en faite je croi que je me sui trompé en recopian finalement!
je sui vraimen tro con!
non en faite c quan je fai copier coller sa modifi d truc je c pa pourquoi!
en tou k ds monlivre i mette du code après retur 0;
ya :
void display_usage(void)
{
fprintf(stderr, "\nLa syntaxe est la suivante : ");
fprintf(stderr, "n\nLIST_IT filenam.ext\n");
}
batmat
Messages postés
1877
Date d'inscription
jeudi 1 novembre 2001
Statut
Membre
Dernière intervention
9 janvier 2008
110
Ah oui, ça c normal...
Ce qui est interdit (enfin, ça va compiler, mais ça servira à rien)c'est un truc du genre :

...

printf("bonjour");
return 0;
printf("au revoir");
}

=> Là ton programme ne te dira jamais au revoir ! quel malpoli ! :-)

@++

Vous hésitez entre Linux et Windows ?
Vous voulez dépenser du temps ou de l'argent ? :-D
ba si c normal pourquoi sa fonctionne pa alors?
Messages postés
606
Date d'inscription
mercredi 6 juin 2001
Statut
Membre
Dernière intervention
29 août 2006
32
dite je pisse dans le vent ou pas?(cf http://www.commentcamarche.com/forum/affich.php3?cat=3&ID=337502&page=1#7 ) ;0)
nan sérieusement un
system("PAUSE");

devrait largement suffire non?!
tiens moi au courant si ça ne marche pas!

bonne chance

LMCT

j'ai touché le fond
maintenant je creuse
g fait ce que tu ma dit mai sa marche pa!j'utilse plus dev-c++ au faite!g pri turbo C!
je place peut etre pa le printf("\n") au maivaise endroi?
normalement avec dev..
tu prend iostream.h
et avec system("PAUSE");
ou getch mais c conio.h je crois
c bon
putain sa me soul!!!!!!!!!
j'appren le C avec un livre et quan j'entre les prog du livre sa s'affiche que 2seconde!
getch ma aider a resoudre une parti du problème: quan dans le prog g just une donné a rentré sa fonctionne bien mai quan yen a plus, je pe rentrer que la 1ère et après sa affiche tout le reste et quan d que j'appui sur unr touche le programme se ferme!!
JE VOUS EN SUPLI AIDEZ MOI!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Messages postés
1877
Date d'inscription
jeudi 1 novembre 2001
Statut
Membre
Dernière intervention
9 janvier 2008
110
C'est parce que tu utilises scanf, chui sur :)
Avant chaque saisie, il faut vider le buffer : scanf c'est de la merde

@++

Vous hésitez entre Linux et Windows ?
Vous voulez dépenser du temps ou de l'argent ? :-D
Messages postés
1877
Date d'inscription
jeudi 1 novembre 2001
Statut
Membre
Dernière intervention
9 janvier 2008
110
Avant chaque scanf, ajoute le code suivant :

while(fgetc(stdin)!=EOF);

@++

Vous hésitez entre Linux et Windows ?
Vous voulez dépenser du temps ou de l'argent ? :-D
je fai se que tu me di mai maintenan quan j'entre la première donné sa ve pa passer a la suite!!!!
Messages postés
1877
Date d'inscription
jeudi 1 novembre 2001
Statut
Membre
Dernière intervention
9 janvier 2008
110
Bon, moi j'ai l'impression que tu devrais reprendre depuis la base ...
S'attaquer aux fichiers alors que tu commences tout juste n'est pas une bonne chose.

Tu comprends au moins ce que doit faire le code que tu recopies ?

@++

Vous hésitez entre Linux et Windows ?
Vous voulez dépenser du temps ou de l'argent ? :-D
1 2