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;
}

1 réponse

  1. 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