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

  FORUM HardWare.fr
  Programmation
  C

  prob avec scanf

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

prob avec scanf

n°2031635
marooh
Posté le 22-10-2010 à 23:21:06  profilanswer
 

bonsoir,
comment pourrai-je tester la valeur lue par scanf??
en d'autre terme je veux en remplissant un tableau savoir si la valeur entrée par l'utilisateur est un zéro alors exécuter un traitement sinon exécuter un autre traitement.
j'ai essayé avec if mais ça ne marche pas :cry:

mood
Publicité
Posté le 22-10-2010 à 23:21:06  profilanswer
 

n°2031637
malka1986
Posté le 22-10-2010 à 23:54:12  profilanswer
 

faut jamais utiliser scanf pour des imput utilisateur. jamais.

n°2031643
Elmoricq
Modérateur
Posté le 23-10-2010 à 00:32:36  profilanswer
 

Disons qu'on peut, mais cette fonction n'est pas simple du tout à utiliser.
Il faut border le pattern de lecture, qui devient vite illisible, tester le code retour, etc.
 
Au final, un bon vieux fgets avec interprétation de la chaine lue évite pas mal de tracasserie.

n°2031744
marooh
Posté le 23-10-2010 à 20:23:37  profilanswer
 

il n'y pas d'autre solution que fgets???

n°2031748
marooh
Posté le 23-10-2010 à 21:02:46  profilanswer
 

voici le code modifié mais ça ne marche encore pas  
l'execution donne une saisie infini des chiffres que ce soit un zero ou pas
alors que je veux que la saisie s'arrete en tapant zero et enregistrer l'indice de la case de zero pour l'utiliser aprés.Corriger l'erreur svp
#include <stdio.h>
 #include <stdlib.h>
int main()
{
 
 int i;
 float tableau[100];
float c='\0';
i=0;
do
    {
        printf("entrer un chiffre :\n " );
    scanf("%f",&c);
   tableau[i]=c;
   i++;
    }
while(c='0');
    if (c=='0')
    { p=i;
    }
    return(p);
system("pause" );
    return 0;
 }

n°2031750
Elmoricq
Modérateur
Posté le 23-10-2010 à 21:17:38  profilanswer
 

marooh a écrit :

il n'y pas d'autre solution que fgets???


 
Que reproches-tu à cette solution ?
 

marooh a écrit :

voici le code modifié mais ça ne marche encore pas  
l'execution donne une saisie infini des chiffres que ce soit un zero ou pas
alors que je veux que la saisie s'arrete en tapant zero et enregistrer l'indice de la case de zero pour l'utiliser aprés.Corriger l'erreur svp


 
Ça ne te choque pas de comparer un caractère avec un nombre flottant ?
 

n°2031752
marooh
Posté le 23-10-2010 à 21:23:36  profilanswer
 


 
#include <stdio.h>
 #include <stdlib.h>
int main()
{
 
 int i,p;
 float tableau[100];
float c;
i=0;
p=0;
do
    {
        printf("entrer un chiffre :\n " );
    scanf("%f",&c);
   tableau[i]=c;
   i++;
    }
while(c==0);
    if (c==0)
     p=i;
 
    return(p);
system("pause" );
    return 0;
 }


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

  prob avec scanf

 

Sujets relatifs
prob d'authentificationProb PHP / MySQL
[Résolu] Prob d'url rewriting avec OVH (.htaccess)prob fonction mail php
léger prob de parsing de textarea : <br> et \n[AS2] Prob avec OnLoadStart
prob parcours de tableauun probléme de Scanf () ????
Un scanf() qui perturbe mon codeimpossible de rejouer....probleme de scanf :(
Plus de sujets relatifs à : prob avec scanf


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