fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. typedef struct {
  5. int codigo;
  6. int estoque;
  7. } Cadastro;
  8.  
  9. void imprimir(Cadastro *cadastro, int n) {
  10. printf ("\n\n---------RESULTADO DOS PEDIDOS DOS CLIENTES-------\n\n");
  11. for (int i = 0; i < n; i++) {
  12. printf("Código da mercadoria %d: %d \n", i + 1, cadastro[i].codigo);
  13. printf("Quantidade da mercadoria no estoque: %d\n\n", cadastro[i].estoque);
  14. }
  15. }
  16. int main() {
  17. int n;
  18. printf ("Entre com o número de mercadorias: ");
  19. scanf ("%d", &n);
  20. Cadastro *cadastro = malloc(n * sizeof(Cadastro));
  21. if (cadastro == NULL) {
  22. printf("Proberlmas de alocação de memoria!\n");
  23. return 1;
  24. } else {
  25. for (int i = 0; i < n; i++) {
  26. printf ("Entre com o código da mercadoria %d: ",i+1);
  27. scanf ("%d%*c", &cadastro[i].codigo);
  28. printf ("Entre com o estoque da mercadoria %d: ", i+1);
  29. scanf ("%d%*c\n", &cadastro[i].estoque);
  30. }
  31. }
  32. printf ("----------PEDIDOS DOS CLIENTES----------\n\n");
  33. while (1) {
  34. printf ("Entre com o código da mercadoria: ");
  35. int codcli;
  36. scanf ("%d%*c", &codcli);
  37. int achou = 0;
  38. for (int i = 0; i < n; i++) {
  39. if (cadastro[i].codigo == codcli) {
  40. printf ("Entre com o estoque da mercadoria: ");
  41. int estoquecli;
  42. scanf ("%d", &estoquecli);
  43. if (cadastro[i].estoque >= estoquecli){
  44. cadastro[i].estoque -= estoquecli;
  45. printf ("ESTOQUE ATUALIZADO\n");
  46. } else printf ("ESTOQUE INSUFICIENTE!\n");
  47. achou = 1;
  48. }
  49. }
  50. if (achou == 0) printf ("MERCADORIA NÃO ENCONTRADA!\n");
  51. printf ("Deseja enviar outra solicitacao? (Sim: 1/Não: 0): ");
  52. int escolha;
  53. scanf ("%d", &escolha);
  54. if (escolha == 0) break;
  55. }
  56. imprimir(cadastro, n);
  57. free(cadastro);
  58. }
  59.  
  60. //https://pt.stackoverflow.com/q/333638/101
Success #stdin #stdout 0s 9424KB
stdin
2
1
10
2
20
1
7
0
stdout
Entre com o número de mercadorias: Entre com o código da mercadoria 1: Entre com o estoque da mercadoria 1: Entre com o código da mercadoria 2: Entre com o estoque da mercadoria 2: ----------PEDIDOS DOS CLIENTES----------

Entre com o código da mercadoria: Entre com o estoque da mercadoria: ESTOQUE ATUALIZADO
Deseja enviar outra solicitacao? (Sim: 1/Não: 0): 

---------RESULTADO DOS PEDIDOS DOS CLIENTES-------

Código da mercadoria 1: 1 
Quantidade da mercadoria no estoque: 3

Código da mercadoria 2: 2 
Quantidade da mercadoria no estoque: 20