J'ai vraiment besoin d'aide
apprenti-programmeur
-
loupius -
loupius -
Bonjour,
j'ai besoin d'aide svp; aidez moi; mon code compile mais la fonctione ne marche pas. aidez moi à gérer çà svp, jcompt sur vous tous.
j'ai un problème, aidez moi svp; c'est une fonction en C qui doit créer une matrice de 10 polynômes maximum.
chaque polynôme de cette matrice est un vecteur d'enregistrements. chaque enregistrement est un terme du polynôme contenant 3 champs: coefficient, degré, suivant.
la fonction doit donc créer cette matrice de 10 polynômes qui sera accompagnée d'un vecteur de 10 noms pour désigner chaque polynôme. mais le problème c'est que la création ne se fait pas en une fois avec la boucle pour, ça se fait à l'appel de la fonction et on incrémente le compteur on stocke donc l'adresse de fin du vecteur et si on veut créer à nouveau on vérifie sil n'y a pas déjà 10 polynômes, on ajoute on en crée sans toutefois dépasser 10 polynômes.
pas de pointeurs, pas de fichiers, structures de données statiques: matrice, vecteur, enregistrement.
c'est à peu près ça..
aidez moi svp, je compte sur vous tous... merci d'avance
j'ai essayé de faire quelque chose, aidez moi svp
voici le code:
#include<stdio.h>
#include<conio.h>
#include<string.h>
typedef struct
{
float coef;
int deg;
int suiv;
}terme;
void creation()
{
char nom[10],nompoly[10][10];
int i,j,indice=0,prec,deg;
float coeff,tempo;
terme poly [10][20];
printf(" \n entrez le nom que vous donnez au polynome:");
fflush(stdin);
gets(nom);
i=0;
while (i<indice)
{
while (strcmp(nom,nompoly[i])==0)
{
printf("ce nom est déja utilisé");
printf("donnez un autre nom");
fflush(stdin);
gets(nom);
}
i++;
}
strcpy(nompoly[i],nom);
poly[indice][0].deg=0;
poly[indice][0].coef=0;
prec=0;
poly[indice][0].suiv=1;
i=1; j=1;
do
{
printf("entrez le coefficient coeff<>0 :");
scanf("%f",&coeff);
printf("entrez le degré :");
scanf("%d",°);
if (deg!=poly[indice][prec].deg)
{
poly[indice][i].coef=coeff;
poly[indice][i].deg=deg;
poly[indice][i].suiv=i+1;
prec=i;
i++;
}
else
poly[indice][prec].coef=poly[indice][prec].coef + coeff;
j++;
poly[indice][i-1].suiv=0;
poly[indice][0].coef=i;
indice++;
getch();
}
while (coeff!=0 && i<10);
}
main()
{
char nom[10],tabnom[10][10],ch,rep;
int i,prec,deg,prod,j,choix,premier;
terme poly[10][21];
printf(" \n MENU PRINCIPAL");
printf(" \n³1: CREER UN POlYNOME ³");
printf(" \n³2: AFFICHER LA LISTE DES POLYNOMES ³");
printf(" \n³3: GESTION D'UN POLYNOME ³");
printf(" \n³4: SUPPRIMER UN POLYNOME ³");
printf(" \n³5: SOMME DE DEUX POLYNOME ³");
printf(" \n³0: QUITTER ³");
printf(" \n³ Votre choix : ³");
printf("Entrez votre choix:");
scanf("%d",choix);
switch (choix)
{
case 1: creation;
case 2: break;
}
getch();
}
j'ai besoin d'aide svp; aidez moi; mon code compile mais la fonctione ne marche pas. aidez moi à gérer çà svp, jcompt sur vous tous.
j'ai un problème, aidez moi svp; c'est une fonction en C qui doit créer une matrice de 10 polynômes maximum.
chaque polynôme de cette matrice est un vecteur d'enregistrements. chaque enregistrement est un terme du polynôme contenant 3 champs: coefficient, degré, suivant.
la fonction doit donc créer cette matrice de 10 polynômes qui sera accompagnée d'un vecteur de 10 noms pour désigner chaque polynôme. mais le problème c'est que la création ne se fait pas en une fois avec la boucle pour, ça se fait à l'appel de la fonction et on incrémente le compteur on stocke donc l'adresse de fin du vecteur et si on veut créer à nouveau on vérifie sil n'y a pas déjà 10 polynômes, on ajoute on en crée sans toutefois dépasser 10 polynômes.
pas de pointeurs, pas de fichiers, structures de données statiques: matrice, vecteur, enregistrement.
c'est à peu près ça..
aidez moi svp, je compte sur vous tous... merci d'avance
j'ai essayé de faire quelque chose, aidez moi svp
voici le code:
#include<stdio.h>
#include<conio.h>
#include<string.h>
typedef struct
{
float coef;
int deg;
int suiv;
}terme;
void creation()
{
char nom[10],nompoly[10][10];
int i,j,indice=0,prec,deg;
float coeff,tempo;
terme poly [10][20];
printf(" \n entrez le nom que vous donnez au polynome:");
fflush(stdin);
gets(nom);
i=0;
while (i<indice)
{
while (strcmp(nom,nompoly[i])==0)
{
printf("ce nom est déja utilisé");
printf("donnez un autre nom");
fflush(stdin);
gets(nom);
}
i++;
}
strcpy(nompoly[i],nom);
poly[indice][0].deg=0;
poly[indice][0].coef=0;
prec=0;
poly[indice][0].suiv=1;
i=1; j=1;
do
{
printf("entrez le coefficient coeff<>0 :");
scanf("%f",&coeff);
printf("entrez le degré :");
scanf("%d",°);
if (deg!=poly[indice][prec].deg)
{
poly[indice][i].coef=coeff;
poly[indice][i].deg=deg;
poly[indice][i].suiv=i+1;
prec=i;
i++;
}
else
poly[indice][prec].coef=poly[indice][prec].coef + coeff;
j++;
poly[indice][i-1].suiv=0;
poly[indice][0].coef=i;
indice++;
getch();
}
while (coeff!=0 && i<10);
}
main()
{
char nom[10],tabnom[10][10],ch,rep;
int i,prec,deg,prod,j,choix,premier;
terme poly[10][21];
printf(" \n MENU PRINCIPAL");
printf(" \n³1: CREER UN POlYNOME ³");
printf(" \n³2: AFFICHER LA LISTE DES POLYNOMES ³");
printf(" \n³3: GESTION D'UN POLYNOME ³");
printf(" \n³4: SUPPRIMER UN POLYNOME ³");
printf(" \n³5: SOMME DE DEUX POLYNOME ³");
printf(" \n³0: QUITTER ³");
printf(" \n³ Votre choix : ³");
printf("Entrez votre choix:");
scanf("%d",choix);
switch (choix)
{
case 1: creation;
case 2: break;
}
getch();
}
2 réponses
Il faudrait au moins dans le switch, appeler la fonction creation par creation(), sinon il n'y a pas d'erreur mais rien ne se passe. Néanmoins, si le compilateur est appelé avec les bons paramètres (-Wall par exemple pour gcc), il devrait te signaler que 'creation' est inutile.
D'autre part, si tu veux augmenter le nombre de réponses, de grâce, utilise les balises <code> !
D'autre part, si tu veux augmenter le nombre de réponses, de grâce, utilise les balises <code> !