Ir para conteúdo

sudden

Members
  • Total de itens

    1
  • Registro em

  • Última visita

Posts postados por sudden


  1. 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 Main
    void 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 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");
    }

     

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.