Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1385 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [ C ] - prob de debutant

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[ C ] - prob de debutant

n°132997
SquiiiD
be cool !
Posté le 01-05-2002 à 12:21:48  profilanswer
 

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 !

mood
Publicité
Posté le 01-05-2002 à 12:21:48  profilanswer
 

n°132999
R@NNIS
Tout est possible ou presque.
Posté le 01-05-2002 à 12:25:50  profilanswer
 

hum une comparaison se fait pas comme ca sur les char *
 
fait plutot un strncmp()


---------------
Mes News
n°133002
SquiiiD
be cool !
Posté le 01-05-2002 à 12:30:39  profilanswer
 

ok v essayer tkx

n°133003
R@NNIS
Tout est possible ou presque.
Posté le 01-05-2002 à 12:31:17  profilanswer
 

et pis regarde bien ce ke fait ton code je viens d evoir plusieurs trucs pas top top dedans relis bien ce k il fait :)
 
tu vas voir ca va te sauter au yeux :)


---------------
Mes News
n°133007
SquiiiD
be cool !
Posté le 01-05-2002 à 12:33:32  profilanswer
 

merci ca marche,  
hum... j'ai honte la  :lol:  :lol:

n°133008
SquiiiD
be cool !
Posté le 01-05-2002 à 12:34:16  profilanswer
 

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]

n°133017
R@NNIS
Tout est possible ou presque.
Posté le 01-05-2002 à 13:02:45  profilanswer
 

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 ;)


---------------
Mes News
n°133024
SquiiiD
be cool !
Posté le 01-05-2002 à 13:15:26  profilanswer
 

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]

n°133027
SquiiiD
be cool !
Posté le 01-05-2002 à 13:23:44  profilanswer
 

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]

n°133028
antp
Super Administrateur
Champion des excuses bidons
Posté le 01-05-2002 à 13:24:50  profilanswer
 

int verif(char *mot_recu)


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
mood
Publicité
Posté le 01-05-2002 à 13:24:50  profilanswer
 

n°133029
antp
Super Administrateur
Champion des excuses bidons
Posté le 01-05-2002 à 13:25:16  profilanswer
 

Zut, une minute trop tard :D


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°133032
SquiiiD
be cool !
Posté le 01-05-2002 à 13:29:24  profilanswer
 

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+

n°133033
urd-sama
waste of space
Posté le 01-05-2002 à 13:30:35  profilanswer
 

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]

n°133035
SquiiiD
be cool !
Posté le 01-05-2002 à 13:32:37  profilanswer
 

ha ok mais pour l'adresse memoire c pas avec un &  ??? ca change quoi alors l'etoile ou le &
tkx

n°133038
urd-sama
waste of space
Posté le 01-05-2002 à 13:42:11  profilanswer
 

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

n°133039
antp
Super Administrateur
Champion des excuses bidons
Posté le 01-05-2002 à 13:42:23  profilanswer
 

& = 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


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°133040
urd-sama
waste of space
Posté le 01-05-2002 à 13:43:29  profilanswer
 

ah ben voui! quelle nouille je fais...

n°133042
SquiiiD
be cool !
Posté le 01-05-2002 à 13:48:04  profilanswer
 

ok merci les gars, j'ai po encore vu les pointeurs a l'ecole  :lol:  
ca viendra bientot
a+ merci


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [ C ] - prob de debutant

 

Sujets relatifs
[C]appli client/serveur, prob avec bind ![PHP]deux question de debutant
[ALGO] question de débutant sur les fonctions...Question PHP debutant
Debutant : SQL : EXISTS et NOT EXISTS qqun peut m'expliké ?!![Prob en C++] - Passage d'object dans un vecteur
[MySQL] indexation (Q niveau débutant)Question de debutant...
[C++] Besoin d'aide sur un return ... niveau debutant :)[DEBUTANT] Comment compiler un fichier.c trouvé sur internet ?
Plus de sujets relatifs à : [ C ] - prob de debutant


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR