Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1073 connectés 

  FORUM HardWare.fr
  Programmation
  C

  Je comprends pas pourquoi ça marche pas

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Je comprends pas pourquoi ça marche pas

n°1804483
seb-info
Posté le 25-10-2008 à 15:51:40  profilanswer
 

Voilà le code compilé avec Dev C++ V5 Beta :
 

Code :
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. struct Personne {
  4.        char nom[50];
  5.        char prenom[60];
  6.        int age;
  7.        };
  8.      
  9. void Initialiser(Personne* point) {
  10.      (*point).nom[] = Dupont;
  11.      (*point).prenom[] = Alain;
  12.      (*point).age = 25;
  13.      }
  14.    
  15. int main(int argc, char *argv[])
  16. {
  17.   Personne individu;
  18.   Initialiser(&individu);
  19.   printf("Vous avez saisie %c %c qui a %d", individu.nom, individu.prenom, individu.age);
  20.   system("PAUSE" );
  21.   return 0;
  22. }


 
Je débute en C et j'ai farfouillé le code dans tout les sens sans trouver ou est l'erreur ... :ouch:


Message édité par seb-info le 25-10-2008 à 15:52:04
mood
Publicité
Posté le 25-10-2008 à 15:51:40  profilanswer
 

n°1804485
Elmoricq
Modérateur
Posté le 25-10-2008 à 15:57:00  profilanswer
 

Compiling: C:\Program Files\CodeBlocks\seb\test.c
C:\Program Files\CodeBlocks\seb\test.c: In function `void Initialiser(Personne*)':
C:\Program Files\CodeBlocks\seb\test.c:10: error: expected primary-expression before ']' token
C:\Program Files\CodeBlocks\seb\test.c:10: error: `Dupont' undeclared (first use this function)
C:\Program Files\CodeBlocks\seb\test.c:10: error: (Each undeclared identifier is reported only once for each function it appears in.)
C:\Program Files\CodeBlocks\seb\test.c:11: error: expected primary-expression before ']' token
C:\Program Files\CodeBlocks\seb\test.c:11: error: `Alain' undeclared (first use this function)
C:\Program Files\CodeBlocks\seb\test.c: In function `int main(int, char**)':
C:\Program Files\CodeBlocks\seb\test.c:19: warning: int format, pointer arg (arg 2)
C:\Program Files\CodeBlocks\seb\test.c:19: warning: int format, pointer arg (arg 3)
C:\Program Files\CodeBlocks\seb\test.c:22:2: warning: no newline at end of file
Process terminated with status 1 (0 minutes, 1 seconds)
5 errors, 3 warnings

n°1804491
seb-info
Posté le 25-10-2008 à 16:52:44  profilanswer
 

Oui c'est ça. Le truc qui m'embête le plus et qui doit tout bloquer c'est l'erreur sur la fonction. Je comprend pas pourquoi il me dit que j'ai une erreur dans mes arguments. J'ai déclare ma structure, mi la variable individu et point sur le même type et j'initialise point avec &invidiu.
 
Les erreurs je les ai lu et je les comprend pas ...


Message édité par seb-info le 25-10-2008 à 16:57:09
n°1804502
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 25-10-2008 à 17:21:55  profilanswer
 

Tu es sur que ceci ne te dérange pas plus que ça ?  
 

Code :
  1. (*point).nom[] = Dupont;
  2. (*point).prenom[] = Alain;


---------------
J'ai un string dans l'array (Paris Hilton)
n°1804535
Elmoricq
Modérateur
Posté le 25-10-2008 à 19:03:26  profilanswer
 

Le plus simple c'est de te donner un peu de documentation.
Essaie ici, tu devrais trouver la réponse à tes questions :)
http://mapage.noos.fr/emdel/notes.htm#pointeurs

n°1804617
gilou
Modérateur
Modzilla
Posté le 26-10-2008 à 01:31:01  profilanswer
 

Lui donner une ligne qui marche peut aussi l'éclairer:
(*point).nom[] = Dupont;  
1) il manque les doubles quotes pour indiquer que c'est une chaine
2) On ne peut pas assigner une chaine dans un buffer avec un simple = en dehors d'une déclaration du buffer. Il va falloir faire un appel de fonction pour copier la chaine dans ton buffer.
3) plutot que (*point).nom la pratique courante est de passer par l'écriture moins lourde point->nom
 
strcpy(point->nom, "Dupont" );
 
A+,


Message édité par gilou le 26-10-2008 à 01:41:22

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°1806592
gee
Bon ben hon
Posté le 30-10-2008 à 20:12:38  profilanswer
 

Un truc qui m'etonne c'est qu'il utilise Personne sans "struct", et sans l'utiliser dans un typedef aussi...
Mais je n'ai jamais utilise DevC donc peut etre que le compilateur est plus souple?


---------------
"Phildar t'es vraiment une pute pas finie toi! Et Manu le gros porc arrete de t'marrer!"
n°1806742
Tarabiscot​e
Posté le 31-10-2008 à 08:42:38  profilanswer
 

gee a écrit :

Un truc qui m'etonne c'est qu'il utilise Personne sans "struct", et sans l'utiliser dans un typedef aussi...
Mais je n'ai jamais utilise DevC donc peut etre que le compilateur est plus souple?


C'est parce qu'il programme en C++ et pas en C.

n°1806745
gilou
Modérateur
Modzilla
Posté le 31-10-2008 à 09:01:42  profilanswer
 

gee a écrit :

Un truc qui m'etonne c'est qu'il utilise Personne sans "struct", et sans l'utiliser dans un typedef aussi...

Bien vu!
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°1807024
gee
Bon ben hon
Posté le 31-10-2008 à 17:38:24  profilanswer
 

Tarabiscote a écrit :


C'est parce qu'il programme en C++ et pas en C.


Ah c'est tolere en C++? je ne savais pas :D
Sinon s'il fait du C++ autant virer ses pointeurs pour des references, ca sera plus simple.


---------------
"Phildar t'es vraiment une pute pas finie toi! Et Manu le gros porc arrete de t'marrer!"

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  Je comprends pas pourquoi ça marche pas

 

Sujets relatifs
Animation flash : ça marche chez vous ?Afficher les erreurs PHP sur la page, marche pas
Formulaire qui marche a moitié[SSAS] Comment ça marche?
[JSP/servlet] comment ca marche ?programmation basique sur cygwin qui ne marche pas
je ne comprends pas comment marche ce fla ....[RESOLU]Je comprends rien à mon GLOBALS...ça ne marche plus !
[PHP] Boucle qui marche po... j'y comprends rien[PHP] Requête MySQL ds une fonction, ça marche po :( je comprends po !
Plus de sujets relatifs à : Je comprends pas pourquoi ça marche pas


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR