Exercice langage C corrigé les procédures

#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<0) 
 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<='9')) 
 return 1 ; 
         else 
                  return 0 ; 
}

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *