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 Structsstruct 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;// porcentagemfloat total;};struct modelos{char marca [20];char modelo [20];};/////Fim Structs//Inicio Fun��ovoid 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){case1:
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;case2:
cadastrarProduto(produto,contp);
contp=contp+1;
system("pause");break;case3:
mostrarCliente(cliente);
system("pause");break;case4:
mostrarProduto(produto);
system("pause");break;case5:
efetuarCompra(carrinho,cliente,produto);
system("pause");break;case6:
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 compravoid 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 temporarias
printf("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");}
[Código] Mercado digital
em C/C++
Postado
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