Problème d'affichage en console
Salut !
Ce matin, je me suis lancé dans un petit exo sans chercher les optimisations de code (il y en a à faire ;)) et là je me suis retrouvé avec une méga erreur d'affichage que je n'arrive pas à résoudre. Voici le code source :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
| #include <iostream>
#include <iomanip>
#include <ctime>
using namespace std;
void brasse(int [][13]);
void distribue(const int [][13], const char *[], const char *[]);
int main() {
const char *couleur[] = { "Carreau", "Coeur", "Pique", "Trèfle" };
const char *face[] = { "As", "Deux", "Trois", "Quatre", "Cinq", "Six", "Sept", "Huit", "Neuf", "Dix", "Valet", "Dame", "Roi" };
int jeu[4][13] = {0};
srand(time ( 0 ));
brasse(jeu);
distribue(jeu, face, couleur);
cout << endl;
return 0;
}
void brasse(int wJeu[][13]) {
int ligne,
colonne;
for(int carte=1; carte<=52; ++carte) {
do {
ligne = rand() % 4;
colonne = rand() % 13;
}
while(wJeu[ ligne ][ colonne ] != 0);
wJeu[ ligne ][ colonne ] = carte;
}
}
void distribue(const int wJeu[][13], const char *wFaces[], const char *wCouleurs[]) {
for(int carte=1; carte <=52; ++carte) {
for(int ligne=0; ligne<3; ++ligne) {
for(int colonne=0; colonne<13; ++colonne) {
if(wJeu[ligne][colonne] == carte) {
cout << setw(6) << setiosflags(ios::left) << wFaces[colonne] << " de "
<< setw(7) << setiosflags(ios::left) << wCouleurs[ligne]
<< (carte % 2 == 0 ? '\n': '\t');
}
}
}
}
} |
Voici la sortie en console :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| ./mddc
Quatre de Coeur Cinq de Carreau
Trois de Pique Sept de Pique
As de Pique As de Coeur Neuf de Pique Dame de Coeur
Roi de Coeur Roi de Carreau
Six de Coeur Sept de Coeur
Dame de Carreau Dame de Pique Huit de Carreau
Cinq de Coeur Deux de Carreau
Six de Pique Trois de Coeur
Dix de Carreau Huit de Pique
Dix de Coeur
Valet de Pique Deux de Coeur
Six de Carreau Huit de Coeur Deux de Pique
Cinq de Pique Valet de Coeur
Valet de Carreau Sept de Carreau
Quatre de Pique Trois de Carreau
Quatre de Carreau Neuf de Carreau As de Carreau Neuf de Coeur
Dix de Pique Roi de Pique |
Je ne comprends absolument pas d'où vient l'erreur :evilred:
:help: