Rechercher : dans
Par :

Scanf("%c",&a);les caractere???????

Dernière réponse le 15 jan 2009 à 18:02:23 tchsimons, le 15 jan 2009 à 17:38:07 
 Signaler ce message aux modérateurs

Bonjour,
//c'est unprogramme sans interet ;mais sa resolution m'aide à faire autre chose.
#include<stdio.h>
void main()
{
int i,z;
char a;
for(i=0;i<5;i++)
{
printf("entrez un caractere");
scanf("%c",&a);
printf("entrez un nombre");
scanf("%d",&z);
}
}
/*******************************************/
en principe je doit pouvoir lire et ecrire un caractere puis un chiffre 5 fois avant la fi du programme.
Mais au 2eme passage dans la boucle,le systeme ne laisse plus l'ocasion d'entrer le caractere.je ne comprend pas ce qui ne va pas.Est ce qu'il ya qeulqeu chose d'omis ouqeu je ne metrise pas?
j'ai remplace scanf par getc puis getch() Lememe resultat est affiche. aidez moi je dioit utiliser un principe semùblable pour recuperer les char et les int pour les affecter a d'autres variables.. mon compilateur est le borland c++

Configuration: Windows XP
Internet Explorer 6.0

Meilleures réponses pour « scanf("%c",&a);les caractere??????? » dans :
Sed - Conversion retours chariots DOS (CRLF) / UNIX (LF) VoirConversion format de fichier DOS UNIX / UNIX DOS Préambule Ce qu'il faut savoir Conversion DOS vers UNIX Conversion UNIX vers DOS Préambule Il existe déjà des utilitaires (dos2unix et unix2dos) qui s'acquittent très bien ce...
Utiliser des accents et autres caractères spéciaux VoirDans la plupart des langages de programmation, on ne peut utiliser directement les accents et autres caractères non-anglosaxon. La solution est l'unicode, une sorte de code universel. Par exemple pour afficher la chaine de caractères : " là, ça...
On peut utiliser comme on veut les polices de caractères VoirMythe On peut utiliser comme on veut les polices de caractères (TrueType, TTF...) Réalité FAUX. Explications Non, vous ne pouvez pas. Comme tout travail d'artiste, l'auteur d'une police de caractères doit être rémunéré pour son travail. C'est...
Les chaînes de caractères en C++ VoirQu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C++, une...
Langage C - Les chaînes de caractères VoirQu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C, une chaîne...
Code ASCII VoirLe codage des informations Le morse a été le premier codage à permettre une communication longue distance. C'est Samuel F.B.Morse qui l'a mis au point en 1844. Ce code est composé de points et de tirets (un codage binaire en quelque sorte...). Il...

1

 lami20j, le 15 jan 2009 à 18:02:23
  • +1

Salut,

Pour lire un caractère depuis clavier utilise plutôt getchar.

Après avoir écrit un nombre entier un caractère saute de ligne '\n' reste dans le buffer qui est lui par le suivant getchar
donc au prochain passage i=1 z contiendra ce caractère qui traine.
Fait plutôt comme ça

lami20j@debian:~/trash$ cat ccm31_ecrirecaract.c
#include<stdio.h>

int main()
{
        int i,z;
        char a;
        for(i=0;i<5;i++)
        {
                printf("entrez un caractere : ");
                a=getchar();//scanf("%c",&a);
                printf("entrez un nombre : ");
                scanf("%d",&z);
                getchar();
                printf("a = %c et z = %d\n",a,z);
        }
        return 0;
}
Voici le résultat
lami20j@debian:~/trash$ gcc ccm31_ecrirecaract.c
lami20j@debian:~/trash$ ./a.out
entrez un caracterea
entrez un nombre5
entrez un caractereentrez un nombre^C
lami20j@debian:~/trash$ vi ccm31_ecrirecaract.c
lami20j@debian:~/trash$ gcc ccm31_ecrirecaract.c
lami20j@debian:~/trash$ ./a.out
entrez un caractere : a
entrez un nombre : 5
a = a et z = 5
entrez un caractere : b
entrez un nombre : 6
a = b et z = 6
entrez un caractere : c
entrez un nombre : 8
a = c et z = 8
entrez un caractere : e
entrez un nombre : 9
a = e et z = 9
entrez un caractere : p
entrez un nombre : 10
a = p et z = 10

106485010510997108

Répondre à lami20j
Collection CommentÇaMarche.net