jurassico 0 Denunciar post Postado Julho 1, 2015 galera nesse programa se eu entro com os seguinte valores: codigo=01 quantidade=5 desconto=50 o valor total ao inves de dar 50 aparece um numero diferente, oq esta errado? #include <stdio.h> #include <stdlib.h> #include <math.h> #include <string.h> main () { int codigo_produto,desconto,quantidade,preco,preco_total,preco_total_final,acumulador1,acumulador2; acumulador1=0; acumulador2=0; printf ("informe o codigo do produto: \n"); scanf ("%d", &codigo_produto); printf ("informe quantidade: \n"); scanf ("%d", &quantidade); acumulador1=quantidade; printf ("Informe desconto: \n"); scanf ("%f", &desconto); acumulador2=desconto; switch (codigo_produto){ case 01:{ preco=20; preco_total=preco*acumulador1; preco_total_final=preco_total-acumulador2; printf ("Preco total eh: %d \n", preco_total_final); break; } } system ("pause"); } Compartilhar este post Link para o post Compartilhar em outros sites
Felipe-Petrópolis 11 Denunciar post Postado Julho 1, 2015 Olá! |25|warning: format ‘%f’ expects argument of type ‘float *’, but argument 2 has type ‘int *’ - este alerta está te advertindo que você declarou a variavel desconto como "int", mas nessa parte do codigo você usou o codigo de formatação para um float "%f", foi só substituir pelo "%d" para dar o resultado que você quer. - Nos dois Alertas seguintes estão relacionados ao fato de você não ter declarado o main (), como int main (), e pelo fato de você não ter colocado return 0; antes da chave de fechamento do int main(). |7|warning: return type defaults to ‘int’ |39|warning: control reaches end of non-void function Bom por hora é só . . . tente ver se resolve o seu problema e termine o codigo. Ubuntu 14.04 GNU GCC 4.8 Codeblocks 13.12 Espero Ter Ajudado ! ! ! Compartilhar este post Link para o post Compartilhar em outros sites