Je n'arrive pas à corriger mes erreurs pouvez vous m'aider ?

Fermé
naver11 Messages postés 2 Date d'inscription mardi 27 octobre 2015 Statut Membre Dernière intervention 27 octobre 2015 - 27 oct. 2015 à 20:27
jackdada Messages postés 77 Date d'inscription vendredi 31 juillet 2015 Statut Membre Dernière intervention 10 février 2016 - 30 oct. 2015 à 01:11
#include <stdio.h>
#include <stdlib.h>
main ()
{
int p1,p2,p3,p4,p5,q1,q2,q3,q4,q5,NB,t;

printf("J1 rentrée une combinaison secrete");
scanf(p1);
scanf(p2);
scanf(p3);
scanf(p4);
scanf(p5);
t=0;
printf("J2 rentrée la combinaison à trouver");
scanf(q1);
scanf(q2);
scanf(q3);
scanf(q4);
scanf(q5);
t=t+1;
NB=0;
if (q1=p1);
{
NB=NB+1
}
if (q2=p2);
{
NB<NB+1
}
if (q3=p3;
{
NB=NB+1
}
if (q4=p4);
{
NB=NB+1
}
if (q5=p5);
{
NB=NB+1
}
printf("nombres de pions bien placé,NB");
while t<=10 & NB!=5
{
printf("J2 rentre b combinaison à trouver");

scanf(q1,q2,q3,q4,q5);
t=t+1;
NB=0;
if (q1=p1);
{
NB=NB+1
}
if (q2=p2);
{
NB=NB+1
}
if (q3=p3);
{
NB=NB+1
}
if (q4=p4);
{
NB=NB+1
}
if (q5=p5);
{
NB=NB+1
}
}
if NB=5;
{
printf("BRAVO");
else
{
printf("PERDU")
}
}
}

3 réponses

naver11 Messages postés 2 Date d'inscription mardi 27 octobre 2015 Statut Membre Dernière intervention 27 octobre 2015
27 oct. 2015 à 20:28
C'est un programme de jeu mastermind
0
[Dal] Messages postés 6194 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 11 octobre 2024 1 092
Modifié par [Dal] le 28/10/2015 à 10:38
Salut naver11,

Compile avec les warnings (option -Wall sur gcc) et corrige les erreurs de syntaxe et les warnings en commençant par le premier.

Si tu ne comprends pas l'erreur qui t'est signalée, revois ton cours et documente toi.

Si tu n'y arrives toujours pas, dis nous quel est le message d'erreur ou le warning que tu ne comprends pas aves le numéro de ligne correspondante.

Sinon, déjà, en vrac à corriger :

- le prototype correct de main est
int main(void)
et ton code doit se terminer par
return 0;
(structure de base d'un programme C)
- tes scanf ne comportent pas de chaîne de format et les variables ne sont pas des pointeurs
- l'opérateur d'égalité c'est ==, pas =
- la syntaxe de tes if est mauvaise : ne met pas ; entre le test et l'accolade ouvrante, de plus le test du if doit toujours être entre parenthèses, enfin, tu ne mets pas de ; à la fin des instructions contenues entre les accolades des if

Je n'ai pas vérifié la logique de ton programme.


Dal
0
jackdada Messages postés 77 Date d'inscription vendredi 31 juillet 2015 Statut Membre Dernière intervention 10 février 2016 19
Modifié par jackdada le 30/10/2015 à 01:11
Je serais toi je reprendrais le cours du langage C de zero afin de revoir comment marche les fonction de base (printf, scanf, les condition, les boucle....), mais aussi la forme que prend un code en C (le préprocesseur, la fonction main, ....) Une fois fois que tu a revus vers nous, corrige toute les erreur "basique" qui sont dans ton code (le == pour les teste, les ; manquant, les retour de fonction...) Une fois ceci réalisé, en cas de problème, poste nous un code propres (utilise les balise code c, la petite flèche au dessus de la zone de texte quand tu tape une réponse) et pose nous des question précise sur ce qui cloche
-1