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

  FORUM HardWare.fr
  Programmation
  C

  Programme C qui affiche les caractères saisis par l'utilisateur

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Programme C qui affiche les caractères saisis par l'utilisateur

n°2227116
flixton
Posté le 04-05-2014 à 14:07:48  profilanswer
 

Salut tous le monde . J'ai Essayer De Répondre à cet Exercice en utilisant un tableau des caractères, Mais J'ai un petit soucie en ce qui concerne la fonction "strcpy" . Un Msg D'erreur Est afficher au-dessous du Code, voila le Code :

Code :
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. main ( )
  5. {
  6.  char T[101] ; int i ;
  7.    do
  8.       {
  9.        for (i=0 ; i<=99 ; i++)
  10.         {
  11.           printf (" Veuillez Entrer Le %i Caractere : ",i) ;
  12.          getchar ( ) ;
  13.          scanf ("%c",&T[i]) ;
  14.            if ( T[i]=='0' )
  15.              strcpy(T[i]," " ) ;            
  16.         }
  17.       }
  18.     while ( T[i] != '.' ) ;
  19.        printf (" Votre Phrase Est : \n " ) ;
  20.          for (i=0 ; i<=99 ; i++)
  21.            printf (" %c ",T[i]) ;
  22.   system (" pause " ); 
  23. }


 
Et Voilà L'erreur :  
[Error] invalid conversion from 'char' to 'char*' [-fpermissive] la ligne : 15
 
Merci Pour votre intérêt et votre aide . :)

mood
Publicité
Posté le 04-05-2014 à 14:07:48  profilanswer
 

n°2227297
OrcusZ
Pro AMD | .Net lover
Posté le 06-05-2014 à 11:34:08  profilanswer
 

Bonjour,

 

La fonction strcpy demande une pointeur sur char et non un char ton soucis viens donc de là.

 

Il te suffit donc de lui passer &T[i] pour que ce problème ce résolve.

 

Ensuite tu as un petit soucis avec ta boucle do/while... Elle boucle à l'infini.

Message cité 1 fois
Message édité par OrcusZ le 06-05-2014 à 11:35:58

---------------
Made you your own sentence without believing that of the others...
n°2227305
breizhbugs
Posté le 06-05-2014 à 12:07:13  profilanswer
 

OrcusZ a écrit :

Bonjour,
La fonction strcpy demande une pointeur sur char et non un char ton soucis viens donc de là.


Plus qu'un pointeur sur char, elle demande à ce que le pointeur sur char appartienne à une chaine A Zéro Terminal! Si cela n'est pas le cas, il peut y avoir segfault / comportement aléatoire!
Or &T[i] n'est pas un pointeur vers une chaine de caractère au sens C du terme...


---------------
Seul Google le sait...
n°2227358
flixton
Posté le 06-05-2014 à 17:24:27  profilanswer
 

Re.
J'ai Essayer D'utiliser seulement la boucle do ==> while ( T!='.' ) mais ça na jamais résolu le problèmme, car la boucle ne s'arrête pas quand je saisie un point. voilà le code :
 

Code :
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. main ( )
  5. {
  6.  char T[101] ; int i=0 ;
  7.        do
  8.      {
  9.       printf (" Veuillez Entrer Le %i Caractere : ",i+1) ;
  10.       getchar ( )  ;
  11.        scanf ("%c",&T[i]) ;
  12.        if ( T[i]=='0' )
  13.           strcpy( &T[i]," " ) ;
  14.        else 
  15.       i=i+1 ;            
  16.      }     
  17.     while ( T[i]!='.' ) ;
  18.        printf (" \n Votre Phrase Est : \n " ) ;
  19.         for (i=0 ; i<='.' ; i++)
  20.            printf (" %c ",T[i]) ; 
  21.   system (" pause " ); 
  22. }


 
Merci Pour Voter aide :)

n°2227460
gilou
Modérateur
Modzilla
Posté le 07-05-2014 à 12:01:31  profilanswer
 

Vu ce code  (qui ne fait certainement pas ce que tu crois) c'est pas une surprise:
getchar ( )  ;  
scanf ("%c",&T[i]) ;  
 
Remplaces ton getchar() par un fflush(stdout) si tu veux écrire à l'écran sans retour à la ligne.
 
il y a deux autres erreurs qui sautent aux yeux dans ton code.
Une dans ce code ci:
if ( T[i]=='0' )
     strcpy( &T[i], " " ) ;
else
    i=i+1 ;            
}      
while ( T[i] != '.' ) ;
 
et une dans ce code la:
for (i=0 ; i<='.' ; i++)
 
A+,


Message édité par gilou le 07-05-2014 à 12:06:06

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --    In umbra igitur pugnabimus. --

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

  Programme C qui affiche les caractères saisis par l'utilisateur

 

Sujets relatifs
Format des nombres en CImage ne s'affiche pas
Enregistrer / charger un fichier en CInterraction Bdd Sql et utilisateur
Besoin d'aide: Programme sous MikroCinstaller un programme en local avec les droits admin
Comment afficher un résultat en fonction du choix de l'utilisateurFont Web s'affiche pas
Compiler des sources d'un logiciel en C -> AideImport .csv choix jeu de caractères
Plus de sujets relatifs à : Programme C qui affiche les caractères saisis par l'utilisateur


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR