eu preciso criar um programa para controlar preços de fornecedor, mas o menu fica igual lista e eu gostaria de mellhorar a apresentaçao do menu. como faço isso?
<
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_FORNECEDORES 50
#define MAX_ITENS 100
typedef struct {
char nome[50];
float preco;
char condicao_pagamento[50];
} Fornecedor;
typedef struct {
char nome[50];
int quantidade;
} Item;
Fornecedor fornecedores[MAX_FORNECEDORES];
Item itens[MAX_ITENS];
int num_fornecedores = 0;
int num_itens = 0;
void cadastrarFornecedor() {
if (num_fornecedores < MAX_FORNECEDORES) {
printf("Nome do Fornecedor: ");
scanf("%s", fornecedores[num_fornecedores].nome);
printf("Preco: ");
scanf("%f", &fornecedores[num_fornecedores].preco);
printf("Condicoes de Pagamento: ");
scanf("%s", fornecedores[num_fornecedores].condicao_pagamento);
num_fornecedores++;
} else {
printf("Limite de fornecedores atingido.\n");
}
}
void cadastrarItem() {
if (num_itens < MAX_ITENS) {
printf("Nome do Item: ");
scanf("%s", itens[num_itens].nome);
printf("Quantidade: ");
scanf("%d", &itens[num_itens].quantidade);
num_itens++;
} else {
printf("Limite de itens atingido.\n");
}
}
float calcularPrecoTotal() {
float total = 0;
for (int i = 0; i < num_itens; i++) {
float menor_preco = fornecedores[0].preco;
for (int j = 1; j < num_fornecedores; j++) {
if (fornecedores[j].preco < menor_preco) {
menor_preco = fornecedores[j].preco;
}
}
total += menor_preco * itens[i].quantidade;
}
return total;
}
void exibirRelatorio() {
printf("Relatorio de Compras:\n");
for (int i = 0; i < num_itens; i++) {
printf("Item: %s, Quantidade: %d\n", itens[i].nome, itens[i].quantidade);
}
printf("Custo Total: %.2f\n", calcularPrecoTotal());
}
int main() {
int opcao;
do {
printf("1. Cadastrar Fornecedor\n");
printf("2. Cadastrar Item\n");
printf("3. Exibir Relatorio\n");
printf("0. Sair\n");
printf("Escolha uma opcao: ");
scanf("%d", &opcao);
switch (opcao) {
case 1:
cadastrarFornecedor();
break;
case 2:
cadastrarItem();
break;
case 3:
exibirRelatorio();
break;
case 0:
printf("Saindo...\n");
break;
default:
printf("Opcao invalida!\n");
}
} while (opcao != 0);
return 0;
}
>
fica assim e eu gostaria de algo assim: