Accueil > Forum > > > > test(variable personaliser+tableau+boucle)
test(variable personaliser+tableau+boucle)
mercredi 22 septembre 2010 à 23:01:43 |
test(variable personaliser+tableau+boucle)

florent175
|
Je ne comprend pas d'où vient l'erreur dans mon code ci dessous.
Le programme doit récupéré le nom, le prénom, puis l'adresse de 3joueurs et afficher les donner recueilli a la fin
Pouvez vous me donner une explication pour que je comprenne? Merci à tous.
Dans le main.c:
Code C/C++ : #include <stdlib.h>
#include <stdio.h>
#include "main.h"
int main(int argc, char *argv[])
{
Personnes information[2] = {0};
int joueur = 0;
while (joueur < 3)
{
printf ("Votre nom?\n");
scanf ("%s", information[0].nom);
printf ("Votre prenom?\n");
scanf ("%s", information[0].prenom);
printf ("Ou habitez vous?\n");
scanf ("%s", information[0].adresse);
printf ("\n\n");
joueur++;
}
printf ("joueur 1:\n nom- %s\n prenom- %s\n adresse- %s\n\n", information[0].nom, information[0].prenom, information[0].adresse);
printf ("joueur 2:\n nom- %s\n prenom- %s\n adresse- %s\n\n", information[1].nom, information[1].prenom, information[1].adresse);
printf ("joueur 3:\n nom- %s\n prenom- %s\n adresse- %s\n\n", information[2].nom, information[2].prenom, information[2].adresse);
return 0;
}
==================================
Dans le main.h:
Code C/C++ : typedef struct Personnes Personnes;
struct Personnes
{
char nom[100] = {0};
char prenom[100] = {0};
char adresse[100] = {0};
};
|
|
jeudi 23 septembre 2010 à 10:15:46 |
Re : test(variable personaliser+tableau+boucle)

CptPingu
|
Dans le while, tu indiques toujours [0], ça devrait être un indice.
Donc: information[0] => information[joueur]
________________________________________________________________________
Historique de mes créations, et quelques articles:
http://0217021.free.fr/portfolio
Merci d'utiliser Réponse acceptée si un post répond à votre question
|
|
jeudi 23 septembre 2010 à 10:31:45 |
Re : test(variable personaliser+tableau+boucle)

CptPingu
|
Et aussi: ton tableau doit avoir une taille de 3 et noon une taille de 2.
Donc: Personnes information[2] => Personnes information[3].
________________________________________________________________________
Historique de mes créations, et quelques articles:
http://0217021.free.fr/portfolio
Merci d'utiliser Réponse acceptée si un post répond à votre question
|
|
jeudi 23 septembre 2010 à 11:30:48 |
Re : test(variable personaliser+tableau+boucle)

florent175
|
Pour la taille du tableau on compte bien 0,1,2 sa fait donc 3? non
|
|
jeudi 23 septembre 2010 à 11:36:27 |
Re : test(variable personaliser+tableau+boucle)

