Affichage 0 et 1...

extremOne Messages postés 5 Date d'inscription lundi 29 décembre 2008 Statut Membre Dernière intervention 3 janvier 2009 - 1 janv. 2009 à 20:49
extremOne Messages postés 5 Date d'inscription lundi 29 décembre 2008 Statut Membre Dernière intervention 3 janvier 2009 - 3 janv. 2009 à 14:22
Bonjour à tous, voilà je débute un peu en langage C..Je me casse un peu la tete pour réaliser le jeu de la vie de Conway! J'ai fait des tas de recherche sur ce jeu meme sur cpp france. Suivi un peu toute les conversation. Mais rien de ce que j'ai lut n'a résolu mon soucis. Explicitement je voudrais que mon programme m'affiche le contenu de mon fichier "initializ.txt" lorsque je compile ( j'ai abandonné Devc++ pour codeblocks) aucune erreur ne m'est renvoyé mais quand la console DOS s'ouvre il y a le message suivant :
"Erreur du fichier initializ.txt
Process returned 1 (0*1) execution time: 0.78 s
Press any key to continue."

Voici mon code, quelqu'un pourrais me dire ce qui cloche ?

include<stdio.h>
#include<stdlib.h>
#include <string.h> //contient les prototypes de fonctions permettant l'utilisation et la manipulation de chaînes de caractere.

void init (int grille[10][10]);
void affichage(int grille[10][10],int i, int j);
int compte(int grille[10][10], int i, int j);
void etape(int grille[10][10]);
void jeu(int grille[10][10]);

int main(void)

{

    /* Déclaration d'un pointeur sur "f" le fichier txt */

    FILE *f=fopen("initializ.txt","r"); //ouverture du fichier d'initialisation.

    if(f== NULL)/* gestion d'erreur */
     {
      printf("Erreur ouverture du fichier\n");
     }

}

void affichage(int grille[10][10])

{
     int i=0;
     int j=0;

     for (i=0; i<10; i++)
      {
         for (j=0; j<10; i++)
          {
              if (grille[i][j] == 1)
              { printf("*");}
                 else
                   {printf(".");}
          }
      }
;
}

int compte(int grille[10][10], int i, int j)

{

int

}

6 réponses

uaip Messages postés 1466 Date d'inscription mardi 20 février 2007 Statut Membre Dernière intervention 7 février 2011
2 janv. 2009 à 17:45
Euh... le "int" tout seul à la fin, c'est normal ?
Il manque le # au début de "include" (une faute de frappe, j'imagine)
Je ne sais pas comment tu as réussi à compiler ce code... Autrement, chez moi ça compile et ça fonctionne.
Par contre
Elles servent à quoi tes fonctions si tu ne les appelles pas ?

Tu oublies de refermer le fichier (fclose(f);).

Vérifie que le répertoire courant est bien dans le répertoire racine de l'exe (BruNews a fait un snippet pour ça)

Cordialement, uaip.
0
extremOne Messages postés 5 Date d'inscription lundi 29 décembre 2008 Statut Membre Dernière intervention 3 janvier 2009
2 janv. 2009 à 23:10
Oui là il y a quelques fautes de frappe ! Et le int seul ne devait pas apparaitre..Bref

Et bien j'ai compris mon erreur, mais là j'ai encore une question! Mon programme se fait bien compiler&executer en fait je voudrais qu'il m'affiche le contenu de mon fichier texte.

Mon fichier texte contient une série de 0 et de 1
(10 par ligne) ce qui me donne une sorte de grille. J'ai fait en sorte que ces O="." et 1="*". Mais dans la console tout s'affiche en ligne sur toute la longueur.

Comment je peux faire ? Car je me demande si le programme charge réellement mon fichier texte.

Voilà mon code:


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



void initialis(FILE *f, int grille[10][10]);
void affiche(int grille[10][10]);
int compte(int grille[10][10], int i, int j);
void etape(int grille[10][10]);



void initialis( FILE *initialisation , int grille[10][10])

{
FILE *f;

f = fopen("initialisation.txt","r");

if (f = NULL)
{
printf("Erreur de chargement du fichier\n");
printf("Saisir la grille avec n=10 au clavier");
}
}

void affiche(int grille[10][10])

{
int i,j;


for (i=0; i<10; i++)
{
for(j=0; j<10; j++)
{
if (grille[i][j] ==1)
{
printf("*");
}
else
{
printf(".");
}
}
}
}









int main (void)
{
int grille[10][10];
FILE*f= fopen("initialisation.txt","r");
initialis(f,grille);
affiche(grille[10][10]);
system("PAUSE");
}




</stdlib.h></stdio.h>
0
extremOne Messages postés 5 Date d'inscription lundi 29 décembre 2008 Statut Membre Dernière intervention 3 janvier 2009
2 janv. 2009 à 23:13
Euh petit soucis d'affichage là y'a pas moyen de pouvoir l'éditer ?? lol
0
extremOne Messages postés 5 Date d'inscription lundi 29 décembre 2008 Statut Membre Dernière intervention 3 janvier 2009
2 janv. 2009 à 23:13
Euh petit soucis d'affichage là y'a pas moyen de pouvoir l'éditer ?? lol
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
uaip Messages postés 1466 Date d'inscription mardi 20 février 2007 Statut Membre Dernière intervention 7 février 2011
2 janv. 2009 à 23:40
Exemple de lecture d'une lligne avec fgets(); (un while suffit pour lire ligne par ligne le fichier, en testant tant que le fgets() != NULL)
Exemple de lecture caractaère par caractère avec fgetc();
Bien que le site se nomme "cplusplus", c'est bien des fonctions standards de C que je te donne.

Cordialement, uaip.
0
extremOne Messages postés 5 Date d'inscription lundi 29 décembre 2008 Statut Membre Dernière intervention 3 janvier 2009
3 janv. 2009 à 14:22
Je vais tenter de réussir mon programme :)
Merci pour ton aide

Cordialement également, extremone.
0
Rejoignez-nous