Programme incomplet en Langage C
Résolu
zikostyle
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
Salut tous Le Monde , Je réalise un schéma de programme en langage C , mais il n'affiche pas l'étape finale . voici le Code
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<conio.h>
struct date { int jour,mois,anne;
}data;
struct etudiant{
int ID;
char nom[10];
char prenom[10];
struct date data;
};
main(int argc , char* argv[])
{
int i,n;
printf("Entrez les Nombres des Etudiants \n \t");
scanf("%i",&n);
struct etudiant st[n];
for(i=0;i<n;i++){
printf("Entrez Le ID d Etudiant %i \n \t",i+1);
scanf("%i",&st[i].ID);
printf("Entrez Le Nom Etudiant \n \t",i+1);
scanf("%s",st[i].nom);
printf("Entrez Le Prenom d Etudiant \n \t",i+1);
scanf("%s",st[i].prenom);
printf("Entrez Date de naissance su stagiaire \n\t",i+1);
printf("\n Jour : ");
scanf("%d",&st[i].data.jour);
printf("\n Mois : ");
scanf("%ï",&st[i].data.mois);
printf("\n Anne : ");
scanf("%i",&st[i].data.anne);
}
for(i=0;i<n;i++){
printf("\n**************\n");
printf("Le ID : %i \n Nom : %s \n Prenom : %s ",i+1,st[i].ID,i+1,st[i].nom,i+1,st[i].prenom);
printf("\n %i / %i / %i",st[i].data.jour,&st[i].data.mois,&st[i].data.anne);
}
printf("\n**************\n");
getch();
}
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<conio.h>
struct date { int jour,mois,anne;
}data;
struct etudiant{
int ID;
char nom[10];
char prenom[10];
struct date data;
};
main(int argc , char* argv[])
{
int i,n;
printf("Entrez les Nombres des Etudiants \n \t");
scanf("%i",&n);
struct etudiant st[n];
for(i=0;i<n;i++){
printf("Entrez Le ID d Etudiant %i \n \t",i+1);
scanf("%i",&st[i].ID);
printf("Entrez Le Nom Etudiant \n \t",i+1);
scanf("%s",st[i].nom);
printf("Entrez Le Prenom d Etudiant \n \t",i+1);
scanf("%s",st[i].prenom);
printf("Entrez Date de naissance su stagiaire \n\t",i+1);
printf("\n Jour : ");
scanf("%d",&st[i].data.jour);
printf("\n Mois : ");
scanf("%ï",&st[i].data.mois);
printf("\n Anne : ");
scanf("%i",&st[i].data.anne);
}
for(i=0;i<n;i++){
printf("\n**************\n");
printf("Le ID : %i \n Nom : %s \n Prenom : %s ",i+1,st[i].ID,i+1,st[i].nom,i+1,st[i].prenom);
printf("\n %i / %i / %i",st[i].data.jour,&st[i].data.mois,&st[i].data.anne);
}
printf("\n**************\n");
getch();
}
A voir également:
- Programme incomplet en Langage C
- Langage ascii - Guide
- Programme demarrage windows - Guide
- Mettre en veille un programme - Guide
- Langage binaire - Guide
- Message programmé iphone - Guide
2 réponses
1) Tu as mis un %ï (i tréma) pour le mois et non un %i comme pour les autres.
2) Il y a trop de variable dans l'affichage de l'id, nom et prénom (les trois i+1 sont en en trop)
3) l'affichage du mois et année ne doit pas être précédé de &.
2) Il y a trop de variable dans l'affichage de l'id, nom et prénom (les trois i+1 sont en en trop)
3) l'affichage du mois et année ne doit pas être précédé de &.
Bonjour,
main(int argc , char* argv[])
Le bon prototype est :
Et il ne faut pas oublier le
struct etudiant st[n];
Cela fonctionne avec certains compilateurs C... Mais, il vaut mieux utiliser du malloc()...
scanf("%ï",&st[i].data.mois);
Attention, tu as mis un tréma sur le i.
printf("Le ID : %i \n Nom : %s \n Prenom : %s ",i+1,st[i].ID,i+1,st[i].nom,i+1,st[i].prenom);
printf("\n %i / %i / %i",st[i].data.jour,&st[i].data.mois,&st[i].data.anne);
Tu as mis i+1 partout, mais il n'y a pas les %i en face et des & devant les mois et annéees.
Peut-être plutôt :
Cdlt,
Google is your friend
main(int argc , char* argv[])
Le bon prototype est :
int main(...)
Et il ne faut pas oublier le
return 0;
struct etudiant st[n];
Cela fonctionne avec certains compilateurs C... Mais, il vaut mieux utiliser du malloc()...
scanf("%ï",&st[i].data.mois);
Attention, tu as mis un tréma sur le i.
printf("Le ID : %i \n Nom : %s \n Prenom : %s ",i+1,st[i].ID,i+1,st[i].nom,i+1,st[i].prenom);
printf("\n %i / %i / %i",st[i].data.jour,&st[i].data.mois,&st[i].data.anne);
Tu as mis i+1 partout, mais il n'y a pas les %i en face et des & devant les mois et annéees.
Peut-être plutôt :
printf("Etudiant %i : Le ID : %i \n Nom : %s \n Prenom : %s ",i+1,st[i].ID,st[i].nom,st[i].prenom); printf("\n %i / %i / %i",st[i].data.jour,st[i].data.mois,st[i].data.anne);
Cdlt,
Google is your friend