[Código] Mercado digital
Olá alguém que esteja lendo isso, tem dias que eu não consigo rodar esse algoritmo certo, não sei mais o que eu faço, nao sou nenhum desenvolvedor nem nada, tô no 1 semestre #include <stdio.h>
#include <stdlib.h> //Inicio Structs
struct telefones{
char numfixo[15]. char celular[16]. }. struct clientes{ double cpf. int codcliente. struct telefones t. char nome[30]. char sexo. }. struct produtos{ char nomeprod[20]. int codigoproduto. float valor. char modelo [10]. }. struct carrinhos{ struct clientes cliente[5]. struct produtos produto[5]. int quantidade. float subtotal. float desconto. // porcentagem float total. }. struct modelos{ char marca [20]. char modelo [20]. }. /////Fim Structs //Inicio Fun��o
void cadastrarCliente(struct clientes cliente[50], int cont). void mostrarCliente(struct clientes cliente[50]). void mostraMenuPrincipal(). void mostrarProduto(struct produtos produto[50]). void cadastrarProduto(struct produtos produto[50],int contp). void efetuarCompra(struct carrinhos carrinho[50],struct clientes cliente[3],struct produtos produto[10]). void ordenarCliente(struct clientes cliente[50]). // Inicio Mainvoid main(int argc, char *argv[]) { int resposta,contp=0,cont=0,voltar=0. //cont e o contador do cliente, contp e do produto.
struct produtos produto[50]. struct clientes cliente[50]. struct carrinhos carrinho[50]. struct modelos modelo[50]. ////////////inicio declarando structs para ele ter oque mostrar//////////////////////////////////// ///////////////////Ira direcionar o usuario no menu ///////////////////////do{
mostraMenuPrincipal(). scanf("%d", &resposta). switch(resposta) { case 1: cadastrarCliente(cliente, cont). cont=cont+1. //agora a proxima vez que for cadastrar um cliente, o indice vai ser um apos o anterior. system("pause"). break. case 2: cadastrarProduto(produto,contp). contp=contp+1. system("pause"). break. case 3: mostrarCliente(cliente). system("pause"). break. case 4: mostrarProduto(produto). system("pause"). break. case 5: efetuarCompra(carrinho,cliente,produto). system("pause"). break. case 6: ordenarCliente(cliente). contp=contp+1. break. default: exit(0). }
}while(1). } ////////////////////////print menu ///////////////////////////////////////////void mostraMenuPrincipal(){
system("cls"). printf("==========================================================\n"). printf("1 - CADASTRAR CLIENTE\n"). printf("2 - CADASTRAR PRODUTO\n"). printf("3 - LISTA DE CLIENTES\n"). printf("4 - LISTA DE PRODUTOS\n"). printf("5 - EFETUAR VENDA\n"). printf("0 - SAIR DO MERCADO DIGITAL\n"). printf("==========================================================\n"). printf("Digite sua opcao: "). } ////////////////////////print cadastrar cliente /////////////////////////////////////////// void cadastrarCliente(struct clientes cliente[50],int cont){ system("cls"). printf("=======================================================\n"). printf("-----------------CADASTRAR CLIENTE: %d-----------------\n", cont+1). printf("=======================================================\n\n\n"). printf("AVISO! Digite o CPF da forma original com ponto e tra�os\n\n"). printf("CPF: "). fflush(stdin). //limpa o buffer scanf("%f",&cliente[cont].cpf). printf("NUM FIXO: "). fflush(stdin). scanf("%d", &cliente[cont].t.numfixo). printf("CELULAR: "). fflush(stdin). scanf("%d", &cliente[cont].t.celular). printf("NOME: "). fflush(stdin). gets(cliente[cont].nome). printf("DATA NASCIMENTO: "). fflush(stdin). cliente[cont].codcliente=cliente[cont].cpf/100000. printf("\n==========================================================\n"). printf("O CODIGO DO CLIENTE GERADO E: %d",&cliente[cont].codcliente). printf("\n"). //Printa o cliente que foi cadastrado printf("\nCPF: %d",cliente[cont].cpf). printf("\nNUM FIXO: %d",cliente[cont].t.numfixo). printf("\nCELULAR: %d",cliente[cont].t.celular). printf("\nNOME: %s",cliente[cont].nome). printf("\n=================================================\n"). }////////////////////////print listar cliente /////////////////////////////////////////// void mostrarCliente(struct clientes cliente[50]){
int repet=0. printf("================================================\n"). printf("----------------- LISTAR CLIENTE -----------------\n"). printf("================================================\n"). for(repet=0. repet<=2. repet++){ printf("\nCPF: %d",cliente[repet].cpf). printf("\nNUM FIXO: %d",cliente[repet].t.numfixo). printf("\nCELULAR: %d",cliente[repet].t.celular). printf("\nNOME: %s",cliente[repet].nome). printf("\nCODIGO DO CLIENTE: %d\n",cliente[repet].codcliente). }
}////////////////////////print cadastrar produto /////////////////////////////////////////// void cadastrarProduto(struct produtos produto[50],int contp){
printf("=================================================\n"). printf("-----------------CADASTRAR PRODUTO: %d-----------------\n", contp+1). printf("=================================================\n"). printf("CODIGO DO PRODUTO: \n"). scanf("%d",&produto[contp].codigoproduto). printf("\nNOME DO PRODUTO: "). fflush(stdin). gets(produto[contp].nomeprod). printf("\nMARCA: "). (stdin). printf("\nMODELO: "). fflush(stdin). printf("\nVALOR: "). fflush(stdin). scanf("%f",&produto[contp].valor). //agora printar produto printf("\nCODIGO DO PRODUTO: %d\n",produto[contp].codigoproduto). printf("\nNOME DO PRODUTO: %ss\n",produto[contp].nomeprod). printf("\nVALOR DO PRODUTO: R$ %0.2f\n",produto[contp].valor). printf("\nMODELO DO PRODUTO: %s", produto[contp].modelo). }////////////////////////print listar produtos /////////////////////////////////////////// void mostrarProduto(struct produtos produto[50]){
int repet. printf("================================================\n"). printf("----------------- LISTAR PRODUTO -----------------\n"). printf("================================================\n"). for(repet=0. repet<=9. repet++){ printf("\n\nCODIGO DO PRODUTO: %d",produto[repet].codigoproduto). printf("\nNOME DO PRODUTO: %s",produto[repet].nomeprod). 543. printf("\nVALOR DO PRODUTO: R$ %0.2f\n\n",produto[repet].valor). }
}//pode ser de haja erro na compra
void efetuarCompra(struct carrinhos carrinho[50],struct clientes cliente[3],struct produtos produto[10]){
int buscacliente,x. int buscaprod,buscaprod2,buscaprod3. int quantidade,quantidade2,quantidade3. float total,total2,total3. float totalum,todototal,cupom,desc. float fimtotal. mostrarCliente(cliente). printf("\n\nDigite o codigo do cliente: "). scanf("%d",&buscacliente). for(x=0. x<=50. x++){ int y. if(cliente[x].codcliente==buscacliente){ y=1. } if(y==1){ buscacliente=x. y=51. } } system("cls"). mostrarProduto(produto). printf("\ncarrinho do cliente %s",cliente[buscacliente].nome). printf("\ndigite o codigo do produto 1: "). scanf("%d",&buscaprod). for(x=0. x<=50. x++){ int y. if(produto[x].codigoproduto==buscaprod){ y=1. } if(y==1){ buscaprod=x. y=51. } } printf("\ndigite a quantidade: "). scanf("%d",&quantidade). total = quantidade * produto[buscaprod].valor. //REPETICAO///////////////////// printf("\ndigite o codigo do produto 2: "). scanf("%d",&buscaprod). for(x=0. x<=50. x++){ int y. if(produto[x].codigoproduto==buscaprod){ y=1. } if(y==1){ buscaprod=x. y=51. } } printf("\ndigite a quantidade: "). scanf("%d",&quantidade). total2 = quantidade * produto[buscaprod].valor. //REPETICAO///////////////////// printf("\ndigite o codigo do produto 3: "). scanf("%d",&buscaprod). for(x=0. x<=50. x++){ int y. if(produto[x].codigoproduto==buscaprod){ y=1. } if(y==1){ buscaprod=x. y=51. } } printf("\ndigite a quantidade: "). scanf("%d",&quantidade). total3 = quantidade * produto[buscaprod].valor. //system("pause"). printf("digite o cupom de desconto: "). scanf("%f", &cupom). todototal = total + total2 + total3. desc = todototal * (cupom / 100). fimtotal = todototal - desc. printf("Total: R$ %0.2f\n", todototal). printf("Valor do Desconto: R$ %0.2f\n", desc). printf("Valor total e R$ %0.2f\n", fimtotal). system("pause"). } void ordenarCliente(struct clientes cliente[50]){ int i,b. int codigotemp,cpftemp,fixotemp,celulartemp,datanasctemp. char nometemp. printf("Organizando lista...\n"). for(i=0. i<=3. i++){ for(b=0. b<=3. b++){
if(cliente[b].codcliente>cliente[b+1].codcliente){ //valores para variaveis temporariasprintf("transferindo valores para variaveis temporarias...\n"). codigotemp=cliente[b].codcliente. fixotemp=cliente[b].t.numfixo. celulartemp=cliente[b].t.celular. //strcpy(nometemp, cliente[b].nome). nometemp=cliente[b].nome. cpftemp=cliente[b].cpf. printf("variaveis temporarias transferidas.\n"). //fim da transferencia de valores para variaveis temporarias //fazer os valores de indice b receber o valor do indice da struct do indice seguinte
printf("cliente %d recebendo valores do cliente... %d\n",b,b+1). cliente[b].codcliente=cliente[b+1].codcliente. strcpy(cliente[b].nome, cliente[b+1].nome). cliente[b].cpf=cliente[b+1].cpf. printf("cliente %d recebeu valores do cliente %d\n",b,b+1). //fim da transferencia de valores do segundo para o primeiro indice //inicio dE transferencia de valores do primeiro indice para o segundo indice
printf("cliente %d recebendo valores das variaveis temporarias...\n",b+1). cliente[b+1].codcliente=codigotemp. printf("recebeu codigo do cliente.\n"). //cliente[b+1].nome=nometemp. strcpy(cliente[b+1].nome,nometemp). //sprintf(cliente[b+1].nome,nometemp). printf("recebeu nome\n"). cliente[b+1].cpf=cpftemp. printf("recebeu cpf\n"). printf("cliente %d recebeu valores das variaveis temporarias\n",b+1). printf("---- ---- ---- ---- "). } } } printf("Operacao concluida.\n"). }Discussão (0)
Carregando comentários...