Rechercher : dans
Par :

Newbie en c : fonction pour lire un caractère

Dernière réponse le 4 fév 2008 à 05:32:31 donina, le 3 fév 2008 à 12:03:50 
 Signaler ce message aux modérateurs

Bonjour,

Je bloque sur quelque chose de très simple : la lecture d'une caractère par une fonction.


Contexte : la fonction de lecture d'un caractère me permet de lire le caractère qui doit être remplacé dans une chaîne, elle-même saisie
dans la fonction lire_chaîne.


A l'intèrieur de la fonction lire_car, j'affiche le caractère correctement, mais dans le programme prinicipal, l'affichage du caractère me donne : caractère + chaîne saisie dans lire_chaîne (exemple : ch="allo", caractère saisi : 'o'. Résultat : oallo). Qu'est-cd qui se passe ?
Merci pour votre secours.

Peut-être qu'il existe des fonctions plus simples à écrire pour lire un caractère dans une fonction et utiliser le caractère lu dans d'autres fonctions?



PROGRAMME

#include <stdio.h>


/************ LECTURE D UNE CHAINE SIMPLE ****************/
/*************************************************/


void lire_chaine(char *tab)
{

printf("Chaine :");
gets(tab);

}


void affiche_chaine(char *tab)
{
printf("\n");
printf("Affichage avec puts : ");puts(tab);
printf("\n");
printf("Affichage avec while (*tab) putchar(*(tab++) : ");
while (*tab) putchar(*(tab++));
printf("\n");

}


void lire_car(char *ar)
{
printf("Car à remplacer : ");ar[0]=getchar(); /* dans un premier essai , j'avais mis char c; c=getchar(); ar=&c; */

printf("\n");
printf("Caractère saisi : ");putchar(*ar);printf("\n"); /* vérification à l'intérieur de la fonction ok */
}


/******************* PROGRAMME PRINICIPAL ***************************/

int main(void)
{
/********** déclarations ************************/
void lire_chaine(char *tab);

void affiche_chaine(char *tab);

void lire_car(char *ar);


char ch[10];
char ka_ar[1]; /* dans un premier essai, j'avais mis : char ka_ar; */
char ka_dr;



void lire_car(char *ar);

char ka_ar[1];


/************ corps du prog principal *****************/

lire_chaine(ch);

affiche_chaine(ch);
printf("\n\n");

lire_car(ka_ar); /* dans un premier essai , j'avais mis lire_car(&ka_ar);

printf("\n");printf("Karactère lu : ");puts(ka_ar);

printf("Voici le caractère lu : "); puts(kar_ar);

}

DONINA

Meilleures réponses pour « newbie en c : fonction pour lire un caractère » dans :
Trier un tableau sans utiliser la fonction sort VoirTrier un tableau sans utiliser la fonction sort D'abord on initialise une variable $max avec la 1ère valeur de tableau. Ensuite on va faire une boucle tant que le tableau contient encore des éléments. C'est avec la fonction splice qui a le rôle...
Les piles en langage C VoirLes piles Requis I. INTRODUCTION II. Définition III. La construction du prototype d'un élément de la pile IV. Opérations sur les piles A. Initialisation B. Insertion d'un élément dans la pile C. Ôter un élément de la pile D. Affichage...
Générer des nombres aléatoires efficacement avec rand() VoirGénérer des nombres aléatoires efficacement avec rand() Vous avez peut-être remarqué qu'en C, en utilisant la fonction rand() de la bibliothèque standard, vous obtenez des résultats décevants, trop souvent les mêmes. Prenons un exemple, vous...
VBScript - Les fonctions de chaînes de caractères VoirLes fonctions de chaînes de caractères Fonction Description Filter(InputStrings, Value[, Include[, Compare]]) Sélectionne des chaînes de caractères parmi un tableau de chaînes...
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...

1

 Benoit, le 4 fév 2008 à 05:32:31

Jte conseille ce site il t aidera beaucoup en ce qui concerne la programmation
http://minoucha92.ifrance.com

Répondre à Benoit
Collection CommentÇaMarche.net