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
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
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) {
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 );
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 );
Pergunta
kamauro
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
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.