Problème dans un prog

Résolu
Mc n1c1 Messages postés 13 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 17 décembre 2005 - 25 juin 2005 à 17:43
Mc n1c1 Messages postés 13 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 17 décembre 2005 - 25 juin 2005 à 19:37
Voici mon programme :

/*******************************************************************************/
/** Projet de Mc N1C1 ====> Eurêka **/
/*******************************************************************************/
/*** Jeux de chiffre en projet console avec DEV C++ 4.9.9.2 ***/
/*******************************************************************************/
/**** Source mise sur le site : http://www.codes-sources.com ****/
/*******************************************************************************/
/***** Fichier main.cpp (282 lignes) et Fichier Equation.h (16 lignes) *****/
/*******************************************************************************/
/****** Programme en C++ dévellopé entre le 15/06/05 et le 19/06/05 ******/
/*******************************************************************************/


#include <stdio.h>
#include <time.h>
#include "Equation.h"


short int nombre_sorti, chiffre_valide, nombre_deja_propose, nombre_de_chiffre_propose, nombre_erreur, resultat_trouve;}
char rejouer, nombre_propose,chiffre_enregistre[66],resultat_a_trouver[LONGUEUR_RESULTAT],chiffre_propose);
FILE* fichier_Equation;


int main (void) // Départ de la fonction principale
{
char choix; // Ouverture de la classe 'choix'


printf ("Que voulez vous faire ? jouer (tapez 1)\n"); // Affiche la phrase
printf ("\t\t\tvoir les regles (tapez 2) "); // Affiche la phrase
if (choix == 50) // Si le choix est 2 :
void regles(void); // on ouvre la classe 'regles' (ligne 53)
do // Le do exécute son bloc au moins une fois, et l'exécute encore si la condition du while
{
const char* system ("cls"); // Efface ce qu'il y a à l'écran
tirage_du_calcul_a_trouver(); // Si le choix est autre que 2, ouverture de la classe 'tirage_du_calcul_a_trouver'(ligne 67)
printf ("\n\n\nle calcul %c trouver est : %s\n\n"); // Affiche la phrase
while (nombre_erreur < 4 && resultat_trouve == 0) // Si le nombre d'erreur est inférieur à 4, le résultat est trouvé
{
saisie_du_chiffre_propose();
calcul_du_nombre_d_erreur();
verification_du_resultat();
resultat_a_trouver();
calcul_propose();
}
affichage_fin();
reinitialisation();
pour_rejouer();
}
while (rejouer == 'o'); // Définit l'action de quitter par la saisie de la lettre 'o': Si on saisie 'o' le programme quitte
}


////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


void regles (void) // Ouverture de la classe 'regles'
{
const char* system ("cls"); // Efface ce qu'il y a à l'écran
printf ("Cette page restera affich%c que 30 secondes.\n",130); // Affiche la phrase
printf ("Ce programme simule un petit jeu de chiffre o%c il faut trouver le r%csultat des calculs propos%cs,\n",151,130,130); // Affiche la phrase
printf ("pour cela, vous proposez des chiffres.\n\n"); // Affiche la phrase
printf ("Vous avez le droit %c 3 erreurs maximum.\n\n",133); // Affiche la phrase
printf ("Attention, les virgules sont ""."" et pas "","); // Affiche la phrase
Sleep (30000); // La page restera la même pendant 20 secondes
}


////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


