begin process at 2012 05 30 13:26:40
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Débutant(e)

 > 

test(variable personaliser+tableau+boucle)


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

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

Administrateur CodeS-SourceS
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

Administrateur CodeS-SourceS
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

Administrateur CodeS-SourceS
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

Administrateur CodeS-SourceS
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


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,530 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales