Question de noob

Ackboo

Habitué
Bonjour à tous, j'ai un petit problème niveau programmation ^^
Je débute et je n'ai que quelques jours d'expérience.
J'utilise Visual Studio C 6.0 comme compilateur.
Mon problème est le suivant: Quand je compile ce petit prog de test pour me familiariser avec les commandes il m'affiche une erreur située à la dernière accolade.

Il me dit ceci:
c:\program files\microsoft visual studio\myprojects\âge.cpp(22) : fatal error C1010: unexpected end of file while looking for precompiled header directive
Error executing cl.exe.


Vous pouvez me donner un coup de main ou un bon conseil svp? Merci infiniment ! ^^

[cpp]#include<stdio.h>


void main()

{
int a;

printf("Quel est ton âge? rep: ");
fflush(stdin);
scanf("%d",&a);

if (a<18){printf("Tu es mineur...");}
else {printf("Tu es majeur...");}



return 0;
}[/cpp]
 

Emmanuel Delahaye

Expert
J'utilise Visual Studio C 6.0 comme compilateur.
Il me dit ceci:
c:\program files\microsoft visual studio\myprojects\âge.cpp(22) : fatal error C1010: unexpected end of file while looking for precompiled header directive
Error executing cl.exe.
Si c'est bien du C, remarques et corrections :
■L'extension du nom du fichier devrait être .c et non .cpp.
■J'éviterais de mettre un caractère accentué dans un nom de fichier (age.c)
[fixed]
#include<stdio.h>

/* -ed-
void main()

main() retourne int. Toujours.



*/
int main (void)
{
int a;

/* -ed-
printf("Quel est ton âge? rep: ");

Attention, les caracteres accentues ne sont pas portables...

*/
printf ("Quel est ton age? rep: ");
/* -ed-
fflush(stdin);

fflush() n'est defini que pour les flux sortants.
Par contre, la ligne n'etant pas terminee par un '\n',
il faut forcer la sortie pour etre sur que les donnees
apparaissent.



*/
fflush (stdout);

/* -ed-
scanf() est une fonction difficile a utiliser correctement.
Il y a des alternatives...




*/
scanf ("%d", &a);

/* -ed- indentation horrible et confusante.

if (a<18){printf("Tu es mineur...");}
else {printf("Tu es majeur...");}
*/

if (a < 18)
{
/* -ed- \n ajoutes... */
printf ("Tu es mineur...\n");
}
else
{
printf ("Tu es majeur...\n");
}

return 0;
}
[/fixed]
 

benou71

Nouveau membre
Hello,
Tu a declaré ta fonction "main()" de sorte quelle ne retourne rien en mettant "void" alors qu'a la fin de ton prog tu met "return 0"! :non:
Essaie de mettre "int main ( )" a la place!
Je suis pas sur que ceci va corriger ton erreur mais s'en est deja une donc bon courage pour trouver les autres si ton prog ne march tjs pas!

:bounce: :hello:
 

soksam

Grand Maître
Bon allez j'up ce topic parce que je suis un n00b :D.
Un topic unique de noob ca manque non ? :o

Alors voila je débute et je suis le tuto du site du zéro en C/C++, et la j'ai un ptit problème:
Ma boucle while ne fonctionne pas ! :(

[cpp]int main(int argc, char *argv[])
{
long nombre_mystere = 0;
long nombre_entre = 1;
long essais = 0;
const long MAX = 100, MIN = 1;

printf ("Le jeu du nombre mystere ! \n");
printf ("Appuyez sur une touche pour jouer :) \n");
getch ();
printf ("Trouvez le nombre mystere compris entre 0 et 100 \n ");
srand(time(NULL));
nombre_mystere = (rand() % (MAX - MIN + 1)) + MIN;
while (nombre_mystere == nombre_entre)
{
printf ("Entrez une valeur... \n");
scanf ("%ld", &nombre_entre);
if (nombre_entre > nombre_mystere)
{
printf ("Le nombre mystere est plus petit \n");
essais++;
}
else if (nombre_entre < nombre_mystere)
{
printf ("Le nombre mystere est plus grand \n");
essais++;
}
else
{
printf ("Bravo vous avez trouve le nombre mystere !!!\n");
printf ("Vous avez trouvé en %d essai(s)", essais);
}



}
system("PAUSE");
return (0);
}[/cpp]

Voila, si vous pouviez me dire ce qui ne va pas ;)
Je sais suis vraiment noob :p
 

KangOl

Grand Maître
non !
aucune raison de upper ce topik meme si tu es noob :fou:
 

soksam

Grand Maître
Erf vraiment ???
Bon alors sinon j'ouvre un topic pour toutes mes futures questions de noob ^^.

Edit: Je suis vraiment noob mdr, je vais me cacher :D
J'ai trouvé...C'etait vraiment noobesque...
 

Emmanuel Delahaye

Expert

Casfépa.
Ma boucle while ne fonctionne pas ! :(
Voila, si vous pouviez me dire ce qui ne va pas ;)
[cpp]
/* -ed- headers manquants */
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(int argc, char *argv[])
{
long nombre_mystere = 0;
long nombre_entre = 1;
long essais = 0;
const long MAX = 100, MIN = 1;

printf ("Le jeu du nombre mystere ! \n");
printf ("Appuyez sur une touche pour jouer :) \n");
/* -ed- getch() n'est pas standard... */
getchar ();
printf ("Trouvez le nombre mystere compris entre 0 et 100 \n ");
srand(time(NULL));
nombre_mystere = (rand() % (MAX - MIN + 1)) + MIN;

/* -ed- il est plus logique, ici, d'utiliser do-while.
COmme ca on a tous les elements pour tester si on sort de la boucle
ou si on continue. La condition definit la repetition. Donc, on continue
tant que les nombres ne sont pas egaux. */
do
{
printf ("Entrez une valeur... \n");
scanf ("%ld", &nombre_entre);
if (nombre_entre > nombre_mystere)
{
printf ("Le nombre mystere est plus petit \n");
essais++;
}
else if (nombre_entre < nombre_mystere)
{
printf ("Le nombre mystere est plus grand \n");
essais++;
}
else
{
printf ("Bravo vous avez trouve le nombre mystere !!!\n");
printf ("Vous avez trouvé en %d essai(s)", essais);
}
}
while (nombre_mystere != nombre_entre);
return 0;
}
[/cpp]
 

soksam

Grand Maître
Merci pour ta réponse (meme si j'avais deja remplacé "==" par "!=").
Je retient tes conseils ;)

Et promis la prochaine fois j'ouvre un topic :)

Sinon les headers, c'est quoi ?
Celui qui à codé ?
 

Emmanuel Delahaye

Expert

Ben alors pourquoi tu as posté un code faux ? Juste pour me déranger pendant mon entrainement de sieste ?
Sinon les headers, c'est quoi ?
Les fichiers d'entêtes :
[cpp]#include <stdio.h>
#include <stdlib.h>
#include <time.h>[/cpp]


 

Emmanuel Delahaye

Expert

Ah ? Ici ( ), je vois toujours :
[cpp] while (nombre_mystere == nombre_entre) [/cpp]Ca doit être mon proxy... :pt1cable:
 

soksam

Grand Maître
Non j'ai pas édité dans le code, mais en bas j'ai dit que j'avait trouvé mon erreur.
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 098
Messages
6 717 065
Membres
1 586 286
Dernier membre
petitangebleu1977
Partager cette page
Haut