suzy Posted January 18, 2007 at 05:26 PM Report Share #77093 Posted January 18, 2007 at 05:26 PM Faça o algoritmo de um programa que calcule o valor total a pagar por determinado artigo, sabendo o tipo de artigo e o seu preço sem IVA . Suponha que a taxa de IVA é de 5 % para os bens essenciais, 30% para os produtos de luxo e 19 % para os restantes. #include<stdio.h> # define B 0.5 # define L 0.30 # define R 0.19 main() { int precosiva,ival,ivab,ivar,precop; char tipo; printf(" introduza o tipo de produto\n"), printf(" BENS ESSENCIAIS -> b\n"); printf(" LUXO - > l \n"); printf(" RESTANTES -> r \n"); scanf("%c",&tipo); printf(" introduza o preco do produto\n"); scanf("%d",&precosiva); if(tipo=='b') { ivab=precosiva*B; precop=precosiva+ivab; printf(" o preco do produto e %5d\n",precop); } else if(tipo=='l') { ival=precosiva*L; precop=precosiva+ival; printf(" o preco do produto e %d\n",precop); } else { ivar=precosiva*R; precop=precosiva+ivar; printf(" o preco do produto e %d\n",precop); } fflush(stdin); getchar(); } Link to comment Share on other sites More sharing options...
Triton Posted January 18, 2007 at 06:06 PM Report Share #77104 Posted January 18, 2007 at 06:06 PM #include<stdio.h> # define B [b]0.05[/b] # define L 0.30 # define R 0.19 int main() { int precosiva, ival, ivab, ivar, precop; char tipo; printf("BENS ESSENCIAIS -> b\n"); printf("LUXO - > l \n"); printf("RESTANTES -> r \n"); printf("Introduza o tipo de produto: "); scanf("%c", &tipo); printf("Introduza o preco do produto: "); scanf("%d", &precosiva); if(tipo=='b') { ivab=precosiva*B; precop=precosiva+ivab; printf(" o preco do produto e %d\n", precop); } else if(tipo=='l') { ival=precosiva*L; precop=precosiva+ival; printf(" o preco do produto e %d\n", precop); } else { ivar=precosiva*R; precop=precosiva+ivar; printf(" o preco do produto e %d\n", precop); } fflush(stdin); getchar(); return 0; } Não testei, se ainda não funcionar apresenta aqui a mensagem de erro. 😄 PS: Aprende a indentar o código correctamente, torna a detecção de erros muito mais fácil. <3 life Link to comment Share on other sites More sharing options...
Rui Carlos Posted January 18, 2007 at 06:39 PM Report Share #77120 Posted January 18, 2007 at 06:39 PM no segundo 'scanf', um espaço antes do '%d' é capaz de ser útil... se calhar era boa ideia usar floats em vez de ints. no último 'else' devia ter um 'if(tipo=='r')' e depois outro 'else' a dar uma mensagem de erro. também não está a verificar se o utilizador está a introduzir um valor inteiro para o preço do produto (isso pode ser feito analizando o resultado do 'scanf'). Rui Carlos Gonçalves Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now