2
I tried to make a program to convert percentages from days to weeks, months, year, etc. However it is not working, this is the code as it is now, I do not know what the error is.
#include <stdio.h>
#include <math.h>
#include <locale.h>
int main(){
setlocale(LC_ALL,"");
int pct1, tmp1, tmp2;
double pct2=0, dec1=0, dec2=0;
printf("Olá, bem-vindo ao programa para transformar porcentagens.");
printf("\nEste programa irá calcular a porcentagem dada em um período para outra em outro período de tempo maior ou menor.");
printf("\nPor favor insira a porcentagem original: ");
scanf("%d", &pct1);
printf("\nE o tempo original, de acordo com os índices indicados: ");
printf("\n1.Dia");
printf("\n2.Semana");
printf("\n3.Mês");
printf("\n4.Bimestre");
printf("\n5.Trimestre");
printf("\n6.Semestre");
printf("\n7.Ano\n");
scanf("%d", &tmp1);
printf("Digite o tempo para qual deseja que a porcentagem seja convertida, de acordo com os índices indicados: ");
printf("\n1.Dia");
printf("\n2.Semana");
printf("\n3.Mês");
printf("\n4.Bimestre");
printf("\n5.Trimestre");
printf("\n6.Semestre");
printf("\n7.Ano\n");
scanf("%d", &tmp2);
if(tmp1>7 || tmp1<1 || tmp2>7 || tmp2<1 || tmp1==tmp2){
printf("Erro. Valores Inválidos.");
}else if((tmp1==1 && tmp2==1) || (tmp1==2 && tmp2==2) || (tmp1==3 && tmp2==3) || (tmp1==4 && tmp2==4) || (tmp1==5 && tmp2==5) || (tmp1==6 && tmp2==6) || (tmp1==7 && tmp2==7)){
printf("Os valores dos tempos são iguais. A porcentagem será a mesma.");
}else if(tmp1==1 && tmp2==2){
dec1=pct1/100;
dec2=1+dec1;
pct2=((pow(dec2, 7))-1)*100;
printf("A nova porcentagem é %lf.", pct2);
}else if(tmp1==1 && tmp2==3){
dec1=pct1/100;
dec2=1+dec1;
pct2=((pow(dec2, 30))-1)*100;
printf("A nova porcentagem é %lf.", pct2);
}else if(tmp1==1 && tmp2==4){
dec1=pct1/100;
dec2=1+dec1;
pct2=((pow(dec2, 60))-1)*100;
printf("A nova porcentagem é %lf.", pct2);
}else if(tmp1==1 && tmp2==5){
dec1=pct1/100;
dec2=1+dec1;
pct2=((pow(dec2, 90))-1)*100;
printf("A nova porcentagem é %lf.", pct2);
}else if(tmp1==1 && tmp2==6){
dec1=pct1/100;
dec2=1+dec1;
pct2=((pow(dec2, 180))-1)*100;
printf("A nova porcentagem é %lf.", pct2);
}else if(tmp1==1 && tmp2==7){
dec1=pct1/100;
dec2=1+dec1;
pct2=((pow(dec2, 360))-1)*100;
printf("A nova porcentagem é %lf.", pct2);
}else if(tmp1==2 && tmp2==1){
dec1=pct1/100;
dec2=1+dec1;
pct2=((pow(dec2, (1/7)))-1)*100;
printf("A nova porcentagem é %lf.", pct2);
}else if(tmp1==2 && tmp2==3){
dec1=pct1/100;
dec2=1+dec1;
pct2=((pow(dec2, 4))-1)*100;
printf("A nova porcentagem é %lf.", pct2);
}else if(tmp1==2 && tmp2==4){
dec1=pct1/100;
dec2=1+dec1;
pct2=((pow(dec2, 9))-1)*100;
printf("A nova porcentagem é %lf.", pct2);
}else if(tmp1==2 && tmp2==5){
dec1=pct1/100;
dec2=1+dec1;
pct2=((pow(dec2, 13))-1)*100;
printf("A nova porcentagem é %lf.", pct2);
}else if(tmp1==2 && tmp2==6){
dec1=pct1/100;
dec2=1+dec1;
pct2=((pow(dec2, 26))-1)*100;
printf("A nova porcentagem é %lf.", pct2);
}else if(tmp1==2 && tmp2==7){
dec1=pct1/100;
dec2=1+dec1;
pct2=((pow(dec2, 52))-1)*100;
printf("A nova porcentagem é %lf.", pct2);
}else if(tmp1==3 && tmp2==1){
dec1=pct1/100;
dec2=1+dec1;
pct2=((pow(dec2, 0.03333333))-1)*100;
printf("A nova porcentagem é %lf.", pct2);
}else if(tmp1==3 && tmp2==2){
dec1=pct1/100;
dec2=1+dec1;
pct2=((pow(dec2, 0.25))-1)*100;
printf("A nova porcentagem é %lf.", pct2);
}else if(tmp1==3 && tmp2==4){
dec1=pct1/100;
dec2=1+dec1;
pct2=((pow(dec2, 2))-1)*100;
printf("A nova porcentagem é %lf.", pct2);
}else if(tmp1==3 && tmp2==5){
dec1=pct1/100;
dec2=1+dec1;
pct2=((pow(dec2, 3))-1)*100;
printf("A nova porcentagem é %lf.", pct2);
}else if(tmp1==3 && tmp2==6){
dec1=pct1/100;
dec2=1+dec1;
pct2=((pow(dec2, 6))-1)*100;
printf("A nova porcentagem é %lf.", pct2);
}else if(tmp1==3 && tmp2==7){
dec1=pct1/100;
dec2=1+dec1;
pct2=(pow(dec2, 12)-1)*100;
printf("A nova porcentagem é %lf.", pct2);
}else if(tmp1==4 && tmp2==1){
dec1=pct1/100;
dec2=1+dec1;
pct2=((pow(dec2, 0.01666667))-1)*100;
printf("A nova porcentagem é %lf.", pct2);
}else if(tmp1==4 && tmp2==2){
dec1=pct1/100;
dec2=1+dec1;
pct2=((pow(dec2, 0.125))-1)*100;
printf("A nova porcentagem é %lf.", pct2);
}else if(tmp1==4 && tmp2==3){
dec1=pct1/100;
dec2=1+dec1;
pct2=((pow(dec2, 0.5))-1)*100;
printf("A nova porcentagem é %lf.", pct2);
}else if (tmp1==4 && tmp2==5){
dec1=pct1/100;
dec2=1+dec1;
pct2=((pow(dec2, 1.5))-1)*100;
printf("A nova porcentagem é %lf.", pct2);
}else if(tmp1==4 && tmp2==6){
dec1=pct1/100;
dec2=1+dec1;
pct2=((pow(dec2, 3))-1)*100;
printf("A nova porcentagem é %lf.", pct2);
}else if(tmp1==4 && tmp2==7){
dec1=pct1/100;
dec2=1+dec1;
pct2=((pow(dec2, 6))-1)*100;
printf("A nova porcentagem é %lf.", pct2);
}else if(tmp1==5 && tmp2==1){
dec1=pct1/100;
dec2=1+dec1;
pct2=((pow(dec2, 0.01111111))-1)*100;
printf("A nova porcentagem é %lf.", pct2);
}else if(tmp1==5 && tmp2==2){
dec1=pct1/100;
dec2=1+dec1;
pct2=((pow(dec2, 0.07692308))-1)*100;
printf("A nova porcentagem é %lf.", pct2);
}else if(tmp1==5 && tmp2==3){
dec1=pct1/100;
dec2=1+dec1;
pct2=((pow(dec2, 0.33333333))-1)*100;
printf("A nova porcentagem é %lf.", pct2);
}else if(tmp1==5 && tmp2==4){
dec1=pct1/100;
dec2=1+dec1;
pct2=((pow(dec2, 0.66666667))-1)*100;
printf("A nova porcentagem é %lf.", pct2);
}else if(tmp1==5 && tmp2==6){
dec1=pct1/100;
dec2=1+dec1;
pct2=((pow(dec2, 2))-1)*100;
printf("A nova porcentagem é %lf.", pct2);
}else if(tmp1==5 && tmp2==7){
dec1=pct1/100;
dec2=1+dec1;
pct2=((pow(dec2, 4))-1)*100;
printf("A nova porcentagem é %lf.", pct2);
}else if(tmp1==6 && tmp2==1){
dec1=pct1/100;
dec2=1+dec1;
pct2=((pow(dec2, 0.00555556))-1)*100;
printf("A nova porcentagem é %lf.", pct2);
}else if(tmp1==6 && tmp2==2){
dec1=pct1/100;
dec2=1+dec1;
pct2=((pow(dec2, 0.03846154))-1)*100;
printf("A nova porcentagem é %lf.", pct2);
}else if(tmp1==6 && tmp2==3){
dec1=pct1/100;
dec2=1+dec1;
pct2=((pow(dec2, 0.16666667))-1)*100;
printf("A nova porcentagem é %lf.", pct2);
}else if(tmp1==6 && tmp2==4){
dec1=pct1/100;
dec2=1+dec1;
pct2=((pow(dec2, 0.33333333))-1)*100;
printf("A nova porcentagem é %lf.", pct2);
}else if(tmp1==6 && tmp2==5){
dec1=pct1/100;
dec2=1+dec1;
pct2=((pow(dec2, 0.5))-1)*100;
printf("A nova porcentagem é %lf.", pct2);
}else if(tmp1==6 && tmp2==7){
dec1=pct1/100;
dec2=1+dec1;
pct2=((pow(dec2, 2))-1)*100;
printf("A nova porcentagem é %lf.", pct2);
}else if(tmp1==7 && tmp2==1){
dec1=pct1/100;
dec2=1+dec1;
pct2=((pow(dec2, 0.00277778))-1)*100;
printf("A nova porcentagem é %lf.", pct2);
}else if(tmp1==7 && tmp2==2){
dec1=pct1/100;
dec2=1+dec1;
pct2=((pow(dec2, 0.01923077))-1)*100;
printf("A nova porcentagem é %lf.", pct2);
}else if(tmp1==7 && tmp2==3){
dec1=pct1/100;
dec2=1+dec1;
pct2=((pow(dec2, 0.08333333))-1)*100;
printf("A nova porcentagem é %lf.", pct2);
}else if(tmp1==7 && tmp2==4){
dec1=pct1/100;
dec2=1+dec1;
pct2=((pow(dec2, 0.16666667))-1)*100;
printf("A nova porcentagem é %lf.", pct2);
}else if(tmp1==7 && tmp2==5){
dec1=pct1/100;
dec2=1+dec1;
pct2=((pow(dec2, 0.25))-1)*100;
printf("A nova porcentagem é %lf.", pct2);
}else if(tmp1==7 && tmp2==6){
dec1=pct1/100;
dec2=1+dec1;
pct2=((pow(dec2, 0.5))-1)*100;
printf("A nova porcentagem é %lf.", pct2);
}
return 0;
}
A lot of code and a lot of variable name that only you know what it means could isolate the problem? http://answall.com/help/mcve
– Renan Gomes