void tirage_du_calcul_a_trouver() // Ouverture de la classe 'tirage_du_calcul_a_trouver'
{
long i,j=0;
FILE* fichier_Equation; // Ouverture du fichier Equation
;void __cdecl srand(unsigned int); // Initialise le tirage aléatoire
_CRTIMP int __cdecl rand (void); // Tire un nombre compris entre MIN et MAX
for (i=0;i<nombre_sorti;i++)
;char calcul_propose; //copie d'un calcul du fichier dans calcul_a_trouver


for (i=1;i<calcul_propose-1;i++)
{
if (j == 0)
{
if (resultat_a_trouver[i] != 10) //si la fin de la ligne n'est pas atteinte
{
if (resultat_a_trouver[i] == 48) // si le caractere est un '0'
resultat_a_trouver[i] = -123; // le caractere devient un 'à'
if (resultat_a_trouver[i] == 49) // si le caractere est un '1'
resultat_a_trouver[i] = -126; // le caractere devient un 'é'
if(resultat_a_trouver[i] == 50) // si le caractere est un '2'
resultat_a_trouver[i] = -118; // le caractere devient un 'è'
if(resultat_a_trouver[i] == 51) // si le caractere est un '3'
resultat_a_trouver[i] = -120; // le caractere devient un 'ê'
if(resultat_a_trouver[i] == 52) // si le caractere est un '4'
resultat_a_trouver[i] = -116; // le caractere devient un 'î'
if(calcul_a_trouver[i] == 53) // si le caractere est un '5'
calcul_a_trouver[i] = -109; // le caractere devient un 'ô'
if(calcul_a_trouver[i] == 54) // si le caractere est un '6'
calcul_a_trouver[i] = -106; // le caractere devient un 'û'
if(calcul_a_trouver[i] == 55) // si le caractere est un '7'
calcul_a_trouver[i] = -105; // le caractere devient un 'ù'
}
else // Sinon
j = 1; // La fin de la ligne est atteinte
}
}
j = 0;


for (i=0;i<LONGUEUR_CALCUL;i++)
calcul_propose[i] = calcul_a_trouver[i]; // Copie de calcul_a_trouver dans calcul_propose


for (i=1;i<LONGUEUR_CALCUL-1;i++)
{
if (j == 0)
{
if (calcul_propose[i] != 10) // Si la fin de la ligne n'est pas atteinte
{
if(calcul_propose[i] != 32 && calcul_propose[i] != 44 && calcul_propose[i] != 39)
calcul_propose[i] = '-'; // Remplace les chiffres par des tirets, sauf la 1ère et la dernière
}
else // Sinon
j = 1;
}
}
}


////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


void saisie_du_chiffre_propose() // Ouverture de la classe 'saisie_du_chiffre_propose'
{
short int chiffre; // Declaration de la variable 'Chiffre'
do {
printf ("\rProposer un r%csultat : ",126); //affiche la phrase
chiffre_propose = getche(); //met le caractère saisi dans resultat_propose
rewind(stdin); //vide le buffer
}
while (chiffre = test_tesultat()); // Ouverture de la classe 'test_resultat' quand on rentre un chiffre


if ( strchr (chiffre_enregistre,chiffre_propose) == NULL)
{
chiffre_enregistre[nombre_chiffre_propose] = chiffre_propose;
nombre_chiffre_propose = nombre_chiffre_propose + 1;
chiffre_deja_propose = 0;
}
else // Sinon
chiffre_deja_propose = 1; // Il y a un chiffre qui a été proposé
} // Fermeture de la variable 'chiffre' dans la classe 'saisie_du_chiffre_propose'
short int test_chiffre() // Déclaration de la variable 'test_chiffre'
{
short int chiffre; //Declaration de la variable 'chiffre' dans la variable 'test_chiffre'
{ // Ouverture de la déclaration
int chiffre_autorise[ 198 ]; // il y a 198 chiffre autorisez
bool has_done_positif = false; // indique si les chiffres positifs ont déjà été insére
bool has_done_negatif = false; // indique si les chiffres négatifs ont déjà été inséré
for( int i = 0; i < 100; ++i ) // Boucle permettant d'ajouter tous les nombres autorisés.
{
if( !has_done_positif ) // Si la boucle n'a pas encore ajouté les positifs
chiffre_autorise[ i ] = i; // Si elle l'a déjà fait
{
else if( has_done_positif ) // Alors il faut introduire un négatif
chiffre_autorise[ i ] = -i;
if( i == 99 )
has_done_negatif = true;
}
if( has_done_negatif )
break;
if( i == 99 )
{
has_done_positif = true;
i = 0;
} // Fermeture de la variable 'chiffre'
} // Fermeture de la classe 'saisie_du_chiffre_propose'


////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


void recherche_du_chiffre_dans_le_resultat() // Classe 'recherche_du_chiffre_dans_le_resultat'
{ // Ouverture de la classe 'recherche_du_chiffre_dans_le_resultat'
long i;
chiffre_valide = 0;
for (i=1;i<LONGUEUR_CALCUL-1;i++)
{
if (chiffre_propose == resultat_a_trouver[i]) // Test entre le chiffre proposé et le résultat à trouver
{
chiffre_valide = 1; // si le test est vérifié, chiffre_valide est à 1
calcul_propose[i] = chiffre_propose; // la lettre remplacera le tiret correspondant
}
}
} // Fermeture de la classe 'recherche_du_chiffre_dans_le_resultat'

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


void calcul_du_nombre_d_erreur() // Classe 'calcul_du_nombre_d_erreur'
{ // Ouverture de la classe 'calcul_du_nombre_d_erreur' if (chiffre_valide 0 && chiffre_deja_propose 0) //test si la lettre proposée n'était pas dans le proverbe à trouver
nombre_erreur = nombre_erreur + 1; //si le test est vérifié, nombre_erreur est incrémenté
} // Fermeture de la classe 'calcul_du_nombre_d_erreur'


////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


void verification_du_calcul() // Classe 'verification_du_calcul'
{ // Ouverture de la classe 'verification_du_calcul'
long i;

for (i=0;i<LONGUEUR_CALCUL;i++)
{
if (calcul_propose[i] == resultat_a_trouver[i]) // Test chaque chiffre du calcul proposé et du resultat a trouvé
calcul_trouve = resultat_trouve + 1; // +1 dans calcul trouvé : un resultat trouvé de plus
}
if (resultat_a_trouve == LONGUEUR_RESULTAT) // Test si resultat_trouve est égal à la longueur du résultat
resultat_trouve = 1; // Si le test est vérifié, resultat_trouve est mit à 1
else // Sinon
calcul_trouve = 0; // (Si le test n'est pas vérifié) resultat_trouve est mit à 0
} // Fermeture de la classe 'verification_du_calcul'

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


void affichage_resultat_pas_trouve()
{
int i;
const char* system ("cls"); // Efface ce qu'il y a à l'écran
if (nombre_erreur < 4 && resultat_trouve == 0) //test sur le nombre d'erreur et si le proverbe a été trouvé*/
{
printf ("chiffre d%cj%c propos%c : ",126,123,126); // Affiche la phrase
for (i=0;i<nombre_chiffre_propose;i++)
{
if (i != 0)
printf (", "); // Affichage de la phrase
printf ("%c",chiffre_enregistre[i]);
}
printf ("\n\n\nle calcul %c trouver est : %s\n\n",123,calcul_propose); // Affichage de la phrase
printf ("le nombre d'erreur est de : %d\n\n",nombre_erreur); // Affichage de la phrase
}
} // Fermeture de la classe 'affichage_resultat_pas_trouve'


////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

void affichage_fin() // Ouverture de la classe 'affichage_fin'
{
const char* system ("cls"); // Efface ce qu'il y a à l'écran
if (resultat_trouve == 0) // Si il y a 0 résultat de trouvé:
{
printf ("\nVous avez perdu, le r%csultat qu'il fallait trouver %ctait :\n\n",126,126); // Affiche la phrase
printf ("%s\n",resultat_a_trouver);
}
if (resultat_trouve == 1) /*si le proverbe est trouvé*/
{
printf ("\nbravo, vous avez trouv%c le r%csultat qui %ctait :\n\n",126,126,126); /*affiche la phrase*/
printf ("%s\n",resultat_a_trouver);
}
}


////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


void reinitialisation() // Ouverture de la classe 'reinitialisation'
{
short int i;
nombre_erreur = 0; // Met nombre_erreur à 0
resultat_trouve = 0; // Met resultat_trouve à 0
nombre_chiffre_propose = 0; // Met nombre_chiffre_propose à 0
for (i=0;i<6;i++) // Boucle permettant d'ajouter tous les nombres autorisés.
chiffre_enregistre[i] = 198; // Redéfinis chiffre_enregistré à 198
}


////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

void pour_rejouer() // Ouverture de la classe 'pour_rejouer'
{
printf ("\nVoulez-vous rejouez ? "); // Affiche la phrase
short int rejouer = getch(); // Met le caractère saisi dans rejouer
rewind (stdin); // Vide le buffer
const char* system ("cls"); // Efface ce qu'il y a à l'écran
}
}
}

Je veux compiler avec Dev C++ 4.9.9.2 et il m'affiche :

17 C:\Dev-Cpp\Eureka\main.cpp expected declaration before '}' token
C:\Dev-Cpp\Eureka\Makefile.win [Build Error] [main.o] Error 1

Merci de votre aide car j'en ai besoin!!!

P.S. Les ligne pour expliquer ne sont pa toute passez et je nai pas voulu tt refaire alors merci d'essayer de faire sans

2 réponses

niketou Messages postés 295 Date d'inscription dimanche 4 mai 2003 Statut Membre Dernière intervention 6 décembre 2010
25 juin 2005 à 17:56
Ce n'est pas un forum visual basic ici?.
Tu as du oublié un "}" ou tu en as ajouté un en trop.
3
Mc n1c1 Messages postés 13 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 17 décembre 2005
25 juin 2005 à 19:37
Et alors je le compile avec DEV C++ et sa devrait marcher quand a ton explication sur le '}' je sais qu'il en manque un ou qu'il y en a un en trop mais je ne sais pas où. C sa mon problème
3
Rejoignez-nous