les chaines de caracteres - C++ - Programmation
Marsh Posté le 05-12-2005 à 16:26:16
Euh... en C++, ce serait peut-être plus sympa d'utiliser une collection de string... Genre avec les classes vector et string par exemple (ou pas, j'suis un noob en C++)
A moins que tu ne fasses du C ?
Marsh Posté le 05-12-2005 à 16:29:57
non, je sais qu'apparement cette histoire de char* est pas trop conseillée, mais je suis au tout début de l'apprentissage du c++, ma prof a apparement consciement évité le sujet des chaines de caractères et je dois pourtant les traiter. C'est juste un exercice, donc je cherche surtout a comprendre et a faire avec ce que je comprends. Et la je comprends plus =)
Enfin bon donc c'est normalement du c++ que je fais, mais c'est vrai que tout ce qu'on fait a l'air plutot du C...
Marsh Posté le 05-12-2005 à 16:30:40
en fait j'aimerais réussir a le faire avec les char, et puis quand je verrais mieux les chaines de caracteres je le ferais avec ce qui existe de mieux
Marsh Posté le 05-12-2005 à 16:56:35
Ben en fait, pour faire les choses bien, les string devraient être la première chose à apprendre en C++ Sinon c'est du C, pas du C++.
Donc recherche un cours de C sur les chaines de caractères.
Marsh Posté le 05-12-2005 à 17:20:43
j'ai regardé ce qui existait en c, mais ca m'aide pas beaucop plus. Est ce que c'est vraiment possible de faire ce que je veux faire?
est ce que je peux pas attendre l'exercice d'apres pour apprendre les string?
Marsh Posté le 05-12-2005 à 17:24:48
On peut, en C. Juste ce n'est pas si simple que ça.
Poste le bout de code pointant ton problème, qu'on voie comment tu as fait.
Marsh Posté le 05-12-2005 à 17:35:00
Alors, le but de l'exercice c'est de faire un annuaire tout bete. Voila le bout de code qui correspond a l'enregistreemnt des données :
Code :
|
Marsh Posté le 05-12-2005 à 17:35:22
le message que t'indique ton compilo indique seulement que tu essaies d'assigner 2 types de données différents. Je suppose donc que tu as quelque chose comme ça:
char**a;
char*b;
et tu fais a=b;
J'ai résumé la situation mais le message du compilo semble indiquer une mqnip de ce style.
Avec un peu plus de code on pourrait y voir plus clair.
Stef
Fab4am a écrit : Bonjour,
|
Marsh Posté le 05-12-2005 à 17:47:50
plutôt curieux comme définition:
Code :
|
avec ça tu définis du char *** ? es tu sur que c'est ce que tu veuilles ?
Stef
Marsh Posté le 05-12-2005 à 17:49:22
scol30 a écrit : plutôt curieux comme définition:
|
Aucuen idée. J'ai deja galéré pour trouver qu'il fallait mettre une etoile pour que ca marche, mais j'ai pas trouvé d'explication réelle sur le net de cette étoile, malgré mes nombreuses recherches. J'ai juste constaté que ca marchait !
Marsh Posté le 05-12-2005 à 17:50:02
ReplyMarsh Posté le 05-12-2005 à 17:56:03
Fab4am a écrit : Aucuen idée. J'ai deja galéré pour trouver qu'il fallait mettre une etoile pour que ca marche, mais j'ai pas trouvé d'explication réelle sur le net de cette étoile, malgré mes nombreuses recherches. J'ai juste constaté que ca marchait ! |
"pointeur", ca te dit quelque chose, ou ce mot aussi t'est totalement inconnu ?
Marsh Posté le 05-12-2005 à 18:00:10
Désolée, je débute et je suis obligée de comprendre toute seule comment ca marche, alors me tapez pas trop fort
J'ai lu plusieurs fois, pointeur, mais ca ne doit pas correspondre à ce que je crois apparement...
Marsh Posté le 05-12-2005 à 18:07:27
http://mapage.noos.fr/emdel
Mais encore une fois, c'est du C. Si ton but c'est le C++, démarre directement avec du C++ sans passer par la case C.
Marsh Posté le 05-12-2005 à 18:24:37
Alors je vais raler auprès de ma prof. On est censé apprendre du C++, mais tout ce que je sais faire est apparement du C (exemple les include du début, mon compilateur me dit que c'est pas vraiment les vrais du c++ !)
Marsh Posté le 05-12-2005 à 18:31:25
C'est du vieux C++ tes #include.
Maintenant ils s'écrivent plutôt comme ça :
#include <iostream>
#include <cstdlib>
#include <cstring>
Marsh Posté le 05-12-2005 à 20:00:55
Fab4am a écrit : Alors je vais raler auprès de ma prof. On est censé apprendre du C++, mais tout ce que je sais faire est apparement du C (exemple les include du début, mon compilateur me dit que c'est pas vraiment les vrais du c++ !) |
Apprendre le C++ pendant ses études, grace à un prof, on en a tous révé ...
Ta prof a choisi d'introduire les chaines de caractères C-style avant std::string, bon. C'est deux choses qu'un programmeur C++ est obligé de connaitre. Le fait est que les gens qui ont réfléchis à la pédagogie de l'enseignement du C++, et qui ont de l'expérience, optent pour l'apprentissage de std::string dès le début, et les char* pour beaucoup plus tard.
Pour ça, je crois que tu auras du mal à convaincre ta prof de refaire son cours ...
Mais tu peux toujours lui demander si tu a le droit d'utiliser std::string pour ton tp.
Par contre, #include <iostream.h>, le fait que la bibliothèque standard soit dans le namespace std, il faut en parler à la prof, ça ne compilera pas sur un compilateur récent sans gros warning, faut se mettre un peu à jour, c'est pas d'hier quand meme !
Marsh Posté le 06-12-2005 à 11:31:25
scol30 a écrit : plutôt curieux comme définition:
|
T tab[x][y] != T **tab
Marsh Posté le 07-12-2005 à 11:19:22
bon, finalement j'ai utilisé les std::string comme vous me l'aviez conseillé, et j'ai enfin réussi a finir mon petit programme
merci à vous tous !
Marsh Posté le 05-12-2005 à 16:21:54
Bonjour,
je suis en train de faire un exercice en c++, et je rencontre ce probleme :
je veux mettre des chaines de caracteres dans un tableau, alors comme les chaines de caracteres sont deja des tableaux, j'ai fait un tableau a 2 dimensions, et dans chaque ligne (ou colonne), je veux mettre mes caracteres. Bon mais voila ce que me dit g++ :
je ne comprends pas trop ou est le probleme. Pourriez vous m'aider?
Merci d'avance
Amandine, une débutante