begin process at 2008 07 06 16:09:17
1 205 627 membres
195 nouveaux aujourd'hui
14 119 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

CONVERSION CHAR EN INT


Information sur la source

Catégorie :Chaîne de caractères Niveau : Débutant Date de création : 05/12/2001 Vu / téléchargé: 22 958 / 136

Note :
6,33 / 10 - par 3 personnes
6,33 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note

Description

Source

  • #include<iostream.h>
  • #include<string.h>
  • int puis10(int i)
  • {
  • int j,p=1;
  • for (j=0;j<i;j++) p*=10;
  • //Calcul de la puissance ième de 10
  • return p;
  • }
  • bool entier(char t[],int &ent)
  • {
  • int i,chalen;
  • ent=0;
  • chalen=strlen(t);
  • for (i=0;i<chalen;i++)
  • {
  • if ((t[i]<'0') || (t[i]>'9')) return false;
  • //Teste si la chaîne est valide
  • }
  • for (i=0;i<chalen;i++) ent+=puis10(chalen-i-1)*(t[i]-'0');
  • //Calcule la valeur de la chaîne
  • return true;
  • }
  • void main()
  • {
  • int ent,enu,somme;
  • char t[100],u[100];
  • bool validt,validu;
  • do
  • {
  • cout<<"Entrez un entier t : ";
  • cin>>t;
  • cout<<"Entrez un entier u : ";
  • cin>>u;
  • validt=entier(t,ent);
  • validu=entier(u,enu);
  • } while ((!validt) || (!validu));
  • somme=ent+enu;
  • cout<<"La somme des deux entiers entres est : "<<somme<<endl<<endl;
  • }
#include<iostream.h>
#include<string.h>

int puis10(int i)
{
	int j,p=1;
	for (j=0;j<i;j++) p*=10;
	//Calcul de la puissance ième de 10
	return p;
}

bool entier(char t[],int &ent)
{
	int i,chalen;
	ent=0;
	chalen=strlen(t);
	for (i=0;i<chalen;i++)
	{
		if ((t[i]<'0') || (t[i]>'9')) return false;
		//Teste si la chaîne est valide
	}

	for (i=0;i<chalen;i++) ent+=puis10(chalen-i-1)*(t[i]-'0');
	//Calcule la valeur de la chaîne
	return true;
}



void main()
{
	int ent,enu,somme;
	char t[100],u[100];
	bool validt,validu;
	do
	{
		cout<<"Entrez un entier t : ";
		cin>>t;
		cout<<"Entrez un entier u : ";
		cin>>u;
		validt=entier(t,ent);
		validu=entier(u,enu);
	} while ((!validt) || (!validu));
	somme=ent+enu;
	cout<<"La somme des deux entiers entres est : "<<somme<<endl<<endl;
}  
  • signaler à un administrateur
    Commentaire de Carnage le 28/09/2003 22:11:37

    j'allais faire exactement la meme fonction que toi, en desesperant de ne pas trouver de fonction qui le fait inclu dans une bibliothèque, mais maintenant c'est fait.

    En tt cas, bravo pour ta fonction.

    CaRnAgE

  • signaler à un administrateur
    Commentaire de Icarius44 le 19/10/2005 20:43:18

    Ce code ne fait pas comme atoi, il est complementaire et MIEUX!!!!!
    atoi fait "char* en int" lui fait "char en int". c'est surtout ce petit bout de code qui m'a aidé :

    (t[i]-'0') <-> char to int

    Encore merci de ce code qui nous a débloqué à quelque jours de la rendu d'un Mini Projet.
    Icarius

  • signaler à un administrateur
    Commentaire de Crazyx le 23/11/2006 19:07:20

    Veut-pas être rabat joir mais vu que je passais par là ...
    atoi(&c) ou c est un char (et pas un char*) ca marche aussi.
    bon boulot tout de meme.

    CrazYx

Ajouter un commentaire

Pub



Appels d'offres

Plugin Dialer outlook
Budget : 2 000€
Travail graphique- ill...
Budget : 1 000€
creation de marque et ...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Boutique

Boutique de goodies CodeS-SourceS