Advertisement
Eduardo_Pires

exemplo 04

Oct 13th, 2022
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.58 KB | Software | 0 0
  1. #include <stdio.h>
  2.  
  3.  
  4.  
  5. // Função altera_preco
  6. // Desc: modifica o preço de um *produto*
  7. // Entrada:
  8. //    preco: preço do produto
  9. //    porcentagem: valor percentual a ser alterado, podendo
  10. //    ser negativo para diminuir valores
  11. // Retorno:
  12. //    0 - sucesso
  13. //    -1 - erro
  14. int altera_preco(float *preco, float porcentagem){
  15.     float temp;
  16.  
  17.     if (porcentagem > -100) {
  18.         temp = 1 + porcentagem/100; // 10 >>> 1 + 10/100 = 1.1  ;; -5  =>> 1 + (-5/100) 0.95
  19.         *preco = (*preco)*temp;  // preço modificado
  20.         return 0;
  21.     } else {
  22.         return -1;
  23.     }
  24. }
  25.  
  26. int main()
  27. {
  28.     char nome[4][100];
  29.     float preco[4];
  30.     int qtd_estoque[4];
  31.  
  32.     for (int i = 0; i < 4; i++)
  33.     {
  34.         printf("\nInforme o nome, o preco e a qtd. em estoque do produto 1:\n");
  35.         scanf("%s", nome[i]);
  36.         scanf("%f", &preco[i]);
  37.         scanf("%d", &qtd_estoque[i]);
  38.     }
  39.  
  40.  
  41.    printf("\nAumentando o preco em 10%% do produto 1 e 3");
  42.    altera_preco(&preco[0],-110);
  43.    altera_preco(&preco[2],10);
  44.  
  45.    printf("\nReduzindo o preco em 5%% do produto 2");
  46.    if (altera_preco(&preco[1],-5)==-1)
  47.      printf("\n\nErro: preco nao alterado. Porcentagem invalida\n");
  48.    else printf("\n\n Preco alterado com sucesso");
  49.  
  50.    printf("\nAlterando o preco do prod. 3");
  51.    if (altera_preco(&preco[3],-110) == -1)
  52.       printf("\n\nErro: preco nao alterado. Porcentagem invalida\n");
  53.  
  54.    printf("\nProdutos Cadastrados:\n");
  55.    for (int i = 0; i < 4; i++){
  56.      printf("\nProduto: %s\nPreco: %f\nEstoque: %d", nome[i],preco[i],qtd_estoque[i]);
  57.    }
  58.  
  59. }
  60.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement