Faça um programa em linguagem C que manipule uma estrutura chamada Venda. A estrutura deve ter os campos nome do produto, quantidade, valor unitário do produto e nome do cliente.
Faça 2 rotinas, uma para ler os dados da venda, outra para mostrar seus dados.
Os dados da venda podem ser lidos pelo teclado ou preenchidos com valores fixos, conforme sua preferencia.
Gerar um vetor com 50 registros de vendas para uma loja. Faça então as seguintes funções de pesquisa:
· Mostrar o nome dos clientes que compraram certo produto X. Aproveite para contá-los também na mesma rotina.
· Calcular quanto a loja lucrou com todas essas vendas, fazendo o calculo do valor unitário x quantidade para cada venda, e somando tudo no final.
Na função main(), faça:
· Carregar pelo menos 20 vendas.
· Chamar as funções de pesquisa.
· Mostrar todos os resultados.
Dicas:
· Tabulação dos blocos, capricho na escrita, legibilidade valem nota.
· Observe que algumas partes do programa devem estar em rotinas ou funções.
· Você deve escolher o tipo de loja que pretende representar no programa.
· A função de leitura pode gerar os dados aleatoriamente se você preferir. Ou ainda preencha todas as entradas com valores constantes, escolhendo os dados de sua preferencia.
· Você deve usar apenas o DevCpp para auxiliá-lo nessa tarefa.
Respostas
Segue um exemplo de programa em linguagem C que manipula uma estrutura chamada Venda. Seguindo todas as orientações fornecidas no enunciado, você pode fazer pequenas alterações e utilizá-lo como inspiração para construir o seu próprio algoritmo, caso queira.
#include <stdio.h>
#include <time.h>
//Estrutura do Cliente
typedef struct{
char nome[30], morada[30];
int nif, bi;
}Cliente;
//Estrutura do Produto
typedef struct{
int code, quant, puni, ptotal;
}Artigo;
//Estrutura da reposição do produto
typedef struct{
int code, quant;
}Compra;
//Estrutura de venda de stock
typedef struct{
int prod, quant, code;
}Venda;
//Inserir produto
Venda venda_produto(){
Venda v1;
printf("Digite codigo do artigo: ");
scanf("%d", &v1.code);
printf("Digite quantidade do produto: ");
scanf("%d", &v1.quant);
return (v1);
}
//Inserir infomrações do cliente
Cliente preenche_cliente(){
Cliente c1;
printf("Digite nome do cliente: ");
scanf("%s", &c1.nome);
printf("\nDigite a morada do cliente: ");
scanf("%s", &c1.morada);
printf("\nDigite NIF: ");
scanf("%d", &c1.nif);
printf("\nDigite Numero do BI: ");
scanf("%d", &c1.bi);
return(c1);
}
//Inserir informações do artigo
Artigo info_artigo(){
Artigo a1;
printf("\n-----------------------------------\n");
printf("\nDigite codigo do artigo: ");
scanf("%d", &a1.code);
printf("\nDigite quantidade: ");
scanf("%d", &a1.quant);
printf("\nDigite o preco por unidade: ");
scanf("%d", &a1.puni);
a1.ptotal=a1.quant*a1.puni;
printf("\n----------------------------------\n");
return(a1);
}
Compra compra_produto(){
Compra b1;
printf("\n----------------------------------\n");
printf("\nDigite codigo do produto que quer repor: ");
scanf("%d", &b1.code);
printf("\nDigite a quantidade que deseja repor: ");
scanf("%d", &b1.quant);
printf("\n-----------------------------------\n");
printf("\nFoi reposta uma quantidade de %d produtos", b1.quant);
printf("\n-----------------------------------\n");
}
// Mostrar informações cliente
void mostra_cliente(Cliente c1){
printf("Nome:%s\n", c1.nome);
printf("Morada:%s\n", c1.morada);
printf("NIF:%d\n", c1.nif);
printf("Bi:%d\n", c1.bi);
printf("------------------------------------\n");
}
//Mostrar informações do artigo
void info_artigo1(Artigo a1){
printf("Codigo: %d\n", a1.code);
printf("Quantidade: %d unidades\n", a1.quant);
printf("Preco Unidade: %d euros\n", a1.puni);
printf("Preco Total: %d euros\n", a1.ptotal);
printf("-------------------------------------\n");
}
//Mostrar produtos repostos
void compra_produto1(Compra b1){
printf("Codigo do produto: %d\n", b1.code);
printf("Quantidade reposta: %d\n", b1.quant);
}
int menu(){
int escolha;
printf("\n *---------------------------*");
printf("\n * 1 - Vendas *");
printf("\n * 2 - Clientes *");
printf("\n * 3 - Reposicao *");
printf("\n * 4 - Artigos *");
printf("\n * 5 - Sair *");
printf("\n *---------------------------*");
printf("\nDigite numero para selecionar opcao!: \n");
scanf ("\n%d",&escolha);
return(escolha);
}
int main(){
Cliente c1;
Artigo a1;
Compra b1;
//Ciclo
//c1=preenche_cliente();
//a1=info_artigo();
//b1=compra_produto();
int op;
op=menu();
switch (op){
case 1:{
printf("----------------------------------\n");
char dateStr[9];
char timeStr[9];
_strdate(dateStr);
printf("The current date is %s \n", dateStr);
_strtime(timeStr);
printf("The current time is %s \n", timeStr);
getchar();
}
case 2:{
compra_produto(b1);
char dateStr[9];
char timeStr[9];
_strdate(dateStr);
printf("The current date is %s \n", dateStr);
_strtime(timeStr);
printf("The current time is %s \n", timeStr);
getchar();
return 0;
}
}
//Mostrar data e hora actual.
char dateStr[9];
char timeStr[9];
_strdate(dateStr);
printf("The current date is %s \n", dateStr);
_strtime(timeStr);
printf("The current time is %s \n", timeStr);
getchar();
return 0;
}
Você pode ler mais em: