Affichage jolie d'un tablea de structure en C
Fermé
aaeezzrr
-
28 déc. 2008 à 15:07
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 28 déc. 2008 à 17:32
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 28 déc. 2008 à 17:32
A voir également:
- Affichage jolie d'un tablea de structure en C
- Affichage double ecran - Guide
- Logiciel calcul structure bois gratuit - Télécharger - Architecture & Déco
- Structure d'un rapport de stage - Guide
- Comment agrandir l'affichage de l'écran - Guide
- Windows 11 affichage classique - Guide
3 réponses
scriptiz
Messages postés
1424
Date d'inscription
dimanche 21 décembre 2008
Statut
Membre
Dernière intervention
14 septembre 2023
425
28 déc. 2008 à 15:17
28 déc. 2008 à 15:17
A mon avis si tu utilise le str_len en incluant le string.h, tu peux calculer la taille de tes nom, prénoms, ... et remplir ce qu'il manque par des espaces pour garder tout ça aligné.
Exemple, avec 20 caractères maxi pour le nom et pareil pour le prénom :
(les + représentent des espaces ^^
Donc à partir de Smith, str_len me retourn 5, je fait donc (le nombre de colonnes attribué) - (longueur du nom) ce qui donne 20 - 5 = 15. Avec ce 15 je fait une petite boucle for qui va m'afficher 15 espaces.
Enfin c'est assez lourd comme solution mais bon je début en C et je n'ai pas d'autres idées à part utiliser les \t mais comme tu dit c'est variable si les noms sont trop longs ou trop courts l'un par rapports aux autres.
Exemple, avec 20 caractères maxi pour le nom et pareil pour le prénom :
|Nom+++++++++++++++++|Prenom++++++++++++++| |--------------------|--------------------| |Smith+++++++++++++++|John++++++++++++++++| |McCain++++++++++++++|Georges+++++++++++++|
(les + représentent des espaces ^^
Donc à partir de Smith, str_len me retourn 5, je fait donc (le nombre de colonnes attribué) - (longueur du nom) ce qui donne 20 - 5 = 15. Avec ce 15 je fait une petite boucle for qui va m'afficher 15 espaces.
Enfin c'est assez lourd comme solution mais bon je début en C et je n'ai pas d'autres idées à part utiliser les \t mais comme tu dit c'est variable si les noms sont trop longs ou trop courts l'un par rapports aux autres.
sadektlili
Messages postés
139
Date d'inscription
mardi 16 décembre 2008
Statut
Membre
Dernière intervention
3 avril 2010
4
28 déc. 2008 à 17:13
28 déc. 2008 à 17:13
utilise deux et trois \t
exp: printf("%s\t\t\t%s",.............);
exp: printf("%s\t\t\t%s",.............);
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
28 déc. 2008 à 17:32
28 déc. 2008 à 17:32
Salut,
Les tabulation ne sont pas toujours la meilleurs solutions.
Apprends utiliser printf
Voici un exemple
Les tabulation ne sont pas toujours la meilleurs solutions.
Apprends utiliser printf
Voici un exemple
lami20j@debian:~/trash$ cat ccm24_aligner.c #include<stdio.h> int main() { char *nom[3] = { "INTEL", "MAC", "LINUX", }; char *prenom[3] = { "Pentium", "Os", "Debian", }; int i; for(i=0;i<3;++i) printf("%-20s%-20s\n",nom[i],prenom[i]); return 0; } lami20j@debian:~/trash$ gcc ccm24_aligner.c lami20j@debian:~/trash$ ./a.out INTEL Pentium MAC Os LINUX Debian
28 déc. 2008 à 15:26
merci de ta réponse, si quelqu'un a une autre idée , je prends :D
:)