Ir ao conteúdo

Felipe M. S.

Membro Júnior
  • Posts

    8
  • Cadastrado em

  • Última visita

Tudo que Felipe M. S. postou

  1. Olá, estou com problemas na impressão de porcentagem e nos acumuladores. Meu programa recebe um número inteiro que informa quantos dados ira receber(como string), depois receber os dados como string ele os transforma em inteiro e caractere: Ex: 24 C, 10 S, 5 R (24 coelhos, 10 sapos, 5 ratos), Este é o problema 1094 do uri. O código: #include <stdio.h> #include <stdlib.h> #include <conio.h> int main(){ int i, count, n1, n2, coelho=0, rato=0, sapo=0, total=0; float result; char dados[5], tipo; scanf("%d",&count); //Quantidade de vezes(for). for(i=0;i<count;i++){ if(dados[1]!=32){ //dados posição 1 diferente de espaço(numero maior que 9) setbuf(stdin, NULL); gets(dados); setbuf(stdin, NULL); n1=dados[0] - 48; n2=dados[1] - 48; n1=n1*10+n2; //concatenação de inteiro tipo=dados[3]; // acumuladores com problema if(tipo==67) coelho+=n1; //tabela ascii if(tipo==82) rato+=n1; if(tipo==83) sapo+=n1; total+=n1; }else{ // else, numero menor que 10 setbuf(stdin, NULL); gets(dados); setbuf(stdin, NULL); n1=dados[0]-48; tipo=dados[2]; // acumuladores com problema if(tipo==67) coelho+=n1; if(tipo==82) rato+=n1; if(tipo==83) sapo+=n1; total+=n1; } } printf("Total: %d cobaias\n",total); printf("Total de coelhos: %d\n",coelho); printf("Total de ratos: %d\n",rato); printf("Total de sapos: %d\n",sapo); result=coelho/total*100; // porcentagem de cobaias (erro: result não recebe resultado) printf("Percentual de coelhos: %2.f %%\n",result); result=rato/total*100; printf("Percentual de ratos: %2.f %%\n",result); result=sapo/total*100; printf("Percentual de sapos: %2.f %%\n",result); getch(); return 0; }
  2. O único problema é com o número 4, o programa diz que é primo!? Além disso, como posso fazer o programa parar quando o cont ser maior que 1, para não desperdiçar processamento? #include <stdio.h> #include <conio.h> #include <math.h> int main() { int n,i,result,cont; cont=0; printf("Digite um numero positivo\n"); scanf("%d",&n); if(n>2){ for(i=2;i<n;i++){ result=n%i; if(result==0) cont++; } } if(cont>1) printf("%d nao é primo\n",n); else printf("%d é primo\n",n); getch(); return 0; } Desde já, agradeço pela atenção.
  3. Descobri o erro, na linha de código system("PAUSE"); o correto seria system("pause"); Um erro bobo.
  4. Pelo visto o problema não é o código, se eu conseguir resolver posto a resposta aqui. Obrigado a todos que ajudaram.
  5. @isrnick O código agora está assim: int main() { float C,F; printf("Digite a temperatura em Celsius\n"); scanf("%f%*c",&C); F=(C*1.8)+32; printf("A temperatura em Fahrenheit é:%.1f\n\n",F); char c; while ( (c = getchar()) != '\n' ); return 0; } Quando abro o executável pelo cmd ele funciona perfeitamente, mesma coisa pelo codeblocks. Essa nova linha de comando funcionou bem substituindo o system 'PAUSE', mas mesmo assim o executável continua fechando fora do programa. main.rar
  6. Fiz as mudanças. No codeblocks funciona perfeitamente, mas o executável na pasta continua fechando...
  7. Olá, Estou começando e criei um código básico em C, quando entro na pasta debug e tento rodar o executável ele fecha no meio do caminho, antes de mostrar o resultado. Se pressiono enter ele simplesmente fecha. #include <stdio.h> #include <stdlib.h> int main() { float C,F; printf("Digite a temperatura em Celsius\n"); scanf("%f",&C); F=(C*1.8)+32; printf("A temperatura em Fahrenheit é:%f\n\n",F); system("PAUSE"); return 0; } Obrigado.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...