A voir également:
- Question en programmation c
- Application de programmation - Guide
- Mettre en veille un programme - Guide
- Programmation logo tortue télécharger - Télécharger - Études & Formations
- Programmation télécommande porte de garage brico depot - Forum Matériel & Système
2 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
14 avril 2009 à 00:12
14 avril 2009 à 00:12
Hello,
Remarque pour le code :
Ton printf final est mal utilisé. T'as oublié de spécifier le format "%s".
De plus attention à l'utilisation de scanf, surtout pour les chaînes de caractères. Donne au moins la taille maximale dans le format ou utilise fgets.
Lorsque tu fais : scanf(e[i].lejour); en dehors des boucles for, i vaudra 5. Tu es donc en dehors du tableau. Tu as aussi oublié de spécifier "%s".
La taille pour tes libellés est trop petite. Il ne faut pas oublier la place pour le \0 final.
Et enfin la fonction main() renvoie un int.
Remarque algorithmique :
Toujours concernant le scanf(e[i].jour), tu vas récrire dans la structure. Tu ne pourras pas connaître l'emploi du temps de la journée rentrée par l'utilisateur. Il faudrait utiliser un buffer et effectuer une comparaison avec strcmp pour savoir quelle journée affichée.
Cdlt
Remarque pour le code :
Ton printf final est mal utilisé. T'as oublié de spécifier le format "%s".
De plus attention à l'utilisation de scanf, surtout pour les chaînes de caractères. Donne au moins la taille maximale dans le format ou utilise fgets.
Lorsque tu fais : scanf(e[i].lejour); en dehors des boucles for, i vaudra 5. Tu es donc en dehors du tableau. Tu as aussi oublié de spécifier "%s".
La taille pour tes libellés est trop petite. Il ne faut pas oublier la place pour le \0 final.
Et enfin la fonction main() renvoie un int.
Remarque algorithmique :
Toujours concernant le scanf(e[i].jour), tu vas récrire dans la structure. Tu ne pourras pas connaître l'emploi du temps de la journée rentrée par l'utilisateur. Il faudrait utiliser un buffer et effectuer une comparaison avec strcmp pour savoir quelle journée affichée.
#include <stdio.h> #include <string.h> struct seance { char libelle [3]; char matiere [30]; }; struct jour { char lejour[20]; struct seance s[5]; }; int main(void) { struct jour e[5]; char jour[20]; int i,j; for(i=0;i<5;i++) { printf ("donner le jour : "); scanf("%19s",e[i].lejour); for (j=0;j<5;j++) { printf("donner la libelle : "); scanf("%2s",e[i].s[j].libelle); printf("donner la matiere : "); scanf("%29s",e[j].s[j].matiere); } } printf("donner le jour") ; scanf("%19s",jour); printf("votre emploi de temp est : \n"); for (i=0;i<5;i++) { if(strcmp(jour,e[i].lejour)==0) for (j=0;j<5;j++) { printf("%s:%s\n",e[i].s[j].libelle,e[j].s[j].matiere); } } return 0; }
Cdlt
La résolution n'est pas évidente.
Que nous proposes-tu ?
Que nous proposes-tu ?
j'ai des erreur dans la dernière partie, comment je fais?
#include<stdio.h>
#include<conio.h>
struct seance
{ char libelle [2];
char matiere [30];
};
struct jour
{ char lejour[20];
struct seance s[5];
};
main()
{
struct jour e[5] ;
int i,j ;
for(i=0;i<5;i++ )
{
printf ("donner le jour");
scanf("%s",e[i].lejour);
{
for (j=0;j<5;j++)
{
printf("donner la libelle ");
scanf("%s",e[i].s[j].libelle);
printf("donner la matiere");
scanf("%s",e[j].s[j].matiere);
}
}
}
printf("donner le jour") ;
scanf(e[i].lejour);
printf("votre emploi de temp est");
for (i=0;i<5;i++)
{
for (j=0;j<5;j++)
{
printf ( e[i].s[j].libelle,":",e[j].s[j].matiere ) ;
}
}
getch() ;
}
#include<stdio.h>
#include<conio.h>
struct seance
{ char libelle [2];
char matiere [30];
};
struct jour
{ char lejour[20];
struct seance s[5];
};
main()
{
struct jour e[5] ;
int i,j ;
for(i=0;i<5;i++ )
{
printf ("donner le jour");
scanf("%s",e[i].lejour);
{
for (j=0;j<5;j++)
{
printf("donner la libelle ");
scanf("%s",e[i].s[j].libelle);
printf("donner la matiere");
scanf("%s",e[j].s[j].matiere);
}
}
}
printf("donner le jour") ;
scanf(e[i].lejour);
printf("votre emploi de temp est");
for (i=0;i<5;i++)
{
for (j=0;j<5;j++)
{
printf ( e[i].s[j].libelle,":",e[j].s[j].matiere ) ;
}
}
getch() ;
}
14 avril 2009 à 06:04
Merci pour ch@im@.
Cdlt.
14 avril 2009 à 22:22
14 avril 2009 à 22:29
Je suis content que fiddy t'ai apporté des solutions.
fiddy c'est le genre "d'entité" qui arrive à t'apporter des solutions à des problèmes qui n'existent pas - c'est très fort non ??.
Bonne soirée ch@im@.