salut tout le monde
je veux calculer la valeur reéle représenté par une chaine de caractéres...sachant que j'ai borland c++.... par exemple j'ai dans le tableau les valeurs suivants:
-,7,1,3,e,-,6 il m'affiche -0.000713.....l'opération est :
-713*(10 puissance-6)
3,7,.,2,e,3 il m'affiche 37200..l'operation est: 37,2*(10puissance 3)
-.4.9.2.8 il m'affiche -4928
NB: e pour exponentielle
voila le code


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
 
 
# include<stdio.h>
#define_GNU_SOURCE
 
#include <math.h>
 
void main()
{ int i;
char t[10],m=' ',b=' ',p=' ',y='e';
  int d,k,bool=0;
  float v,c;
  for (i=0;i<=10;i++)
  if (t[i]=='-') bool =1;
		if (t[i]!=y) m=m+t[i];
			else if (t[i+1]=='-')
										{ for (k=i+1;k<=10;k++)
										p=p+t[k];
										if (bool==1)
										/* nbre reele eleve a la puissance nbre negative */
										  {	v=float powf (float m, float p);}
											/* nbre positif eleve a la puissance nb negative*/
										else {	v= double pow(double m,double p);
										printf("v =%f",v);};
					else {for(d=i+1;d<=n;d++)
					b=b+t[d];};
					if( bool==0)	/* nbre positif eleve a la puissance nbre positif*/
					else{
/* nbre negative eleve a la puissance nbre positif*/
 
c=double pow(double m,double b);
					printf("c =%f",c);}
					if( i==10) printf ( "m =%s",m);
 
}}