Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda nesse codigo


kamauro

Pergunta

Bom dia galera do forum, alguém poderia me ajudar nesse codigo?  é um sistema de doceria onde entra com dados do cliente gostaria de colocar o sorteio aleatorio para o codigo do cliente e não consigo e a outra duvida é como alterar os dados dos clientes dpois de cadastrados...vlw galera

 

 

 

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
#include <conio.h>//blblioteca de cores
#include <locale.h>

//Declaraçao das struct

struct pedido
{
    char namePed[200];
    char CPF[200];
    char numPed[200];
    char qtdPed[200];
    char valorped[200];
    int cod;
}logP[200];// logP nome do tipo criado de declaracao de variavel pedido

struct cadastro
{
    char CPF[200];
    char telefone[200];
    char nome[200];
    char endereco[200];
    char data[200];
    int vazio,cod;
    struct pedido clientePed;

}log[200];//log, nome do tipo de variavel para cadastro de cliente


//DECLARAÇÃO DAS  FUNÇÕES

int verifica_pos(void);//verifica posicao
int verifica_cod( int cod );//verifica o codigo do cliente
int opt;
void cadastroP(int cod,int pos);
void list();
void cadastroPedido();
void consultaCod (void);
void excluirCliente (void);
void altera(void);
void sorteio();

//INICIO DO MAIN

int main(void){
    setlocale(LC_ALL, "portuguese");
    system("color f9");

    /*
Cores:
    0 = Preto          8 = Cinza
    1 = Azul           9 = Azul claro
    2 = Verde        10 = Verde claro
    3 = Verde-água   11 = Verde-água claro
    4 = Vermelho     12 = Vermelho claro
    5 = Roxo         13 = Lilás
    6 = Amarelo      14 = Amarelo claro
    7 = Branco       15 = Branco brilhante
*/

    printf("\n\n");
    printf("\t\t\t      ##     ###    ## ##                  \n");
    printf("\t\t\t     ## #    #  #   # # #  \n");
    printf("\t\t\t    ## # #   #  #   #   #   \n" );
    printf("\t\t\t   ##     #  ###    #   # \n");
    printf("\t\t*********************************************\n");
    printf("\t\t************** D O C E R I A ****************\n");
    printf("\t\t*********************************************\n");

    int i,Opcao,OpcaoCliente,posicao,retorno;
    int codaux;

    //Menu principal
    do
    {
        printf("\n\t\t1 - Cadastrar Novo Cliente\n");
        printf("\t\t2 - Cliente\n");
        printf("\t\t3 - Alterar Cliente\n");
        printf("\t\t4 - Excluir Cliente\n");
        printf("\t\t5 - Cadastrar Pedido\n");
        printf("\t\t6 - Alterar Pedido\n");
        printf("\t\t7 - Excluir Pedido\n");
        printf("\t\t8 - Sair\n");
        printf("\n Selecione uma opcao por favor: ");
        scanf("%d", &Opcao);
        getchar();
        if (Opcao == 1)
        {
            printf("\n\n \t\t\tCadastrar Novo Cliente\n");
            //posicao=verifica_pos();

                if ( posicao != -1 )
                {

                    printf("\nEntre com um codigo para o cliente: \n");
                    scanf("%d",&codaux);
                    fflush(stdin);

                    retorno = verifica_cod( codaux );

                    if ( retorno == 1 )
                                                 cadastroP( codaux, posicao );
                    else{
                        printf("\nCodigo já existente ou invalido pressione enter para voltar ao menu principal\n");
                        getchar();
                        system("cls");
                        main();
                    }

                }
                else
                    printf("\nNao e possivel realizar mais cadastros!\n");

                break;

        }
        else if (Opcao == 2)
        {
            system("cls");
            do{
            printf("\n\t\t\t Clientes\n\n");
            printf("1 - Pesquisar cliente por codigo\n");
            printf("2 - Listar todos os clientes\n");
            printf("3 - Voltar ao menu principal\n");
            printf("\nSelecione uma opcao por favor: ");
            scanf("%d", &OpcaoCliente);
            getchar();
                 if(OpcaoCliente == 1){
                    consultaCod();
                }
                else if(OpcaoCliente == 2){
                    list();
                }
                else if(OpcaoCliente == 3){
                    printf("Voce selecionou voltar ao menu principal, pressione ENTER para continuar");
                    getchar();
                    system("cls");
                }
                else
                    printf("Opcao Invalida\n\n");
    }while(OpcaoCliente =!3 || OpcaoCliente > 3 || OpcaoCliente < 0 || OpcaoCliente == 0);
        }
        else if (Opcao == 3)
        {
            printf("\n\t\t\tAlterar Cliente\n");
            altera();
        }
        else if (Opcao == 4)
        {
            printf("\n\t\t\tExcluir Cliente\n");
            excluirCliente();
        }
        else if (Opcao == 5)
        {
            printf("\n\t\t\tCadastrar Pedido\n");
            cadastroPedido();
        }
        else if (Opcao == 6)
        {
            printf("\n\t\t\tAlterar Pedido\n");

        }
        else if (Opcao == 7)
        {
            printf("\\n\t\t\tExcluir Pedido\n");
        }
        else if (Opcao == 8)
        {
            printf("\n\t\t\tSair\n");
        }
        else{
            printf("Opcao invalida, favor pressione enter para voltar ao menu principal");
            getchar();
            system("cls");
        }
        }    while (Opcao != 8 || Opcao < 8);

} // FIM DO MAIN


   // Lista os usuarios cadastrados.

void list(){
    int i,j;
    for(i=0;i<200;i++){
        if(log.cod!=NULL){
            printf("\nCodigo: %d \nNome: %s\nCPF: %s\nEndereco: %s\nTelefone: %s\n\n", log.cod,log.nome,log.CPF,log.endereco,log.telefone);
    }
}
    printf("Pressione enter para volta ao menu principal");
    getchar();
    system("cls");

} //FIM DO LIST

 

//INICIO DE CADASTRO DE CLIENTES
void cadastroP(int cod, int pos){
    int i;
    do{
    pos = verifica_pos();
    log[pos].cod = cod;
        printf("\nNome: ");
        gets(log[pos].nome);
        printf("\nDigite o CPF: ");
        gets(log[pos].CPF);
        printf("\nDigite o Endereco:");
        gets(log[pos].endereco);
        printf("\nDigite o RG: ");
        gets(log[pos].telefone);
        log[pos].vazio = 1;
       // printf("\nDigite enter para efetuar novo cadastro ou qualquer outra tecla para volar ao menu principal");
        //scanf("%d", &opt);
        printf("\n\t\t\t\tCadastro realizado com sucesso! \n\n\t\tPressione qualquer tecla para continuar!\n");
        opt ==1;
        getchar();
    }while(opt==1);
    system("cls");

    main();

} // FIM DO CADASTRO DE CLIENTES

   //VERIFICADOR DA POSIÇÃO
int verifica_pos( void )
{
    int cont = 0;

    while ( cont <= 200 )
    {

        if ( log[cont].vazio == 0 )
            return(cont);

        cont++;

    }

    return(-1);

} // FIM DO VERIFICADOR

 


  // VERIFICADOR DE CÓDIGO

int verifica_cod( int cod )
{
    int cont = 0;

    while ( cont <= 200 )
    {
        if ( log[cont].cod == cod )
            return(0);

        cont++;
    }

    return(1);

} // FIM DO VERIFICADOR

 

  //CADASTRO DE PEDIDOS
void cadastroPedido(){
    system("cls");
    int i;
    int Option;
    int OpcaoPedido;
    char nomeCad[200];
    printf("\nDigite seu nome como esta no cadastro: ");
    gets(nomeCad);
    for(i=0;i<200;i++){
            if(strcmp(log.nome, nomeCad)==0){
                do{
                printf("\nEscolha o seu pedido: "); //PEDIDOS MERAMENTE ILUSTRATIVOS, COLOQUEI SÓ PARA VER SE CONSEGUIA ANEXAR A 1 CADATRO MAS NÃO CONSEGUI.
                printf("\n1- Sanduba esperto");
                printf("\n2- Ceasar Salad");
                printf("\n3- Raviolli\n:");
                scanf("%d", &OpcaoPedido);
                if(OpcaoPedido == 1){
                    strcpy(log.clientePed.namePed, "Sanduba esperto");
                    printf("\nVoce escolheu %s, seu pedido foi adicionado ao seu cadastro.",log.clientePed.namePed);
                    printf("\nPressione 1 para continuar pedindo ou 2 para volar ao menu principal: ");
                    scanf("%d", &Option);
                    i++;
                }
                else if(OpcaoPedido == 2){
                    strcpy(log.clientePed.namePed, "Ceasar Salad");
                    printf("\nVoce escolheu %s, seu pedido foi adicionado ao seu cadastro.", log.clientePed.namePed);
                    printf("\nPressione 1 para continuar pedindo ou 2 para volar ao menu principal: ");
                    scanf("%d", &Option);
                    i++;
                   }
                   else if(OpcaoPedido == 3){
                    strcpy(log.clientePed.namePed, "Raviolli");
                    printf("\nVoce escolheu %s, seu pedido foi adicionado ao seu cadastro.", log.clientePed.namePed);
                    printf("\nPressione 1 para continuar pedindo ou 2 para volar ao menu principal: ");
                    scanf("%d", &Option);
                    i++;
                }
    }while(Option == 1);
    system("cls");


}
}
} // FIM DO CADASTRO DE PEDIDOS.

 

  // CONSULTAR 1 CADASTRADO  VIA CÓDIGO DADO POR USUÁRIO.
void consultaCod (void)
{
    int cont = 0, cod;

    printf("\nEntre com o codigo\n");
    scanf("%d",&cod);
    fflush(stdin);
    system("cls");

    while ( cont <= 200 )
    {

        if (log[cont].cod==cod)
        {
            if (log[cont].vazio==1)
            {

                printf("\nCodigo: %d \nNome: %s\nCPF: %s\nEndereco: %s\nTelefone: %s\n\n", log[cont].cod,log[cont].nome,log[cont].CPF,log[cont].endereco,log[cont].telefone);


                system ("pause");

                system("cls");

                break;

            }
        }

        cont++;

        if ( cont > 200 ){
            printf("\nCodigo não encontrado, pressione enter para volar ao menu principal\n");
            getchar();
            system("cls");
        }

    }
} // FIM DA FUNÇÃO CONSULTAR

 

  // EXCLUI CLIENTE
void excluirCliente(void)
{
    int cod, cont = 0;
    char resp;
    printf("\nEntre com o codigo do registro que deseja excluir: \n");
    scanf("%d", &cod );

    while ( cont <= 200 )
    {

        if ( log[cont].cod == cod )
        {

            if (log[cont].vazio == 1 )
            {
                printf("\nCodigo: %d \nNome: %s\nCPF: %s\nEndereco: %s\nTelefone: %s\n\n", log[cont].cod,log[cont].nome,log[cont].CPF,log[cont].endereco,log[cont].telefone);
                getchar();
                printf("\nDeseja realmente exlucir? s/n: ");
                scanf("%s",&resp);

                if ( ( resp == 'S' ) || ( resp == 's' ) )
                {
                    log[cont].vazio=0;
                    log[cont].cod = NULL;
                    printf("\n\t\t\t\tExclusao feita com sucesso\n");
                    break;
                }
                else
                {
                    if ( ( resp == 'N' ) || ( resp == 'n' ) )
                    {
                        printf("Exclusao cancelada!\n");
                        break;
                    }
                }

            }

        }

        cont++;

        if ( cont > 200 )
            printf("\nCodigo não encontrado\n");

    }

    system("pause");
    system("cls");

}
//FIM DA FUNCAO DE EXCLUIR CLIENTE

//INICIO DA FUNCAO SORTEIO

//FIM DA FUNCAO SORTEIO
void sorteio(void)
{
    int i,x;
   // printf("intervalo da rand: [0,%d]\n", RAND_MAX);
    srand( (unsigned)time(NULL) );
     x=rand()%1000;
    for(i=1 ; i <= 1 ; i++)
        printf("Numero sorteado: %d\n", x);
}


    // ESSE EU não CONSEGUI FAZER

//FUNCAO ALTERA CADASTRO
void altera(void)
{
int cod, cont = 0;
    char resp;
    printf("\nEntre com o codigo do registro que deseja alterar: \n");
    scanf("%d", &cod );

    while ( cont <= 200 )
    {

        if ( log[cont].cod == cod )
        {

            if (log[cont].vazio == 1 )
            {
                printf("\nCodigo: %d \nNome: %s\nCPF: %s\nEndereco: %s\nTelefone: %s\n\n", log[cont].cod,log[cont].nome,log[cont].CPF,log[cont].endereco,log[cont].telefone);
                getchar();
                printf("\nDeseja realmente alterar os dados? s/n: ");
                scanf("%s",&resp);

                if ( ( resp == 'S' ) || ( resp == 's' ) )
                {
                    printf("entre com os novos dados");
                    log[cont].vazio=0;
                    log[cont].cod = cadastroP;
                    printf("\n\t\t\t\tAlteracao  feita com sucesso\n");
                    break;
                }
                else
                {
                    if ( ( resp == 'N' ) || ( resp == 'n' ) )
                    {
                        printf("Alteracao cancelada!\n");
                        break;
                    }
                }

            }

        }

        cont++;

        if ( cont > 200 )
            printf("\nCodigo não encontrado\n");

    }

    system("pause");
    system("cls");
    return 0;
}

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...