- #include <iostream.h>
- #include <string.h>
-
- double puis10(int i)
- {
- int j;
- double p=1;
- if (i>0) for (j=0;j<i;j++) p*=10;
- if (i<0) for (j=0;j>i;j--) p/=10;
- return p;
-
- }
-
- bool reelbon(char t[],double &reel)
- {
- int i,chalen,plpoint,valsigne;
- reel=0;
- chalen=strlen(t);
- bool point=false,signe=false;
- if (((t[0]<'0') || (t[0]>'9'))&&(t[0]!='.')&&(t[0]!='+')&&(t[0]!='-')) return false;
- if (t[0]=='+') {signe=true;valsigne=1;}
- if (t[0]=='-') {signe=true;valsigne=-1;}
- for (i=1;i<chalen;i++)
- {
- if (((t[i]<'0') || (t[i]>'9'))&&(t[i]!='.')) return false;
- if ((t[i]=='.')&&(point==true)) return false;
- if (t[i]=='.') {point=true;plpoint=i;}
- }
- if (point==false) plpoint=chalen;
- if (!signe) reel+=puis10(plpoint-1)*double(t[0]-'0');
- for (i=1;i<chalen;i++)
- {
- if (i<plpoint) reel+=puis10(plpoint-i-1)*double(t[i]-'0');
- if (i>plpoint) reel+=puis10(plpoint-i)*double(t[i]-'0');
- }
- if (signe==true) reel*=valsigne;
- return true;
- }
-
- void main()
- {
- double reelt,reelu,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=reelbon(t,reelt);
- validu=reelbon(u,reelu);
- } while ((!validt) || (!validu));
- somme=reelt+reelu;
- cout<<"La somme des deux reels "<<reelt<<" et "<<reelu<<" entres est : "<<somme<<endl<<endl;
- }
#include <iostream.h>
#include <string.h>
double puis10(int i)
{
int j;
double p=1;
if (i>0) for (j=0;j<i;j++) p*=10;
if (i<0) for (j=0;j>i;j--) p/=10;
return p;
}
bool reelbon(char t[],double &reel)
{
int i,chalen,plpoint,valsigne;
reel=0;
chalen=strlen(t);
bool point=false,signe=false;
if (((t[0]<'0') || (t[0]>'9'))&&(t[0]!='.')&&(t[0]!='+')&&(t[0]!='-')) return false;
if (t[0]=='+') {signe=true;valsigne=1;}
if (t[0]=='-') {signe=true;valsigne=-1;}
for (i=1;i<chalen;i++)
{
if (((t[i]<'0') || (t[i]>'9'))&&(t[i]!='.')) return false;
if ((t[i]=='.')&&(point==true)) return false;
if (t[i]=='.') {point=true;plpoint=i;}
}
if (point==false) plpoint=chalen;
if (!signe) reel+=puis10(plpoint-1)*double(t[0]-'0');
for (i=1;i<chalen;i++)
{
if (i<plpoint) reel+=puis10(plpoint-i-1)*double(t[i]-'0');
if (i>plpoint) reel+=puis10(plpoint-i)*double(t[i]-'0');
}
if (signe==true) reel*=valsigne;
return true;
}
void main()
{
double reelt,reelu,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=reelbon(t,reelt);
validu=reelbon(u,reelu);
} while ((!validt) || (!validu));
somme=reelt+reelu;
cout<<"La somme des deux reels "<<reelt<<" et "<<reelu<<" entres est : "<<somme<<endl<<endl;
}