Exercice langage C : Procédures


Travail à Faire:

Ecrire une procédure qui lit une chaîne de caractères et l'interprète comme un entier positif dans la base décimale. On écrira 2 fonctions :

La fonction chaine2entier qui récupère une chaîne de caractère et retourne un entier.

Prototype :   int chaine2entier(char *)

La fonction estentier qui récupère un caractère et retourne 0 s’il ne correspond pas à un chiffre 1 s’il correspond à un chiffre.

Prototype :   int estentier(char) ;

#include
int estentier(char) ;
int chaine2entier(char *) ;
main()
{
/* Déclarations */
char CH[100]; /* chaîne numérique à convertir */
long N; /* résultat numérique */
printf("Entrez un nombre entier et positif : ");
gets(CH);
printf("%s\n",CH) ;
N = chaine2entier(CH) ;
if(N printf("%s ne représente pas correctement un entier positif.\n", CH);
else
printf("La chaine %s a pour valeur %d\n" ,CH,N) ;
}
int chaine2entier(char *CH)
{
int I;
int N = 0 ;
int OK = 1 ;
for (I=0; OK && CH[I]; I++)
if (estentier(CH[I]))
N = N*10 + (CH[I]-'0');
else
OK=0;
if (OK)
return N ;
else
return -1 ;
}
int estentier(char c)
{
if ((c>='0')&&(c return 1 ;
else
return 0 ;
}

Article publié le 21 Février 2012 Mise à jour le Samedi, 17 Décembre 2022 21:39 par GC Team