Convertir des char en int [dev-c++]

Contenu du snippet

Vous faite un cin.getline() ou un cin >> et pas de bol votre chiffre est dans une chaîne de caractère alors la solution est là !

Source / Exemple :


int charint(char chaineaconv[10+1])
{
int nbtotal=0;
for (int i=0;chaineaconv[i]!='\0';nbtotal++,i++){}
if (nbtotal>=10){cerr << "\nErreur dans la longueur de la cha\x8Cne !\n";return -1;}
int nbrtemp;int nbrconv=0;
for (int i=0;chaineaconv[i]!='\0';i++)
{
    switch (chaineaconv[i])
    {
    case '0' : break;
    case '1' : nbrtemp=1;break;
    case '2' : nbrtemp=2;break;
    case '3' : nbrtemp=3;break;
    case '4' : nbrtemp=4;break;
    case '5' : nbrtemp=5;break;
    case '6' : nbrtemp=6;break;
    case '7' : nbrtemp=7;break;
    case '8' : nbrtemp=8;break;
    case '9' : nbrtemp=9;break;
    default : cerr << "\nErreur dans la cha\x8Cne !\n";return -1;
    } 
   int nbtota=nbtotal;
   nbtota-=i;
   int nbtotat=nbtota;
   nbtotat--;
   nbtota=1;
   for (int yi=0;yi<nbtotat;yi++){nbtota*=10;}
   nbrtemp= nbrtemp*nbtota;
   nbrconv+=nbrtemp;
}
return nbrconv;
}

Conclusion :


Il y a 10 chiffres maxi dans le nombre.

pour récupérer le nombre on appelle la fonction de la manière suivante :

int nombreentier=charint(nombreenlettre);

soit nombreentier le résultat

et pour vérifier si il y a eu erreur c'est

if (nombreentier==-1){cout << "Il y a eu une Erreur !!!";}

Voilà vous pouvez aussi visiter mon site si vous aimez les RPG ou si vous avez soif d'apprendre.

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.