lil_adriano
Messages postés42Date d'inscriptionvendredi 26 janvier 2007StatutMembreDernière intervention16 juin 2008
-
18 nov. 2007 à 03:52
titof3812
Messages postés18Date d'inscriptionlundi 12 novembre 2007StatutMembreDernière intervention12 décembre 2007
-
19 nov. 2007 à 12:42
Slt tout le monde
je debute en C/C++ je voudrai faire cadre pour un mot mais j'y arrive pas.
j'ai essayer de faire un mais on peu pas faire un mot corret.
voici mon code source
#include <stdio.h>
main()
{
int i,tabl,j,larg;
tabl=37;
larg=9;
for (int i=0; i < tabl;i++)
{
printf("#");
}
printf("\n");
yann_lo_san
Messages postés1137Date d'inscriptionlundi 17 novembre 2003StatutMembreDernière intervention23 janvier 201626 18 nov. 2007 à 18:18
Voici une fonction permettant d'encadrer un texte de longueur variable sur la console.
Les constantes veulent dire
cadre haut gauche
cadre bas gauche
ect...
titof3812
Messages postés18Date d'inscriptionlundi 12 novembre 2007StatutMembreDernière intervention12 décembre 2007 18 nov. 2007 à 18:30
Salut
quelque petit pb sur ton prog
tu redeclare a chaque fois un nouvel int i dans les boucle for (inutile) et ne passe pas sur un compilateur gcc.
ci dessous un morceau de code qui passe en utilisant ta methede de boucle for mais tu devrait regarder les chaines de format du printf ca allegerais le code
#include <stdio.h>
main()
{
int i,tabl,j,larg,len;
tabl=37;
larg=9;
char chaine[25];
printf ("entrez la chaine a ecrire (max 24 char) :");
scanf ("%24s",&chaine),
len=strlen(chaine);
printf ("entrer le nb de colonne : ");
scanf("%d",&tabl);
if (tabl <len+2)
tabl=len+2;
for (i=0; i < tabl;i++)
printf("#");
printf("\n");
lil_adriano
Messages postés42Date d'inscriptionvendredi 26 janvier 2007StatutMembreDernière intervention16 juin 2008 19 nov. 2007 à 01:55
Merci de m'avoir repondu aussi vite. mais dans vos codes je suis confronter a un probleme c'est strlen ca me dit:
`strlen' undeclared (first use this function)
(Each undeclared identifier is reported only once for each function it appears in.)
je tenterai d'arranger ce petit probleme sinon je fais appel a vous. Merci encore.
lil_adriano
Messages postés42Date d'inscriptionvendredi 26 janvier 2007StatutMembreDernière intervention16 juin 2008 19 nov. 2007 à 02:03
Heu re salut c'est encore moi yann_lo_san la j'ai un probleme avec ton code sources ca me dis:
In function `void EncadreTexte(char*, bool)':
`strlen' undeclared (first use this function)
(Each undeclared identifier is reported only once for each function it appears in.)
`newchar' undeclared (first use this function)
`memset' undeclared (first use this function)
`_strset' undeclared (first use this function)
donc tu pourra me dire comment resoudre se probleme? je vais essayer de mon cote mais ta lumiere ne serai pas de refus.
logiciel utilisé: devc++ peut etre ca pourra aide.
Vous n’avez pas trouvé la réponse que vous recherchez ?
titof3812
Messages postés18Date d'inscriptionlundi 12 novembre 2007StatutMembreDernière intervention12 décembre 2007 19 nov. 2007 à 08:45
Salut lil_adriano
Jái essaye le code ussi mais ce n'est pas de l'ANSI C Je lái modifie mais la je suis au boulot ;
Je te renvoie ca a midi ou ce soir .
Le fait que tu ne vois pas strlen est etrange ca fait partie sdu C standard.
( táurais pas des option de compilation C++ ??? ....... )
titof3812
Messages postés18Date d'inscriptionlundi 12 novembre 2007StatutMembreDernière intervention12 décembre 2007 19 nov. 2007 à 12:14
Salut lil la version de yann passee en C ANSI tu devrais pouvoir la compiler sans trop de pb.
NB : j'ai rajoute 2 parametre a la fonction pour choisir le nb d'espace qui apparaisse entre le text et l'encadrement ( sp et li)
-----------------------------
#include <stdio.h>
#include <string.h>
static const unsigned char LL ='|';
// FONCTION ENCADRE TEXTE
// Encadre le text texte avec sp espace sur la ligne et li ligne en haut et en bas
void
EncadreTexte(char* texte,int sp,int li )
{
int lg =strlen(texte)+2*sp;
int i;
char * str1 =( char*)malloc(lg+3);
char *str2=( char*)malloc(sp);
char * str3 =( char*)malloc(lg+3);
str1[lg]='\0';
str2[sp]='\0';
memset (str1,'#', lg+2);
memset (str2,' ', sp);
memset (str3,' ', lg+2);
str3[0]=LL;str3[lg+1]=LL;str3[lg+2]='\n';
printf ( "%s \n" , str1);
for (i=0;i</string.h></stdio.h>