TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Faça um Programa que Cadastre 5 Produtos

Por:   •  1/6/2022  •  Trabalho acadêmico  •  1.099 Palavras (5 Páginas)  •  238 Visualizações

Página 1 de 5

Faça um programa que cadastre 5 produtos. Para cada produto devem ser cadastrados

código do produto, preço e quantidade estocada. Os dados devem ser armazenados em uma lista

simplesmente encadeada e não ordenada. Posteriormente, receber do usuário a taxa de desconto (ex.:

digitar 10 para taxa de desconto de 10%). Aplicar a taxa digitada ao preço de todos os produtos

cadastrados e finalmente mostrar um relatório com o código e o novo preço. O final desse relatório deve

apresentar também a quantidade (contagem) de produtos com quantidade estocada superior a 500.

#include <stdio.h>

#include <stdlib.h>

#include <conio.h>

struct Prod{

int codigo;

float preco;

int qtde;

struct Prod *prox;

};

/*typedef para simplificar*/

typedef struct Prod Prod;

struct Lista{

struct Prod *inicio; /*aponta para o elemento do início da lista*/

struct Prod *fim; /*aponta para o elemento do fim da lista*/

};

typedef struct Lista Lista;

/*necessitaremos também de dois ponteiros auxilares *aux e *anterior */

Prod *aux;

Prod *anterior;

Lista* cria_lista(){

/*controlar a lista*/

Lista* li = (Lista*) malloc(sizeof(Lista));

if(li != NULL){

/*Se a lista está inicialmente vazia, inicio e fim apontam para NULL */

li->fim = NULL;

li->inicio = NULL;

}

return li;

}

/*produto sera inserido no fim da lista*/

void insere_produto(Lista *li){

/*a cada inserção alocamos dinamicamente um espaço para um novo nó*/

Prod *novo =(Prod*) malloc(sizeof(Prod));

/*cadastro dos dados do produto*/

printf("Digite o codigo do produto: ");

scanf("%d",&novo->codigo);

printf("Digite o preco do produto: ");

scanf("%f",&novo->preco);

printf("Digite a quantidade em estoque do produto: ");

scanf("%d",&novo->qtde);

if(li->inicio == NULL){

li->inicio = novo;

li->fim = novo;

li->fim->prox = NULL;

}else{

li->fim->prox = novo;

li->fim = novo;

li->fim->prox = NULL;

}

printf("\nProduto cadastrado, tecle enter para inserir o proximo!");

getch();

}

void aplica_taxa(Lista *li, float taxa){

if(li->inicio == NULL){

printf("\nSem Produtos!");

}else{

aux = li->inicio;

do{

aux->preco = aux->preco - aux->preco * (taxa/100);

aux = aux->prox;

}while(aux != NULL);

printf("Desconto aplicado, tecle enter para continuar!");

}

getch();

}

void imprime_relatorio(Lista *li){

if(li->inicio == NULL){

printf("\nSem Produtos!");

}else{

...

Baixar como (para membros premium)  txt (4.2 Kb)   pdf (41.3 Kb)   docx (10.1 Kb)  
Continuar por mais 4 páginas »
Disponível apenas no TrabalhosGratuitos.com