PROBLEME DE SUDOKU

poulette -  
 Utilisateur anonyme -
Bonjour,

Quelqu'un pourrai me dire ou me corriger ce qui ne va pas dans mon programme C
Merci d'avance.*

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(int argc, char *argv){
FILE*fichier = NULL;
// int carac = 0;
int choix;

printf ("\t\t************************************\n");
printf ("\t\t* *\n");
printf ("\t\t* Bienvenue dans le jeu du SUDOKU *\n");
printf ("\t\t* *\n");
printf ("\t\t************************************\n");
printf ("\n\n");
printf ("\t\tQue desirez vous faire ?\n");
printf ("\t\t------------------------\n");
printf ("\t\t1) Jouer \n\t\t2) Reprendre la partie precedente \n\t\t3) Voir le meilleur score \n\n");
printf ("\nVotre choix : ");
scanf ("%d",&choix);
printf ("\n");

//Choix 1
if (choix==1) {
int i;
int j;
int tableau [9][9];

FILE*fichier = fopen( "grille.txt", "r");
for (i = 0; i <9; i++)
{
printf ("\n");
for (j=0; j<9; j++){
fscanf(fichier,"%d",&tableau[i][j]); //on charge le tableau
printf("%d",tableau[i][j]);
}
}
fclose(fichier);
}

//Choix 2
if (choix==2){
int i, j;
int tableau [9][9];
FILE*fichier = fopen( "sauvegarde.txt", "r");

for (i = 0; i <9; i++)
{
for (j = 0; j <9; j++){
fscanf(fichier, "%d", &tableau[i][j]); //on charge le tableau
printf("%d",tableau[i][j]);
}
}
fclose(fichier);

}

//Choix 3
if (choix==3) {
FILE* fichier = NULL;
int score[3] = {0}; // Tableau des 3 meilleurs scores

fichier = fopen("score.txt", "r");

if (fichier != NULL)
{
fscanf(fichier, "%d %d %d", &score[0], &score[1], &score[2]);
printf("Les meilleurs scores sont : %d, %d et %d", score[0], score[1], score[2]);

fclose(fichier);
}
}

return 0;
}

A voir également:
  • PROBLEME DE SUDOKU
  • Sudoku - Télécharger - Jeux vidéo
  • Sudoku Susser - Télécharger - Outils professionnels
  • Sudoku-7 - Télécharger - Puzzle & Réflexion

1 réponse

Utilisateur anonyme
 
Salut
J'ai lu vite fait et j'ai vu une grosse erreur.

Lorsque tu fais un scanf pour récupérer une valeur pour un tableau, il faut faire
scanf("%d", Tableau[X]);
et non
scanf("%d", &Tableau[X]);

Car, si tu ne le sais pas, on envoie à la fonction scanf une adresse, or un tableau est déjà une adresse ^^.
Idem pour les fscanf.

Ensuite pour ouvrir un fichier, j'ai appris comme ça:
FILE *Fichier;
Fichier = fopen("NomDuFichier", "Mode");
0