Pb avec gcc et le fonction printf
Sirius
-
dubcek Messages postés 19025 Date d'inscription Statut Contributeur Dernière intervention -
dubcek Messages postés 19025 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
je suis en train de coder un exercice à rendre, mais j'ai un léger souci avec mon compilateur (je suppose que ca vient de la hein, mais je ne suis sur de rien) je vous donne mon code actuel.
lors du case 2 du switch(ans), les printf deviennent foireux...
si qqun a une idée de la raison, je lui serais très reconnaissant de me l'indiquer ^^'
merci d'avance :)
ps: le fichier main.c existe et je n'ai aucun souci pour l'ouverture/lecture de son contenu, en gros fopen ne renvoie pas NULL, c'est une certitude.
je suis en train de coder un exercice à rendre, mais j'ai un léger souci avec mon compilateur (je suppose que ca vient de la hein, mais je ne suis sur de rien) je vous donne mon code actuel.
// Application : TD13 exo3
// Auteur : DARA Mehdy && DURAND Romain
// Nom du fichier : main.c
// Description : montre l'utilisation des fonctions de chargement et savegarde
// Historique des révisions :
//Directives d'inclusion
#include <stdio.h>
#include <stdlib.h>
//Directives préprocesseur
typedef struct point
{
int x;
int y;
} point;
typedef struct polygone
{
int nbrElemt;
point *tab;
} polygone;
int main(void)
{
// Variables en entré
int ans = -1, ansMenu1=1,ansMenu11=1,taillePoly=0,i,j,coord,quitter=0;
polygone *poly=NULL;
char string[100],nomFichier[100],ligne[1000];
FILE * fichier;
//Variables en sortie
//Variables auxiliaires
while(!quitter)
{
while(ans<0 || ans>3)
{
printf("\n\tMenu\n");
printf("1 - Créer un nouveau fichier de polygones\n");
printf("2 - Charger un fichier de polygones\n");
printf("3 - Sauvegarder les polygones actuels\n");
printf("0 - Quitter\n");
printf("\nQue souhaitez vous faire?\n");
scanf("%d",&ans);
}
switch(ans)
{
case 1:
while(ansMenu1==1 || ansMenu1==0)
{
printf("\n1 - Créer un nouveau polygone");
printf("\n0 - Terminer le fichier\n");
scanf("%d",&ansMenu1);
getchar();
switch(ansMenu1)
{
case 1:
printf("\nCombien de points ?\n(0 pour annuler)\n");
scanf("%d",&ansMenu11);
getchar();
if(ansMenu11)
{
taillePoly++;
poly = realloc(poly, taillePoly*sizeof(polygone));
poly[taillePoly-1].tab=malloc(ansMenu11*sizeof(point));
poly[taillePoly-1].nbrElemt+=ansMenu11;
for(i=0; i<ansMenu11; i++)
{
printf("\nEntrez le point n°%d\nX?\n",i+1);
scanf("%d",&coord);
getchar();
poly[taillePoly-1].tab[i].x=coord;
printf("\nY?\n");
scanf("%d",&coord);
getchar();
poly[taillePoly-1].tab[i].y=coord;
}
}
break;
case 0:
printf("\nDonnez un nom au fichier\n");
scanf("%s",string);
getchar();
fichier=fopen(string,"w");
for(i=0; i<taillePoly; i++)
{
fprintf(fichier,"%d\n",poly[i].nbrElemt);
for(j=0; j<poly[i].nbrElemt; j++)
{
fprintf(fichier,"%d,%d\n",poly[i].tab[j].x,poly[i].tab[j].y);
}
}
fclose(fichier);
ansMenu1=-1;
break;
default:
ansMenu1=1;
break;
}
}
break;
case 2:
//scanf("%s",nomFichier);
//getchar();
fichier=fopen("main.c","r");
if (fichier == NULL)
printf ("Erreur ...");
else
{
fgets(ligne,999,fichier);
printf("salut");
while(!feof(fichier));
{
printf("%s",ligne);
fgets(ligne,1000,fichier);
}
fclose(fichier);
}
break;
case 3:
break;
case 0:
return 0;
break;
}
}
return 0;
}
lors du case 2 du switch(ans), les printf deviennent foireux...
si qqun a une idée de la raison, je lui serais très reconnaissant de me l'indiquer ^^'
merci d'avance :)
ps: le fichier main.c existe et je n'ai aucun souci pour l'ouverture/lecture de son contenu, en gros fopen ne renvoie pas NULL, c'est une certitude.
A voir également:
- Pb avec gcc et le fonction printf
- Fonction si et - Guide
- Fonction miroir - Guide
- Fonction moyenne excel - Guide
- Fonction remplacer sur word - Guide
- Fonction somme excel - Guide