that_one_nigga_you_k

epilef

Dec 5th, 2023 (edited)
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 4.54 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <stdlib.h>
  4.  
  5. typedef struct {
  6.     float preco;
  7.     char nome[50];
  8.     int quantidade;
  9. } produto;
  10.  
  11. int main() {
  12.     int quantidade_produtos;
  13.  
  14.     scanf("%d", &quantidade_produtos);
  15.  
  16.     produto estoque[quantidade_produtos][quantidade_produtos];
  17.  
  18.     for(int i = 0; i < quantidade_produtos ; i++){
  19.         for(int j = 0; j <quantidade_produtos ; j++){
  20.             strcpy(estoque[i][j].nome, "vazio");
  21.             estoque[i][j].preco = 0;
  22.             estoque[i][j].quantidade = 0;            
  23.         }
  24.     }
  25.  
  26.     int flag = 0;
  27.     int contador = 0;
  28.  
  29.     while (flag != 1) {
  30.         char acao[40];
  31.         int linha, coluna;
  32.         char nome[50];
  33.         int quantidade;
  34.         float preco;
  35.  
  36.         scanf("%s", acao);
  37.  
  38.         if (strcmp(acao, "EXIT") == 0) {
  39.             printf("Saindo...\n");
  40.             flag = 1;
  41.         } else if (strcmp(acao, "CREATE") == 0) {
  42.             // linha coluna nome quantidade preço
  43.             //scanf("%d %d %s %d %f", &linha, &coluna, nome, &quantidade, &preco);
  44.             scanf(" %d %d", &linha, &coluna);
  45.  
  46.             if (strcmp(estoque[linha][coluna].nome, "vazio") != 0) {
  47.                 printf("ERRO: espaco ja ocupado\n");
  48.             }
  49.            
  50.             else {
  51.                 scanf(" %s %d %f", nome, &quantidade, &preco);
  52.                 estoque[linha][coluna].preco = preco;
  53.                 estoque[linha][coluna].quantidade = quantidade;
  54.                 strcpy(estoque[linha][coluna].nome, nome);
  55.  
  56.                 printf("Produto adicionado no estoque!\n");
  57.                 contador++;
  58.             }
  59.         } else if (strcmp(acao, "READ") == 0) {
  60.             // nome
  61.             scanf("%s", nome);
  62.  
  63.             int flagg = 0;
  64.  
  65.             for (int i = 0; i < quantidade_produtos && flagg != 1; i++) {
  66.                 for (int j = 0; j < quantidade_produtos; j++) {
  67.                     if (strcmp(estoque[i][j].nome, nome) == 0) {
  68.                         // "LINHA:  COLUNA:  QTD:  PRECO:  "
  69.                         printf("LINHA: %d COLUNA: %d QTD: %d PRECO: %.2f\n", i, j, estoque[i][j].quantidade,
  70.                                estoque[i][j].preco);
  71.                         flagg = 1;
  72.                         break;
  73.                     }
  74.                 }
  75.             }
  76.  
  77.             if (flagg == 0) {
  78.                 printf("ERRO: Produto nao encontrado.\n");
  79.             }
  80.  
  81.         } else if (strcmp(acao, "UPDATE") == 0) {
  82.             // nome quantidade preço
  83.             scanf("%s %d %f", nome, &quantidade, &preco);
  84.  
  85.             int flagg = 0;
  86.             for (int i = 0; i < quantidade_produtos && flagg != 1; i++) {
  87.                 for (int j = 0; j < quantidade_produtos; j++) {
  88.                     if (strcmp(estoque[i][j].nome, nome) == 0) {
  89.                         // quantidade, preco
  90.                         estoque[i][j].quantidade = quantidade;
  91.                         estoque[i][j].preco = preco;
  92.                         printf("Produto atualizado!\n");
  93.                         flagg = 1;
  94.                         break;
  95.                     }
  96.                 }
  97.             }
  98.  
  99.             if (flagg == 0)
  100.                 printf("Produto nao encontrado!\n");
  101.         } else if (strcmp(acao, "DELETE") == 0) {
  102.             scanf("%s", nome);
  103.  
  104.             int flagg = 0;
  105.  
  106.             for (int i = 0; i < quantidade_produtos && flagg != 1; i++) {
  107.                 for (int j = 0; j < quantidade_produtos; j++) {
  108.                     if (strcmp(estoque[i][j].nome, nome) == 0) {
  109.                         strcpy(estoque[i][j].nome, "vazio");
  110.                         estoque[i][j].quantidade = 0;
  111.                         estoque[i][j].preco = 0.0;
  112.                         printf("Produto removido!\n");
  113.                         flagg = 1;
  114.                         break;
  115.                     }
  116.                 }
  117.             }
  118.  
  119.             if (flagg == 0) {
  120.                 printf("Produto nao encontrado!\n");
  121.             }
  122.         } else if (strcmp(acao, "PRINT") == 0) {
  123.             for (int i = 0; i < quantidade_produtos; i++) {
  124.                 for (int j = 0; j < quantidade_produtos; j++) {
  125.                     // "LINHA:  COLUNA: NOME: QTD:  PRECO:  "
  126.                     if (strcmp(estoque[i][j].nome, "vazio") != 0) {
  127.                         printf("LINHA: %d COLUNA: %d NOME: %s QTD: %d PRECO: %.2f\n", i, j, estoque[i][j].nome,
  128.                                estoque[i][j].quantidade, estoque[i][j].preco);
  129.                     }
  130.                 }
  131.             }
  132.         }
  133.     }
  134.  
  135.     return 0;
  136. }
  137.  
Add Comment
Please, Sign In to add comment