Hacker_em_treinamento Postado Fevereiro 16, 2022 Denunciar Share Postado Fevereiro 16, 2022 #include <stdio.h> int lucro_energetico(int s, int x, int n){ int c=0; int c2=0; int y=0; int t=0; int t2=0; int m=0; int xc=0; scanf("%d", &n); scanf("%d", &x); do{ c++; c2=c; scanf("%d", &s); if(s==1){ t+=5; x+=5; m+=10; y+=5; } if(s==2){ t+=10; x+=10; m+=15; y+=10; } if(s==3){ t+=15; x+=15; m+=20; y+=15; } if(){ printf("Reacao não finalizada %d\n", x); } for(;c==n;){ if(x>=t){ printf("Reacao finalizada: %d\n", x); break; } } } while(c!=n); return x; } int main (){ int n; int x; float s; int m1=0; int m2=0; lucro_energetico(s,x,n); return 0; } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 britivaldo Postado Fevereiro 16, 2022 Denunciar Share Postado Fevereiro 16, 2022 Bem-vindo @Hacker_em_treinamento Nota-se alguns erros lógicos e outras elementos. #1 int lucro_energetico(int s, int x, int n){ int c=0; int c2=0; int y=0; int t=0; int t2=0; int m=0; int xc=0; scanf("%d", &n); scanf("%d", &x); ... As variáveis x e n são parâmetros na função; é logicamente errado sobrescrever seus dados. #2 if () { printf("Reacao não finalizada %d\n", x); } Nessa instrução de fluxo de controle falta a expressão na condição. e.g. if (condition) { /*code block*/ } #3 for (; c == n;) { if (x >= t) { printf("Reacao finalizada: %d\n", x); break; } } Em tese... se c é igual a n, x é menor que t; terá um ‘loop’ infinito. Pense no porque disso! Acredito que com uma boa revisão da linguagem e do problema, resolverá numa próxima tentativa. [🙂] — espero que ajude. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Hacker_em_treinamento
#include <stdio.h>
int lucro_energetico(int s, int x, int n){
int c=0;
int c2=0;
int y=0;
int t=0;
int t2=0;
int m=0;
int xc=0;
scanf("%d", &n);
scanf("%d", &x);
do{
c++;
c2=c;
scanf("%d", &s);
if(s==1){
t+=5;
x+=5;
m+=10;
y+=5;
}
if(s==2){
t+=10;
x+=10;
m+=15;
y+=10;
}
if(s==3){
t+=15;
x+=15;
m+=20;
y+=15;
}
if(){
printf("Reacao não finalizada %d\n", x);
}
for(;c==n;){
if(x>=t){
printf("Reacao finalizada: %d\n", x);
break;
}
}
} while(c!=n);
return x;
}
int main (){
int n;
int x;
float s;
int m1=0;
int m2=0;
lucro_energetico(s,x,n);
return 0;
}
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.