CptPingu
|
Non. Ne pas confondre taille et indice.
Si tu as un tableau de 1 élément alors tu as l'élément 0.
Si tu as un tableau de 2 éléments alors tu as les éléments 0 et 1.
Si tu as un tableau de 3 éléments, alors tu as les éléments 0, 1 et 2.
Donc c'est bien un tableau de 3 éléments dont tu as besoin, que tu vas parcourir de 0 à 2.
Soit:
Personnes information[3];
while (joueur < 3)
{
etc...
________________________________________________________________________
Historique de mes créations, et quelques articles:
http://0217021.free.fr/portfolio
Merci d'utiliser Réponse acceptée si un post répond à votre question
|
|
jeudi 23 septembre 2010 à 15:05:44 |
Re : test(variable personaliser+tableau+boucle)

florent175
|
Lorsque les donner sont récupérer le programme doit afficher les donner recueilli mais le problème c'est qu'il n'affiche pas les donner recueilli plutôt des trace de passage d'autre programme a part pour joueur1 ou il affiche les donner du joueur3.
|
|
jeudi 23 septembre 2010 à 15:12:33 |
Re : test(variable personaliser+tableau+boucle)

CptPingu
|
Réponse acceptée !
J'ai repris ton code avec les remarques que je t'ai faite (plus quelques petites retouches mineures), et ça fonctionne parfaitement.
Code C/C++ :
#include <stdlib.h>
#include <stdio.h>
typedef struct
{
char nom[100];
char prenom[100];
char adresse[100];
} Personne;
int main(void)
{
const int size = 3;
Personne informations[size];
int joueur = 0;
while (joueur < size)
{
printf("Votre nom?\n");
scanf("%s", informations[joueur].nom);
printf("Votre prenom?\n");
scanf("%s", informations[joueur].prenom);
printf("Ou habitez vous?\n");
scanf("%s", informations[joueur].adresse);
printf("\n\n");
++joueur;
}
joueur = 0;
while (joueur < size)
{
printf("joueur %i:\n nom: %s\n prenom: %s\n adresse: %s\n\n",
joueur + 1,
informations[joueur].nom,
informations[joueur].prenom,
informations[joueur].adresse);
++joueur;
}
return 0;
}
________________________________________________________________________
Historique de mes créations, et quelques articles:
http://0217021.free.fr/portfolio
Merci d'utiliser Réponse acceptée si un post répond à votre question
|
|
jeudi 23 septembre 2010 à 15:42:36 |
Re : test(variable personaliser+tableau+boucle)

florent175
|
Merci beaucoup.
Grâce a l'exemple que tu ma montrer j'ai put comprendre d'où venez l'erreur.
Le problème venez de l'initialisation a "0".
Voici ma version ci dessous:
main.c
Code C/C++ :
#include <stdlib.h>
#include <stdio.h>
#include "main.h"
int main(int argc, char *argv[])
{
Personnes information[3];
int joueur = 0;
while (joueur < 3)
{
printf ("Votre nom?\n");
scanf ("%s", information[joueur].nom);
printf ("Votre prenom?\n");
scanf ("%s", information[joueur].prenom);
printf ("Ou habitez vous?\n");
scanf ("%s", information[joueur].adresse);
printf ("\n\n");
joueur++;
}
printf ("joueur 1:\n nom- %s\n prenom- %s\n adresse- %s\n\n", information[0].nom, information[0].prenom, information[0].adresse);
printf ("joueur 2:\n nom- %s\n prenom- %s\n adresse- %s\n\n", information[1].nom, information[1].prenom, information[1].adresse);
printf ("joueur 3:\n nom- %s\n prenom- %s\n adresse- %s\n\n", information[2].nom, information[2].prenom, information[2].adresse);
return 0;
}
main.h
Code C/C++ : typedef struct Personnes Personnes;
struct Personnes
{
char nom[100];
char prenom[100];
char adresse[100];
};
|
|
Cette discussion est classée dans : printf, information, adresse, joueur, prenom
Répondre à ce message
Sujets en rapport avec ce message
regardez ma source HELP [ par asnow ]
BonjourJe debute en C. j'ai voulu apprendre à enregistrer des données dans un fichier, ca a donné ce code .Si vous pouviez me donner des recommandatio
Cryptage vigénere [ par babounlehobbit ]
Quelqu'un pourrait il me dire ce qui cloche dans mon code ??il crypte pa scomme il le faudrai !La grille de deprart est composee de tous le code ascii
Chaine de caractère ! [ par rems14 ]
Bonjour, j'ai fais un petit programme qui ne marche pas. POuvais vous me dire ce qui ne marche pas. Je vous explique, je veux demander le prénom de qu
Gestion des espaces en C [ par maximax ]
Bonjour à tous...je suis nouveau ici et j'ai un pb avec un petit programme tout bête en C...En gros, je veux que l'utilisateur entre les informations
Ayez pitié de moi !!! HELP PLEASE ! [ par maximax ]
Bonjour à tous...je suis nouveau ici et j'ai un pb avec un petit programme tout bête en C...En gros, je veux que l'utilisateur entre les informations
je ne comprends pas mon code n'affiche pas ma grille...de morpion [ par nicoworld ]
Voilà ben le .exe m'affiche pas ma grille cje ne comprends pas!!!!si quelqu'un peut me dire pourquoi????voilà le code://MORPION 10*10 :#include int ve
demande d'aide pour un carnt d'adresses avec liste chaînée [ par titoune85 ]
bonsoir à tous!je vous demande un peu de temps et beaucoup d'aide pour ce pg qui consiste a creer un carnet d'adresse classé par ordre alphabetique. J
Demande d'aide [ par mikak ]
J'ai un probleme avec le MALLOC de ce programme,aidez moia trouver une soltion pour qu'on puisse lister par ordre alphabétiquevoid trie_affiche(){ int
Probleme de fonction sur la bataille navale... [ par YASS_95 ]
Bonjour à tous, Je travaille sur un projet qui est le jeu de la bataille navale et j'ai un petit probleme de fonctions... je vais vous expliquer. J'a
Trier une structure indexée [ par RootASM ]
Bonjour,J'ai écrit un programme qui permet de faire des recherches, ajout, suppression sur une liste de membres.Je dois trier cette liste de nom, lors
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Forum
MATLAB PROGRAMME MATLAB PROGRAMME par wahab1087
Cliquez pour lire la suite par wahab1087 RGB2GRAYRGB2GRAY par musa18
Cliquez pour lire la suite par musa18
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|