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

  FORUM HardWare.fr
  Programmation
  C

  comment utiliser "strcmp"?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

comment utiliser "strcmp"?

n°551066
cronos6
Posté le 26-10-2003 à 21:35:42  profilanswer
 

j'ai un prog en c à faire, qui est :  
 
-lire 100 valeurs entières, écrire la plus grande des valeurs et le nombre de fais ou cette plus grande valeur est apparue
 
voici ce que j'ai fait :  
 
#include <stdio.h>
#include <string.h>
void main()
 
{
 int pg, cpt, nbf, val;
//pg=plus grand, nbf=nombre de fois
 
printf("donner un nombre\n" );
scanf("%d",& pg);
 
cpt=1;
nbf=1;
 
do
{
 printf("donner un nombre\n" );
 scanf("%d", & val);
 
 if(val>pg)
 {
  pg=val;
  nbf=1;
}
 else
 {
  if(strcmp(val, pg)==0)    //si (val==pg)
  {
   nbf=nbf+1;
  }
 }
cpt=cpt+1;
}
while (cpt<5);
 
printf("le plus grand est: %d , il est apparu : %d\n", pg, nbf);
}
 
 
Le débugger me signale une erreur au niveau du "strcmp" l'erreur est : error C2664: 'strcmp' : cannot convert parameter 1 from 'int' to 'const char *'
 
j'ai mis en commentaire ce que j'ai trouvere en algo, en l'occurence si(val==pg)

mood
Publicité
Posté le 26-10-2003 à 21:35:42  profilanswer
 

n°551069
Kristoph
Posté le 26-10-2003 à 21:39:29  profilanswer
 

man strcmp
 
PS : le débugger n'interviens que quand tu auras réussi a lancer ton premier programme C. Pour l'instant tu bloques sur la phase de compilation.
 
PPS : et si tu as du mal a comprendre le manuel de strcmp, voici l'info la plus important pour toi : strcmp sert à comparer des chaines de caractères ! Toi tu veux tester si 2 nombres sont égaux alors fait juste "if (val == pg)" !!!


Message édité par Kristoph le 26-10-2003 à 21:42:02
n°551072
meerthyl
Posté le 26-10-2003 à 21:42:44  profilanswer
 

val et pg sont des int, strcmp sert à comparer des chaînes de caractères et renvoit un int.

n°551076
cronos6
Posté le 26-10-2003 à 21:51:44  profilanswer
 

Merci beaucoup, ca marche, je n'oublierais pas maintenant que strcmp sert à comparer des chaines de caractères, et que la phase ou ça bloque, c pas le débugger, mais le compilateur
 
par contre j'ai une autre question, je remarque que mon prog marche, mais si je tape des lettres au lieu des nombres, ca marchera tjrs mais avec des résultats faux, donc est ce qu'il n'existerait pas une fonction ou une ligne à rajouter qui dirait que si l'utilisateur tape des lettre au lieu de nombres, un message s'afficher lui disant qu'on lui demandes de taper des chiffres et pas des lettres
 
Merci d'avance!!!

n°551077
drasche
Posté le 26-10-2003 à 21:54:34  profilanswer
 

mais qu'est-ce qu'on vous apprend en classe? :heink:


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°551081
meerthyl
Posté le 26-10-2003 à 21:59:56  profilanswer
 

Tu peux toujours tenter de saisir une chaîne avec gets() puis de la convertir ensuite avec un truc du genre atoi(), et si il y a une erreur bah...

n°551084
Kristoph
Posté le 26-10-2003 à 22:02:33  profilanswer
 

cronos6 a écrit :

Merci beaucoup, ca marche, je n'oublierais pas maintenant que strcmp sert à comparer des chaines de caractères, et que la phase ou ça bloque, c pas le débugger, mais le compilateur
 
par contre j'ai une autre question, je remarque que mon prog marche, mais si je tape des lettres au lieu des nombres, ca marchera tjrs mais avec des résultats faux, donc est ce qu'il n'existerait pas une fonction ou une ligne à rajouter qui dirait que si l'utilisateur tape des lettre au lieu de nombres, un message s'afficher lui disant qu'on lui demandes de taper des chiffres et pas des lettres
 
Merci d'avance!!!


 
Bienvenu dans le monde merveilleux de la fonction scanf !
 
A mon avis, ne t'embète pas avec ça. C'est lourd à contourner et c'est d'un interet réduit de toute façon ( on n'utilises pas vraiment scanf pour les entrées utilisateur sauf dans l'enseignement :D )


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

  comment utiliser "strcmp"?

 

Sujets relatifs
[flash] peut on utiliser tt ls codes javascript ds FScommand ?[dedutant] utiliser les progs fait avec Allegro sur un autre PC
[C++]Comment utiliser des routines Fortran ...Commet utiliser POST, et pourquoi mon example ne marche pas :/
API win32 : est-on obligé de les utiliser ?[SAX] Vu l'exemple MSDN c'est assez galère à utiliser non ?
[LaTeX] comment utiliser des variables et faire du calcul[HELP] Utiliser donner excel sur page html
cherche personne savan utiliser tre bien le html[C++]CreateFont : utiliser une fonte spécifique
Plus de sujets relatifs à : comment utiliser "strcmp"?


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