Demande aide sur les structures
Résolu
nizarkhalloufi
Messages postés
11
Date d'inscription
Statut
Membre
Dernière intervention
-
nizarkhalloufi Messages postés 11 Date d'inscription Statut Membre Dernière intervention -
nizarkhalloufi Messages postés 11 Date d'inscription Statut Membre Dernière intervention -
Salut, je viens de commencer a apprendre le langage c et j'essaie de faire quelques exercices simples sur les structures. j'ai écris ce code avec codeblocks et je sais pas pourquoi ça ne marche pas.
S'il vous plais est ce que quelqu'un peut m'expliquer pourquoi.
#include <stdio.h>
#include <stdlib.h>
typedef struct Personne Personne;
struct Personne
{
char nom[100];
char prenom[100];
char adresse[1000];
long age;
int garcon;
};
int main()
{
long i=0, j=0;
Personne utilisateur[4];
for(i=0 ; i<4 ; i++)
{
printf("Quel est votre nom ? ");
scanf("%s", utilisateur[i].nom);
printf("Votre prenom ? ");
scanf("%s", utilisateur[i].prenom);
printf("Votre adresse ? ");
scanf("%s", utilisateur[i].adresse);
printf("Votre age ? ");
scanf("%ld", utilisateur[i].age);
printf("Votre sex ?\n1.garcon\n2.fille\n");
scanf("%d", utilisateur[i].garcon);
while(utilisateur[i].garcon < 1 || utilisateur[i].garcon > 2)
{
printf("resseyez :");
scanf("%d", utilisateur[i].garcon);
}
if(utilisateur[i].garcon == 2)
utilisateur[i].garcon=0;
}
for(j=0 ; j<4 ; j++)
{
if(utilisateur[j].garcon)
printf("L'utilisateur n°%ld est un garcon appele %s %s qui habite a %s et qui a %ld ans d'age\n", j+1,utilisateur[j].prenom, utilisateur[j].nom, utilisateur[j].adresse, utilisateur[j].age);
else
printf("L'utilisateur n°%ld est une fille appelee %s %s qui habite a %s et qui a %ld ans d'age\n", j+1,utilisateur[j].prenom, utilisateur[j].nom, utilisateur[j].adresse,utilisateur[j].age);
}
return 0;
}
S'il vous plais est ce que quelqu'un peut m'expliquer pourquoi.
#include <stdio.h>
#include <stdlib.h>
typedef struct Personne Personne;
struct Personne
{
char nom[100];
char prenom[100];
char adresse[1000];
long age;
int garcon;
};
int main()
{
long i=0, j=0;
Personne utilisateur[4];
for(i=0 ; i<4 ; i++)
{
printf("Quel est votre nom ? ");
scanf("%s", utilisateur[i].nom);
printf("Votre prenom ? ");
scanf("%s", utilisateur[i].prenom);
printf("Votre adresse ? ");
scanf("%s", utilisateur[i].adresse);
printf("Votre age ? ");
scanf("%ld", utilisateur[i].age);
printf("Votre sex ?\n1.garcon\n2.fille\n");
scanf("%d", utilisateur[i].garcon);
while(utilisateur[i].garcon < 1 || utilisateur[i].garcon > 2)
{
printf("resseyez :");
scanf("%d", utilisateur[i].garcon);
}
if(utilisateur[i].garcon == 2)
utilisateur[i].garcon=0;
}
for(j=0 ; j<4 ; j++)
{
if(utilisateur[j].garcon)
printf("L'utilisateur n°%ld est un garcon appele %s %s qui habite a %s et qui a %ld ans d'age\n", j+1,utilisateur[j].prenom, utilisateur[j].nom, utilisateur[j].adresse, utilisateur[j].age);
else
printf("L'utilisateur n°%ld est une fille appelee %s %s qui habite a %s et qui a %ld ans d'age\n", j+1,utilisateur[j].prenom, utilisateur[j].nom, utilisateur[j].adresse,utilisateur[j].age);
}
return 0;
}
A voir également:
- Demande aide sur les structures
- Amandine utilise une application pour gérer les inscriptions aux activités de son club. dans le schéma (structure) de la base de données de l’application représenté ci-dessous : de quoi « telephone » est-il le nom ? de quoi « inscriptions » est-il le nom ? associez chaque terme avec un attribut, une donnée, un enregistrement, une table, une valeur ou une variable. - Forum Loisirs / Divertissements
- Les structures - Forum Programmation
- Dans la table des matières du document à télécharger, le chapitre 6 et ses 2 sections n'apparaissent pas. trouvez l'erreur dans la structure du document et corrigez-la. mettez à jour la table des matières. quel est le mot formé par les lettres en majuscules de la table des matières après sa mise à jour ? - Forum Word
- Les structures en C ✓ - Forum C
- Dans son restaurant, igor utilise une application pour gérer les réservations. dans le schéma (structure) de la base de données de l’application représenté ci-dessous : de quoi « telephone » est-il le nom ? de quoi « reservations » est-il le nom ? associez chaque terme avec un attribut, une donnée, un enregistrement, une table, une valeur ou une variable. - Forum Antivirus
scanf("%d", utilisateur[i].garcon);
Ensuite, si ça bloque c'est que tu dois entrer un chiffre compris entre 1 et 2 dans la console (Et ceci, 4 fois- Ne pas oublier d'appuyer sur Entrer)
La condition qui suit le while n'est pas logique non plus ... autant modifier la condition du while directement.
Essaies :
Sur tous les scanf il faut utiliser cette syntaxe (SAUF si la variable est un tableau - donc déjà un pointeur), mais pas les printf.