Decomposition chaine de caractère - C++ - Programmation
Marsh Posté le 11-10-2015 à 10:53:09
Déjà rien qu'avec un éditeur de texte à coloration syntaxique, on voit le premier bug:
while (c != '.') // tant que c ne retourne pas un point, la boucle tourne {
et ça
void main()
c'est guère mieux.
Enfin
#include <conio.h>
vaut mieux éviter pour du code portable basique.
A+,
Marsh Posté le 11-10-2015 à 11:21:11
D'autre part, ce code ressemble à du C, pas du C++.
Si tu manipules des chaînes de caractères, std::string est fait pour cela, inutile de passer par des tableaux de chars.
Regardes donc ce qui se passe quand tu fais
std::string mot;
cin >> mot;
et extrapoles ce que tu peux faire avec
while (cin >> mot) {
...
}
et quand tu auras testé et que tu auras vu la limitation de cette méthode due au comportement de cin avec la fin de ligne (il bouffe la fin de ligne et reste en attente d'un mot), tu pourras passer à la méthode standard:
Code :
|
A+,
Marsh Posté le 11-10-2015 à 12:31:53
Merci de ta réponse, je sais que String est plus simple, cependant les profs veulent qu'on manipule les tableaux de char... C'est également eux qui nous demandent d'importer <conio.h>
Marsh Posté le 11-10-2015 à 16:40:09
Donc les profs en question n'ont jamais appris correctement le C++, en sont restés à des manières de programmer datant d'il y a 20 quand ils ont appris le C, et ils vous rendent un très mauvais service en ne vous enseignant pas les bonnes méthodes.
Code :
|
Bon, après, on peut vraiment utiliser les possibilités du C++ pour faire quelque chose de flexible et efficace:
Code :
|
Manque juste le code pour imprimer les mots séparés par une virgule, quand il y en a plusieurs, mais ça me semble pas utile de le mettre ici.
A+,
Marsh Posté le 11-10-2015 à 21:24:23
Bah merci beaucoup, j'espere que je vais pas me faire engueuler x)
J'avais appris tout sa en Java (son equivalence) dans un autre etablissement et c'etait plus facile avec les String je suis d'accord. Mais dans ce nouveau batiment avec leurs C++, ils veulent pas encore nous présenter les String et je me demande pourquoi ^^^
Merci pour ton code Gilou
Marsh Posté le 13-10-2015 à 14:02:28
gilou a écrit : Manque juste le code pour imprimer les mots séparés par une virgule, quand il y en a plusieurs, mais ça me semble pas utile de le mettre ici. |
En y réfléchissant un peu, c'est tout bête:
Code :
|
A+,
Marsh Posté le 10-10-2015 à 22:06:09
Bonsoir,
un de mes exercices est de faire rentrer une phrase à l'utilisateur, et découper chaque moi de cette même phrase.
Le programme doit ensuite être capable de trouver le mot le plus longt.
Je ne sais vraiment pas si ce que j'ai fais s'approche de ce qui est demandé, ou alors si je suis completement à coter de la plaque mais mon code
ne fonctionne pas encore:
Ps : je suis pas très fort en programmation, j'espère que mon code à quand même du sens. pour des propositions éventuelles d'utiliser des String, on a pas le droit dans cet exercice.
Cordialement