Estou fazendo estrutura de dados na faculdade, como não sou muito bom em c, vim recorrer a quem conhece.
O trabalho é o seguinte
Desenvolver um programa em C com menu para
Cadastrar Clientes em um vetor capaz de armazenar 50 clientes, cada estrutura de clientes contem CPF, NOME e TELEFONE, não são permitidos CPF duplicados
Listar na tela os clientes em ordem crescente de nome, e também listar em ordem crescente de CPF
Pesquisar por nome ate o índice em que o vetor foi preenchido, pois deve haver dois clientes com o mesmo nome, achado mostrar NOME e CPF
Pesquisar por CPF, ao encontrar a primeira e suposta unica ocorrência mostra o nome e termina a busca.
OBS: eu fiz algumas coisas so que dentro da main(), o professor pediu em funções passando por ponteiros.
DUVIDAS:
posso criar um vetor de estruct fora da main?
Como posso, referenciar a minha struct em uma função tipo no cadastrar?
Abaixo Segue o que eu consegui fazer.
#include<stdio.h>#include<stdlib.h>#include<string.h>int main(){//Estrutura ClientesstructClientes{char nome[255];int cpf;char telefone[25];};// Vetor da estrutura de clientesstructClientes clientes [50];int opcao, i;//Exibição do Menuwhile(i <1){//Menu
printf("\nEscolha a opcao desejada |\n 1 - Cadastrar Cliente :\n 2 - Buscar Cliente :\n 3 - Listar Clientes |: ");
scanf("%d",&opcao);//Escolha do Menu//Cadastro de clientes if(opcao ==1){//Cadastro de Clientesint cont=0,c=0;while(c <1){
printf("\nCadastrar Clientes !!!\n");
fflush ( stdin );
printf ("\n Nome: ");
scanf ("%s",&clientes [ cont ].nome );
printf ("\n CPF: ");
scanf ("%d",&clientes [ cont ].cpf );
printf ("\nTELEFONE: ");
scanf ("%s",&clientes [ cont ].telefone );
printf("Deseja Fazer um novo cadastrato: 1 - Nao : 0 - Sim");
scanf("%d",&c);
cont++;}}// Busca Clientesif(opcao ==2){int cont=0,c=0;char busca[255];
printf ("\n Digite o nome do cliente a ser buscado: \n");// Exibindo
printf ("Cliente: ");// Exibindo
scanf ("%s",&busca );// Buscawhile(c <1){while(cont <50){if(strcmp ( busca, clientes [ cont ].nome )==0){
printf("\n %s", clientes [ cont ].nome);}cont++;}
printf("Deseja Fazer uma nova busca: 1 - Nao : 0 - Sim");
scanf("%d",&c);}}//Listar Clienteif(opcao ==3){intlist;
printf("\nListar Cliente em |1 - CPF : ordem crescente :: 2 - NOME : ordem crescente|: ");
scanf("%d",&list);if(list==1){// Ordenando Vetor em CPFint i=0, j=0;charVeTempo[50];for(i;i<50-1;i++){for(j;j<50-(i+1);j++){if(clientes[j].cpf > clientes[j+1].cpf){VeTempo[j]= clientes[j].cpf;
clientes[j].cpf = clientes[j+1].cpf;
clientes[j+1].cpf =VeTempo[j];}}}}}//Fim do while Menu
printf("\n Deseja Fazer outra operacao 1 - Sair : 0 - Continuar: ");
scanf("%d",&i);// ------------------------}}
Pergunta
HugoGuedes
Ola pessoal, primeiro brigado a quem responder..
Estou fazendo estrutura de dados na faculdade, como não sou muito bom em c, vim recorrer a quem conhece.
O trabalho é o seguinte
Desenvolver um programa em C com menu para
Cadastrar Clientes em um vetor capaz de armazenar 50 clientes, cada estrutura de clientes contem CPF, NOME e TELEFONE, não são permitidos CPF duplicados
Listar na tela os clientes em ordem crescente de nome, e também listar em ordem crescente de CPF
Pesquisar por nome ate o índice em que o vetor foi preenchido, pois deve haver dois clientes com o mesmo nome, achado mostrar NOME e CPF
Pesquisar por CPF, ao encontrar a primeira e suposta unica ocorrência mostra o nome e termina a busca.
OBS: eu fiz algumas coisas so que dentro da main(), o professor pediu em funções passando por ponteiros.
DUVIDAS:
posso criar um vetor de estruct fora da main?
Como posso, referenciar a minha struct em uma função tipo no cadastrar?
Abaixo Segue o que eu consegui fazer.
MUITO OBRIGADO MESMO A QUEM ME AJUDAR.
Link para o comentário
Compartilhar em outros sites
3 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.