Ecrire W avec étoiles - C++ - Programmation
Marsh Posté le 11-11-2018 à 22:31:13
Code :
|
j'ai codé ceci mais le résultat est tout simplement l'horreur
je me retrouve avec un écran de charabia rien à voir avec ce que je veux,
je ne comprends pas où ça bloque,
j'ai pourtant augmenté de 2 espaces sur chaque ligne mais il ne prend pas en compte ceci
Marsh Posté le 11-11-2018 à 22:50:27
byakuren a écrit : j'ai pourtant augmenté de 2 espaces sur chaque ligne mais il ne prend pas en compte ceci |
Bah oui, en C(++) faut mettre des blocs avec des accolades... C'est pas du Python. Tu le fais à moitié, il manque une accolade ouvrante. Dans cet état le code ne devrait même pas compiler ou alors avec un gros warning (que tu as activés et que tu regardes n'est-ce pas?).
Marsh Posté le 11-11-2018 à 23:44:48
rat de combat a écrit : Bah oui, en C(++) faut mettre des blocs avec des accolades... C'est pas du Python. Tu le fais à moitié, il manque une accolade ouvrante. Dans cet état le code ne devrait même pas compiler ou alors avec un gros warning (que tu as activés et que tu regardes n'est-ce pas?). |
Oh vous avez raison, j'ai meme pas remarquée que j'avais oubliée l'accolade
Mais meme quand j'ajoute ceci le resultat reste le meme, je ne comprends pas
Et oui les indicateirs d'erreurs sont bel et bien activés mais je n'en ai pas eu lors de la compilation
Marsh Posté le 12-11-2018 à 16:56:08
byakuren a écrit : Et oui les indicateirs d'erreurs sont bel et bien activés mais je n'en ai pas eu lors de la compilation |
Moi je vois au moins un warning pour main() dont le type (void/int/...) n'est pas défini...
Perso voilà ce que je ferais. Attention: Je ne maîtrise pas le C++, il y a peut-être mieux. J'ai pas compris ce setw().
Code :
|
Marsh Posté le 12-11-2018 à 18:01:05
rat de combat a écrit : Moi je vois au moins un warning pour main() dont le type (void/int/...) n'est pas défini...
|
Bonsoir,
merci de votre aide! ^^
j'ai également trouvée la même chose mais un peu plus différemment
voici mon code:
Code :
|
or il me reste toujours un problème!
ce w en est un jusqu'à la valeur saisie 17!
si l'utilisateur saisi 18 ou plus ça devient la catastrophe
ça déborde de la taille du compilateur donc ce dernier passe sur la ligne suivante en affichage
je n'ai malheureusement pas trouvé le remède à ce problème
auriez-vous des idées sur la marche à suivre pour éviter ce problème ?
en vous remerciant
Marsh Posté le 12-11-2018 à 19:49:10
> ça déborde de la taille du compilateur donc ce dernier passe sur la ligne suivante en affichage
Non, ça déborde de la taille de la fenêtre d'affichage
> auriez-vous des idées sur la marche à suivre pour éviter ce problème ?
Agrandir la taille de la fenêtre, ou limiter la valeur en entrée.
A+,
Marsh Posté le 13-11-2018 à 05:50:42
gilou a écrit : > ça déborde de la taille du compilateur donc ce dernier passe sur la ligne suivante en affichage |
bonjour,
je vous remercie de votre réponse
avec ce dernier mon problème est résolu,
en vous remerciant,
Bonne journée!
Marsh Posté le 15-11-2018 à 18:34:43
Perso, j'aurais fait un truc dans ces lignes:
Code :
|
A+,
Marsh Posté le 15-11-2018 à 19:06:33
Pas sûr que ce soit plus efficace mais ça fait beaucoup plus C++ en tout cas.
Marsh Posté le 15-11-2018 à 20:48:40
Certes, parce que l'autre ça se réécrit en C sans problème, c'est du pseudo C++.
Noter que j'aurais pu créer une classe W avec un membre size, un constructeur et une méthode draw...
Pour l'algo de dessin, il y a bien plus efficace, avec la fonction standard std::swap, si j'ai un peu de temps, j'écrirais cela tout à l'heure. La c'était pour m'amuser, pour voir si je me souvenais comment coder en C++, parce que je code tous les jours dans un langage fonctionnel très éloigné de cela.
Code :
|
A+,
Marsh Posté le 16-11-2018 à 10:53:16
Une version pour faire plaisir à RdC :
Code :
|
A+,
Marsh Posté le 16-11-2018 à 13:27:44
ReplyMarsh Posté le 16-11-2018 à 16:51:37
gilou a écrit : > ça déborde de la taille du compilateur donc ce dernier passe sur la ligne suivante en affichage |
Citation : Non, ça déborde de la taille de la fenêtre d'affichage |
Sur un P.C. ou tout simplement sur un IBM Compatible PC, quelle(s) différence(s) ?
Le compilateur s'il n'est pas cross-compiliant est une machine de même type que le système opérant sur lequel il tourne.
Citation : Agrandir la taille de la fenêtre, ou limiter la valeur en entrée. |
Humour
Avec un écran élastique, en tirant sur les bords, si non à la pioche dans un magasin de télévisions grand format, mais bon j'ai pas d'antenne pour la TNT sur une unique fréquence Hertzienne reçu éventuellement pas câble ; A moins que ce soit l'inverse ; J'ai pas tout compris de la spiritualité scientifico-economico-sociétale.
Marsh Posté le 16-11-2018 à 16:56:45
µjoshua wopr a écrit : J'ai pas tout compris de la spiritualité scientifico-economico-sociétale. |
Je crois bien oui.
On Topic, dommage que je ne maîtrise pas l'assembleur pour PC.
edit @gilou: Que signifie ce commentaire?
>public:
> //ctors
C'est un abrégé pour "constructor"?
Marsh Posté le 16-11-2018 à 17:54:49
rat de combat a écrit : Je crois bien oui. |
Citation : On Topic, dommage que je ne maîtrise pas l'assembleur pour PC. |
Ca devient vaste en tous cas.
Marsh Posté le 16-11-2018 à 21:28:27
rat de combat a écrit : Je crois bien oui. |
Exactement. En usage assez couramment dans le monde C++
A+,
Marsh Posté le 16-11-2018 à 21:32:25
µjoshua wopr a écrit :
|
Tu confonds la sortie du programme (des lignes sans taille maximale) et le device sur lequel tu visualises cette sortie (qui lui est de taille fixe).
Avec un scroll horizontal illimité dans ton device d'affichage, le pb disparait.
A+,
Marsh Posté le 16-11-2018 à 22:14:48
ReplyMarsh Posté le 17-11-2018 à 13:26:21
Reply
Marsh Posté le 11-11-2018 à 21:34:01
Bonsoir,
je voudrais écrire un programme qui écris la lettre W avec des étoiles sur une hauteur que l'utilisateur a saisi.
exemple: l'utilisateur a saisi la hauteur 5, voici ce que je dois afficher:
*** ****** ***
*** *** *** ***
*** *** *** ***
*** *** *** ***
****** ******
J'ai pensée à une succession d'espace et etoiles,
A1 =1 espace ; A2= hauteur +(hauteur-2) espaces ; A3= 0 espace.
1ère ligne= A1 espace + 3etoiles + A2 espaces + 3 etoiles+ A3 espace + 3 etoiles + A2 espaces + 3 etoiles
2ème ligne= A1+1 espaces+3 etoiles+A2-2 espaces +3etoiles+A3+2 espaces + 3 etoiles + A2-2 espaces + 3 etoiles etc...
ce que je réussis avec des variables string, mais le problème est queje n'arrive pas a créer A2-2 espaces.
puis j'ai pensée écrire des espaces en fonction de la valeur saisie par l'utilisateur mais je suis bloquée
ex: hauteur saisi = 6;
je voudrais faire ecrire = (6+(6-2))espaces mais je n'y arrive pas,
c'est vraiment là que je bloque pour l'instant
auriez-vous des conseils à me donner sur la marche à suivre
j'y suis dessus depuis 2 jours et je ne trouve toujours pas
en vous remerciant de votre aide!