Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Utilizando estrutura de dados e funcao crie um programa utilizando a linguagem C para
- armazenar a lista de compras de uma pessoa, sendo que na lista hΓ‘:
- - O numero do item;
- - O nome do produto;
- - A quantidade;
- - O valor do produto.
- A lista terΓ‘ 10 itens de produtos.
- Criar uma funcao para listar:
- - Os produtos comprados;
- - A quantidade total de produtos;
- - O valor total da lista de compras.
- Criar tambem um menu para:
- - Permitir o cadastro dos produtos na lista de compras;
- - A visualizacao dos produtos na lista de compras.
- */
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #define MAX 10
- struct produto {
- int codigo;
- char nome[30];
- int qtd;
- float valor;
- };
- struct produto lista[MAX];
- int produtos = 0, i;
- void cadastrar_produto(struct produto *produto) {
- if (produtos == MAX) {
- printf("Sua lista esta cheia!");
- system("pause");
- return;
- }
- printf("Codigo do produto: ");
- scanf("%i", &produto->codigo);
- printf("Nome do produto: ");
- fflush(stdin);
- gets(produto->nome);
- printf("Quantidade do produto: ");
- scanf("%i", &produto->qtd);
- printf("Valor da unidade: ");
- scanf("%f", &produto->valor);
- produtos++;
- }
- void listar_compras(struct produto lista[]) {
- if (produtos == 0)
- printf("Sua lista esta vazia!\n");
- else {
- float total = 0;
- int itens = 0;
- for (i = 0; i < produtos; i++) {
- printf("%i - %s (R$%.2f): %i itens\n", lista[i].codigo, lista[i].nome, lista[i].valor, lista[i].qtd);
- total += ((float) lista[i].qtd * lista[i].valor);
- itens += lista[i].qtd;
- }
- printf("Total de produtos: %i\n", itens);
- printf("Preco total: R$%.2f\n", total);
- }
- system("pause");
- }
- int menu() {
- int opcao;
- printf("********************************************\n");
- printf("** **\n");
- printf("** LOJINHA MAROTA DO EDILSON **\n");
- printf("** **\n");
- printf("** 1 - Cadastrar Produto **\n");
- printf("** 2 - Visualizar Produtos **\n");
- printf("** 0 - Sair **\n");
- printf("** **\n");
- printf("** Voce ainda pode escolher %i produtos ", MAX - produtos); if (MAX - produtos < 10) printf(" "); printf("**\n");
- printf("** **\n");
- printf("********************************************\n");
- opcao:
- printf("Digite sua opcao: ");
- scanf("%i", &opcao);
- if (opcao > 2 || opcao < 0) {
- goto opcao;
- }
- return opcao;
- }
- int main() {
- int opcao;
- do {
- opcao = menu();
- switch(opcao) {
- case 1:
- cadastrar_produto(&lista[produtos]);
- break;
- case 2:
- listar_compras(lista);
- break;
- default:
- break;
- }
- system("cls");
- } while (opcao != 0);
- printf("Programa finalizado!\n");
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement