Conversão vetor de caracteres para double
Dica publicada em C/C++ / Introdução
Conversão vetor de caracteres para double
Essa dica mostra como funciona a conversão de um vetor
de caracteres em double.
Qualquer dúvida me questionem!
Qualquer dúvida me questionem!
#include<stdio.h>
double expo(int a, int b)
{
int i,aux;
double ex=1;
if(b<0)
aux=-b;
else
aux=b;
for(i=1;i<=aux;i++)
ex=ex*a;
if(b>=0)
return (ex);
else
return (1/ex);
}
double atof(char s[])
{
double val,pot,ex;
int i,sinal,sig=1,nc;
for(i=0;s[i]==' '||s[i]=='\n'||s[i]=='\t';i++)
;
sinal=1;
if(s[i]=='+'||s[i]=='-')
sinal=(s[i++]=='+')?1:-1;
for(val=0;s[i]>='0'&&s[i]<='9';i++)
val=10*val+s[i]-'0';
if(s[i]=='.')
i++;
for(pot=1;s[i]>='0'&&s[i]<='9';i++){
val=10*val+s[i]-'0';
pot*=10;
}
ex=1;
if(s[i]=='e'||s[i]=='E')
{
i++;
if(s[i]=='+'||s[i]=='-')
{
sinal=(s[i]=='+')?1:-1;
i++;
}
for(nc=0;s[i]>='0'&&s[i]<='9';i++)
nc=(10*nc+s[i]-'0')*sinal;
ex=expo(10,nc);
}
return((sinal*val/pot)*ex);
}
main()
{
double soma;
char c,linha[1000];
int i=0;
soma=0;
printf("Digite a string a ser convertida\n\n");
c=getchar();
while(c!='\n')
{
linha[i]=c;
c=getchar();
i++;
}
linha[i]='
';
printf("\n%f\n",soma+=atof(linha));
}
double expo(int a, int b)
{
int i,aux;
double ex=1;
if(b<0)
aux=-b;
else
aux=b;
for(i=1;i<=aux;i++)
ex=ex*a;
if(b>=0)
return (ex);
else
return (1/ex);
}
double atof(char s[])
{
double val,pot,ex;
int i,sinal,sig=1,nc;
for(i=0;s[i]==' '||s[i]=='\n'||s[i]=='\t';i++)
;
sinal=1;
if(s[i]=='+'||s[i]=='-')
sinal=(s[i++]=='+')?1:-1;
for(val=0;s[i]>='0'&&s[i]<='9';i++)
val=10*val+s[i]-'0';
if(s[i]=='.')
i++;
for(pot=1;s[i]>='0'&&s[i]<='9';i++){
val=10*val+s[i]-'0';
pot*=10;
}
ex=1;
if(s[i]=='e'||s[i]=='E')
{
i++;
if(s[i]=='+'||s[i]=='-')
{
sinal=(s[i]=='+')?1:-1;
i++;
}
for(nc=0;s[i]>='0'&&s[i]<='9';i++)
nc=(10*nc+s[i]-'0')*sinal;
ex=expo(10,nc);
}
return((sinal*val/pot)*ex);
}
main()
{
double soma;
char c,linha[1000];
int i=0;
soma=0;
printf("Digite a string a ser convertida\n\n");
c=getchar();
while(c!='\n')
{
linha[i]=c;
c=getchar();
i++;
}
linha[i]='
Essa dica mostra como funciona a conversão de um vetor
de caracteres em double.
Qualquer dúvida me questionem!
Qualquer dúvida me questionem!
#include<stdio.h>
double expo(int a, int b)
{
int i,aux;
double ex=1;
if(b<0)
aux=-b;
else
aux=b;
for(i=1;i<=aux;i++)
ex=ex*a;
if(b>=0)
return (ex);
else
return (1/ex);
}
double atof(char s[])
{
double val,pot,ex;
int i,sinal,sig=1,nc;
for(i=0;s[i]==' '||s[i]=='\n'||s[i]=='\t';i++)
;
sinal=1;
if(s[i]=='+'||s[i]=='-')
sinal=(s[i++]=='+')?1:-1;
for(val=0;s[i]>='0'&&s[i]<='9';i++)
val=10*val+s[i]-'0';
if(s[i]=='.')
i++;
for(pot=1;s[i]>='0'&&s[i]<='9';i++){
val=10*val+s[i]-'0';
pot*=10;
}
ex=1;
if(s[i]=='e'||s[i]=='E')
{
i++;
if(s[i]=='+'||s[i]=='-')
{
sinal=(s[i]=='+')?1:-1;
i++;
}
for(nc=0;s[i]>='0'&&s[i]<='9';i++)
nc=(10*nc+s[i]-'0')*sinal;
ex=expo(10,nc);
}
return((sinal*val/pot)*ex);
}
main()
{
double soma;
char c,linha[1000];
int i=0;
soma=0;
printf("Digite a string a ser convertida\n\n");
c=getchar();
while(c!='\n')
{
linha[i]=c;
c=getchar();
i++;
}
linha[i]='
';
printf("\n%f\n",soma+=atof(linha));
}
double expo(int a, int b)
{
int i,aux;
double ex=1;
if(b<0)
aux=-b;
else
aux=b;
for(i=1;i<=aux;i++)
ex=ex*a;
if(b>=0)
return (ex);
else
return (1/ex);
}
double atof(char s[])
{
double val,pot,ex;
int i,sinal,sig=1,nc;
for(i=0;s[i]==' '||s[i]=='\n'||s[i]=='\t';i++)
;
sinal=1;
if(s[i]=='+'||s[i]=='-')
sinal=(s[i++]=='+')?1:-1;
for(val=0;s[i]>='0'&&s[i]<='9';i++)
val=10*val+s[i]-'0';
if(s[i]=='.')
i++;
for(pot=1;s[i]>='0'&&s[i]<='9';i++){
val=10*val+s[i]-'0';
pot*=10;
}
ex=1;
if(s[i]=='e'||s[i]=='E')
{
i++;
if(s[i]=='+'||s[i]=='-')
{
sinal=(s[i]=='+')?1:-1;
i++;
}
for(nc=0;s[i]>='0'&&s[i]<='9';i++)
nc=(10*nc+s[i]-'0')*sinal;
ex=expo(10,nc);
}
return((sinal*val/pot)*ex);
}
main()
{
double soma;
char c,linha[1000];
int i=0;
soma=0;
printf("Digite a string a ser convertida\n\n");
c=getchar();
while(c!='\n')
{
linha[i]=c;
c=getchar();
i++;
}
linha[i]='
Essa dica mostra como funciona a conversão de um vetor
de caracteres em double.
Qualquer dúvida me questionem!
Qualquer dúvida me questionem!
#include<stdio.h>
double expo(int a, int b)
{
int i,aux;
double ex=1;
if(b<0)
aux=-b;
else
aux=b;
for(i=1;i<=aux;i++)
ex=ex*a;
if(b>=0)
return (ex);
else
return (1/ex);
}
double atof(char s[])
{
double val,pot,ex;
int i,sinal,sig=1,nc;
for(i=0;s[i]==' '||s[i]=='\n'||s[i]=='\t';i++)
;
sinal=1;
if(s[i]=='+'||s[i]=='-')
sinal=(s[i++]=='+')?1:-1;
for(val=0;s[i]>='0'&&s[i]<='9';i++)
val=10*val+s[i]-'0';
if(s[i]=='.')
i++;
for(pot=1;s[i]>='0'&&s[i]<='9';i++){
val=10*val+s[i]-'0';
pot*=10;
}
ex=1;
if(s[i]=='e'||s[i]=='E')
{
i++;
if(s[i]=='+'||s[i]=='-')
{
sinal=(s[i]=='+')?1:-1;
i++;
}
for(nc=0;s[i]>='0'&&s[i]<='9';i++)
nc=(10*nc+s[i]-'0')*sinal;
ex=expo(10,nc);
}
return((sinal*val/pot)*ex);
}
main()
{
double soma;
char c,linha[1000];
int i=0;
soma=0;
printf("Digite a string a ser convertida\n\n");
c=getchar();
while(c!='\n')
{
linha[i]=c;
c=getchar();
i++;
}
linha[i]='{TEXTO}';
printf("\n%f\n",soma+=atof(linha));
}
double expo(int a, int b)
{
int i,aux;
double ex=1;
if(b<0)
aux=-b;
else
aux=b;
for(i=1;i<=aux;i++)
ex=ex*a;
if(b>=0)
return (ex);
else
return (1/ex);
}
double atof(char s[])
{
double val,pot,ex;
int i,sinal,sig=1,nc;
for(i=0;s[i]==' '||s[i]=='\n'||s[i]=='\t';i++)
;
sinal=1;
if(s[i]=='+'||s[i]=='-')
sinal=(s[i++]=='+')?1:-1;
for(val=0;s[i]>='0'&&s[i]<='9';i++)
val=10*val+s[i]-'0';
if(s[i]=='.')
i++;
for(pot=1;s[i]>='0'&&s[i]<='9';i++){
val=10*val+s[i]-'0';
pot*=10;
}
ex=1;
if(s[i]=='e'||s[i]=='E')
{
i++;
if(s[i]=='+'||s[i]=='-')
{
sinal=(s[i]=='+')?1:-1;
i++;
}
for(nc=0;s[i]>='0'&&s[i]<='9';i++)
nc=(10*nc+s[i]-'0')*sinal;
ex=expo(10,nc);
}
return((sinal*val/pot)*ex);
}
main()
{
double soma;
char c,linha[1000];
int i=0;
soma=0;
printf("Digite a string a ser convertida\n\n");
c=getchar();
while(c!='\n')
{
linha[i]=c;
c=getchar();
i++;
}
linha[i]='{TEXTO}';
printf("\n%f\n",soma+=atof(linha));
}
printf("\n%f\n",soma+=atof(linha));
}
printf("\n%f\n",soma+=atof(linha));
}
meu professor passou uns exercícios do livro ANSI C dos criadores da linguagem C.........e um dos exercícios pedia para vc criar ou melhor recriar essa função............