- prob de debutant [ C ] - C++ - Programmation
Marsh Posté le 01-05-2002 à 12:34:16
j'ai remplacé par : for(i=0;strcmp(mot_lu,"fin" )!=0;i++)
et ca marche maintenant
[jfdsdjhfuetppo]--Message édité par SquiiiD le 01-05-2002 à 12:34:34--[/jfdsdjhfuetppo]
Marsh Posté le 01-05-2002 à 13:02:45
SquiiiD a écrit a écrit : j'ai remplacé par : for(i=0;strcmp(mot_lu,"fin" )!=0;i++) et ca marche maintenant |
hehe fait attention a ton i aussi si je ne m abuse tu l incremente 2 fois pour rien
et fait gaffe aussi a sa taille des k il depasseras la taille d un int je sais tu as de la marge mais bon
Marsh Posté le 01-05-2002 à 13:15:26
encore un prob ( de fonction cette fois )
en fait la fonction verif recois unechane de caractere, et renvoisu un entier (0, 1 ou 2)
mais je n'arrive pas a la fairemarcher il me sort tjrs des truc du genre 'cannot convert char to char) ou int to char bref je sais plus ou je doit mettre INT Ou CHAR je suis un peu embrouiller , ralala et jai une interro demain ..
voila le code ( mis a part la fonction le reste marche :
#include <stdio.h>
#include <conio.h>
#include <string.h>
void main()
{
char tab_mots[20][20], mot_lu[20];
int nb_mot=0,derniere_lettre; verif(char);
/****************************************************/
/* Boucle qui enregistre les mots entrés au clavier */
/*************************************************
***/
for(nb_mot=0;strcmp(mot_lu,"fin" )!=0
{
gets(mot_lu);
if(verif(mot_lu)==1 || verif(mot_lu)==2)
{
strcpy(tab_mots[nb_mot],mot_lu);
nb_mot++;
printf("\nMot enregistré !\nIl y a %d mots dans le tableau pour le moment\n\n",nb_mot);
}
}
/*******************************************************************************/
/* affichage des mots en ordre inverse et a l'envers : martine deviens enitram */
/*************************************************
******************************/
nb_mot=nb_mot-1;
for(;nb_mot>=0;nb_mot--)
{
derniere_lettre=strlen(tab_mots[nb_mot]);
for(;derniere_lettre>=0;derniere_lettre--)
{
printf("%c",tab_mots[nb_mot][derniere_lettre]);
}
printf("\n" );
}
getch();
}
int verif(char mot_recu)
{
int derniere_lettre;
derniere_lettre=(strlen(mot_recu))-1;
if(mot_recu[derniere_lettre]=='t' return 1;
else if(mot_recu[derniere_lettre]=='s' return 2;
else return 0;
}
merci d'avance
[jfdsdjhfuetppo]--Message édité par SquiiiD le 01-05-2002 à 13:19:32--[/jfdsdjhfuetppo]
Marsh Posté le 01-05-2002 à 13:23:44
c bon jai trouvé !!!!!! j'avais oublié ke c un tableau de lettres ke j'envois !!!!!!!!!!!
int verif(char mot_recu[]) et non
int verif(char mot_recu)
!!!
te prend plus la tete j'ai trouvé
merci k meme
[jfdsdjhfuetppo]--Message édité par SquiiiD le 01-05-2002 à 13:24:30--[/jfdsdjhfuetppo]
Marsh Posté le 01-05-2002 à 13:24:50
int verif(char *mot_recu)
Marsh Posté le 01-05-2002 à 13:25:16
Zut, une minute trop tard
Marsh Posté le 01-05-2002 à 13:29:24
antp salut merci kan meme d'avoir repondu
au fait ca veut dire koi l'etoile devant la variable la???
skuze mon ignorance je debute en C
c pas pour les pointeur? si oui, c koi un pointeur exactement???
a+
Marsh Posté le 01-05-2002 à 13:30:35
oui c'est un pointeur, au lieu de mettre la donnée dans la variable, tu mets son adresse mémoire
lorsqu'on rencontre le pointeur, on va donc chercher le contenu de l'adresse mémoire
[jfdsdjhfuetppo]--Message édité par Urd-sama le 01-05-2002 à 13:31:27--[/jfdsdjhfuetppo]
Marsh Posté le 01-05-2002 à 13:32:37
ha ok mais pour l'adresse memoire c pas avec un & ??? ca change quoi alors l'etoile ou le &
tkx
Marsh Posté le 01-05-2002 à 13:42:11
c'est pour utiliser le pointeur dans 2 cas différents, mais je me souviens plus exactement...
j'avais appris ca en 4e vitesse et ca fait 6 mois que j'ai plus écris une ligne de C
Marsh Posté le 01-05-2002 à 13:42:23
& = utiliser l'adresse de la variable au lieu de sa valeur
* = utiliser la variable pointée par l'adresse au lieu de la valeur du pointeur
Marsh Posté le 01-05-2002 à 13:48:04
ok merci les gars, j'ai po encore vu les pointeurs a l'ecole
ca viendra bientot
a+ merci
Marsh Posté le 01-05-2002 à 12:21:48
Salut tlm en fait voici le code que j'ai tapé :
#include <stdio.h>
#include <conio.h>
#include <string.h>
void main()
{
char tab_mots[20][20], mot_lu[20];
int i=0,j=0,k=0;
/****************************************************/
/* Boucle qui enregistre les mots entrés au clavier */
/****************************************************/
for(i=0;mot_lu!="fin\0";i++)
{
gets(mot_lu);
printf("\nheu? : %s", mot_lu);
i++;
}
getch();
}
en fait lorsque je tape fin, ca devrait sortir du prog, mais ca nesort pas !
j'ai essayer de changer le "fin" dans la condition en "fin\0"
ca marche pas non plus , j'ai essayer avec scanf aussi ca marche pasnon plus...
qqun peux m'eclairer??? merci d'avance !