aide petit prog c - C - Programmation
Marsh Posté le 23-06-2006 à 11:04:04
lire le k&r, rechercher sur google, utiliser les argc et argv.
Marsh Posté le 23-06-2006 à 11:58:29
ok, j'ai fait un début d'ajout des options en paramètres mais ça ne fontionne pas (j'ai une erreur de déclaration)
Code :
|
Marsh Posté le 23-06-2006 à 11:59:35
- met des balises [ code ], ce sera plus lisible.
- copie/colle le msg d'erreur stp.
Marsh Posté le 23-06-2006 à 12:05:00
Erreurs (avec compilateur gcc):
In function `priseoption':
138: error: `L' undeclared (first use in this function)
138: error: (Each undeclared identifier is reported only once
138: error: for each function it appears in.)
138: warning: passing arg 2 of `ajouter' makes integer from pointer without a cast
141: warning: passing arg 2 of `Supprimer' makes integer from pointer without a cast
151: warning: `return' with a value, in function returning void
Merci
Marsh Posté le 23-06-2006 à 12:09:13
mayapour a écrit : 138: error: `L' undeclared (first use in this function) |
T'as des problèmes de vue ?
Mets des balises [ code ] stp
Marsh Posté le 23-06-2006 à 13:11:53
mayapour a écrit : Bonjour, |
C'est quoi l'interet?
Marsh Posté le 23-06-2006 à 13:16:17
J'ai ajouté les [CODE] (un peu tard dsl)
l'intéret du -q c'est de passer au programme des fichiers tests a stocker dans des logs et de pouvoir y spécifier -q tout comme l'utilisateur qui taperait 0 pour quitter le programme.
Marsh Posté le 23-06-2006 à 13:29:31
ok, à froce de mofifs :
Je ne sais pas quel pointeur utiliser pour récuper la bonne info pour la prise des options :
Code :
|
du coup j'ai des types de pointeurs imcompatibles ?? (le problème doit venir de L)
non ?
Marsh Posté le 23-06-2006 à 13:52:02
Je crois que tu n'as malheureusement pas compris grand chose.
Dans ton main, où est l'appel à ta fonction priseoption ?
Nulle part. Résultat ton programme ne fait rien du tout, et c'est normal.
D'autre part, tu n'as pas de cas default dans ton case, c'est toujours bien d'en avoir un.?
Encore une fois, renseigne les messages d'erreurs ou soit plus clair dans la description de ton probleme.
Marsh Posté le 23-06-2006 à 14:11:27
Exact ... MERCI
J'ai modifier mon main comme ceci : c'est mieux ?
Code :
|
Cependant j'ai 161: error: too few arguments to function `priseoption' dans le main
Il attend quel argument ?
Marsh Posté le 23-06-2006 à 14:16:09
t'as déjà programmé avant ?
ou tu fais ton tp d'année à l'arrache avant de le rendre ?
T'as écrit une fonction à 3 paramètres et t'en renseigne que 2, y'aurait pas comme un oubli ?
Marsh Posté le 23-06-2006 à 16:12:46
En effet, je suis novice en C ... (c'est pourquoi je recherche de l'aide de personnes qui savent programmer)
j'ai ajouté un paramètre à "priseoption".
Code :
|
Mais actuellement, tous mes appelles de fonction dans priseoption génèrent l'erreur : makes integer from pointer without a cast pour ajouter
et from incompatible pointer type pour Supprimer, Tier, afficher.
Je ne trouve pas bcp d'info sur le net sur ce type d'erreur.
Merci de m'éclairer...
Marsh Posté le 23-06-2006 à 16:15:16
Reprend de 0, en ayant quelques connaissances, sinon tu vas jamais t'en sortir.
Trouve un livre , lis les bibliolinks, jette un oeil là ( http://mapage.noos.fr/emdel/ ), commence par des tutoriaux, parce que là tu n'as pas les bases.
Marsh Posté le 23-06-2006 à 16:39:58
Code :
|
un ptit
Code :
|
à la fin de ton main ne serait pas superflu
Marsh Posté le 23-06-2006 à 16:41:37
Code :
|
un void qui renvoit un int, c'est conceptuel
Marsh Posté le 23-06-2006 à 16:56:59
Oui, mauvais placement du return (MERCI)
c'est mieux comme cela :
Code :
|
Il me reste néanmoins toujours les erreurs :
In function `priseoption':
138: warning: passing arg 1 of `ajouter' from incompatible pointer type
138: warning: passing arg 2 of `ajouter' makes integer from pointer without a cast
141: warning: passing arg 1 of `Supprimer' from incompatible pointer type
141: warning: passing arg 2 of `Supprimer' makes integer from pointer without a cast
144: warning: passing arg 1 of `Trier' from incompatible pointer type
147: warning: passing arg 1 of `afficher' from incompatible pointer type
Marsh Posté le 23-06-2006 à 23:19:20
utiliser scanf mondieu mondieu, as tu lu le lien qu'on t'a filé plus haut ? fgets il pue ?
Code :
|
on ne cast pas un malloc.
Marsh Posté le 24-06-2006 à 08:55:07
On ne peut pas résoudre ses problèmes erreur par erreur, il y a vraiment un souci de fond là , il doit vraiment lire ses cours cette fois
Marsh Posté le 24-06-2006 à 20:00:31
mayapour a écrit : En effet, je suis novice en C ... |
Marsh Posté le 26-06-2006 à 11:42:43
voila, et encore "maitriser" est un bien grand mot. J'aurais plutot dit "bricoler".
Marsh Posté le 26-06-2006 à 12:11:58
quand meme pas, le langage seul est assez simple, mais bien programmer en c requiert beaucoup de methodologie
Marsh Posté le 23-06-2006 à 11:02:38
Bonjour,
Débutant en C, je souhaiterai savoir comment changer ce programme initiale (liste chainée) qui demande à l'utilisateur de choisir les options selon l'affichage :
1 : ajout dans la liste
2 : suppression dans liste
3 : trie de la liste
4 : affiche la liste
0 : quit programme
Je voudrai que celui-ci lance le programme suivi de l'option puis les paramêtres (selon option choisi).
Par explemple, ./monprog -a elementAajouter (qui correspond à l'option 1)
./monprog -b elementAsupp (qui correspond à l'option 2)
./monprog -c (option 3)
./monprog -d (option 4)
./monprog -q (option 0)
Avez vous des conseils, des exemples, des idées ?
Merci
Voici le code :
Message édité par mayapour le 23-06-2006 à 13:11:54