Ir ao conteúdo
  • Cadastre-se

Ajuda a achar o problema em meu prog.


wisleyy

Posts recomendados

Pessoal, estou muito desesperado, :o

o professor pediu que nosso grupo fizesse um programa que auxiliasse uma clínica odontológica.

E assim fizemos, conseguimos fazer o programa rodar legal,

porém, o professor deu uma olhada e pediu que fizessemos sem usar "PONTEIRO" ;

ai está o problema, não estamos conseguindo tirar o ponteiro e colocar no lugar vetorial.

estarei postando o código,

tenho até terça para conseguir passar isso.

se alguem puder me ajudar agradeço muito mesmo.

desde já grato.:lol:

segue o código :

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

typedef struct{
char Nome[100]; //Nome = Nome do Cliente
char CPF[50]; //CPF= CPF do Cliente
char Dentista[50]; //Dentista= nome do Dentista
char Matriculal[50]; //Matriculal= Matricula letra
char aux[100];
int telefone; //telefone= Telefone do Cliente
int Matriculan; //Matriculal= Matricula Numero
} Odontologica;

//PROTOTIPO DA FUNCAO

void cadastrar(Odontologica *p, int *search);
void pesquisar(Odontologica *p, int search);
void Nome(Odontologica *p, int search);
void Dentista(Odontologica *p, int search);
void telefone(Odontologica *p, int search);
void excluir(Odontologica *p, int search);
void alterar(Odontologica *p, int *search);

//MENU PRINCIPAL

int main()
{
system ("CLS");
system ("color F0");
int search=0;
int aux;
Odontologica p[100];
do{
printf("\t\t\t_\\|/_ CLINICA ODONTOLOGICA _\\|/_ \n\n\n");
printf("\t\t\t\tEscolha uma opcao:\n\n");
printf("\t\t\t\t1.Cadastrar Cliente\n");
printf("\t\t\t\t2.Pesquisar\n");
printf("\t\t\t\t3.Alterar\n");
printf("\t\t\t\t4.Excluir\n");
printf("\t\t\t\t5.Sair do Programa\n\n");
printf("\t\t\tOpcao Escolhida:");
scanf("%d", &aux);
if(aux==5)
{
printf("\n---------------------------------------\n");
printf("\nPressione alguma tecla para sair.....\n");
}
else
{
switch(aux)
{
case 1:
cadastrar(p, &search);
break;
case 2:
pesquisar(p, search);
break;
case 3:
alterar(p, &search);
break;
case 4:
excluir(p, search);
break;
default:
printf("Opcao Invalida!\n");
}
}
}
while(aux != 5);
return(0);
system ("CLS");
system ("PAUSE");
}

//##CHAMANDO A FUNCAO CADASTRAR##
void cadastrar(Odontologica *p, int *search)
{
system ("CLS");
char string[50];
int control=0;
int cont;
int control2=0;
fflush(stdin);

printf("\n1.Nome do Cliente:\n");
gets(p[*search].Nome);
printf("\n3.CPF do Cliente:\n");
gets(p[*search].CPF);
printf("\n2.Nome do Dentista:\n");
gets(p[*search].Dentista);

do
{
printf("\n4.Telefone do Cliente:\n");
scanf("%d", &p[*search].telefone);
if(p[*search].telefone >= 30000000)
control2 = 1;
else
printf("\nTelefone Invalido!\n");
}
while(control2 == 0);
do
{
p[*search].Matriculan = 0001;
if(p[*search].Matriculan > 1000)
control = 1;
else
control = 0;
strcpy(p[*search].Matriculal, "");
strncat(p[*search].Matriculal, p[*search].Dentista, 3);
if(control == 0)
for(cont=0; cont<100; cont++)
{
if( strcmp(p[cont].Matriculal, p[*search].Matriculal) == 0 && p[*search].Matriculal == p[cont].Matriculal)
control = 1;
else
control = 0;
}
}while(control==1);
printf("\n\nMatricula do Cliente:%s%d", p[*search].Matriculal, p[*search].Matriculan);
printf("\n\nATENCAO:A MATRICULA E NECESSARIO PARA ALTERAR OU EXCLUIR O CLIENTE!\n");
(*search)++;
system ("PAUSE");
system ("CLS");
}

//##CHAMANDO A FUNCAO PESUISAR##
void pesquisar(Odontologica *p, int search) //opcao pesquisar Cliente
{
system ("CLS");
int aux;
do{
fflush(stdin);
printf("\nFormas de pesquisa\n");
printf("\n1.Pesquisar Nome\n2.Pesquisar Telefone\n");
printf("3.Pesquisar por Dentista\n4.Voltar\n");
printf("\nOpcao Escolhida:");
scanf("%d", &aux);
if(aux==4)
{
printf("\n\n---------------------------------------\n");
printf("\nPressione alguma tecla para voltar.....\n");
}
else
{
switch(aux)
{
case 1:
Nome(p, search);
break;
case 2:
telefone(p, search);
break;
case 3:
Dentista(p, search);
break;
default:
printf("Opcao Invalida!");
}
}
}while(aux!=4);
system ("PAUSE");
system ("CLS");
}

//##CHAMANDO A FUNCAO PESQUISAR POR NOME##
void Nome(Odontologica *p,int search)
{
system ("CLS");
int cont;
int outro;
char Nom[100];
do{
fflush(stdin);
printf("\nInforme o Nome do Cliente:\n");
gets(Nom);
for(cont=0; cont < search; cont++)
{
if(strcmp(Nom, p[cont].Nome)==0)
{
printf("\n\nNome do Cliente: %s", p[cont].Nome);
printf("\nCPF do Cliente: %s", p[cont].CPF);
printf("\nDentista: %s", p[cont].Dentista);
printf("\nTelefone do Cliente: %d", p[cont].telefone);
printf("\nMatricula: %s%d", p[cont].Matriculal, p[cont].Matriculan);
}
else
printf("\n\nCliente NAO encontrado!\n");
}
printf("\n\nDeseja pesquisar outro Cliente?\n");
printf("\n1.Sim\n2.Nao\n");
printf("\nOpcao Escolhida:");
scanf("%d", &outro);
}while(outro == 1);
system ("PAUSE");
system ("CLS");
}

//##CHAMANDO A FUNCAO PESQUISAR POR DENTISTA##
void Dentista(Odontologica *p, int search)
{
system ("CLS");
int cont;
int outro;
char Den[100];
do{
fflush(stdin);
printf("\nInforme o Dentista do Cliente:\n");
gets(Den);
for(cont=0; cont < search; cont++)
{
if(strcmp(Den, p[cont].Dentista)==0)
{
printf("\n\nNome do Cliente: %s", p[cont].Nome);
printf("\nCPF do Cliente: %s", p[cont].CPF);
printf("\nDentista: %s", p[cont].Dentista);
printf("\nTelefone: %d", p[cont].telefone);
printf("\nMatricula: %s%d", p[cont].Matriculal, p[cont].Matriculan);
}
else
printf("\n\nCliente NAO encontrado!\n");
}
printf("\n\nDeseja pesquisar outro Cliente?\n");
printf("\n1.Sim\n2.Nao\n");
printf("\nOpcao Escolhida:");
scanf("%d", &outro);
}while(outro == 1);
system ("PAUSE");
system ("CLS");
}

//##CHAMANDO A FUNCAO PESQUISAR POR TELEFONE##
void telefone(Odontologica *p,int search)
{
system ("CLS");
int cont;
int outro;
int tel;
do{
fflush(stdin);
printf("\nInforme o Telefone:\n");
scanf("%d", &tel);
for(cont=0; cont < search; cont++)
{
if(tel==p[cont].telefone)
{
printf("\n\nNome do Cliente: %s", p[cont].Nome);
printf("\nCPF do Cliente: %s", p[cont].CPF);
printf("\nDentista: %s", p[cont].Dentista);
printf("\nTelefone: %d", p[cont].telefone);
printf("\nMatricula: %s%d", p[cont].Matriculal, p[cont].Matriculan);
}
else
printf("\n\nCliente NAO encontrado!\n");
}
printf("\n\nDeseja pesquisar outro Cliente?\n");
printf("\n1.Sim\n2.Nao\n");
printf("\nOpcao Escolhida:");
scanf("%d", &outro);
}while(outro == 1);
system ("PAUSE");
system ("CLS");
}

//##CHAMANDO A FUNCAO DE EXCLUIT CLIENTE##
void excluir(Odontologica *p, int search)
{
system ("CLS");
int cont;
char Matl[50];
int Matn;
int aux;
fflush(stdin);
printf("\nATENCAO:PARA EXCLUIR UM CLIENTE E NECESSARIO A MATRICULA DO MESMO!\n");
printf("\nInforme as 3 letras da Matricula:\n");
gets(Matl);
printf("\nInforme os numeros da Matricula:\n");
scanf("%d", &Matn);
for(cont=0; cont < search; cont++)
{
if(strcmp(Matl, p[cont].Matriculal)==0 && Matn==p[cont].Matriculan)
{
printf("\n\nNome do Cliente: %s", p[cont].Nome);
printf("\nCPF do Cliente: %s", p[cont].CPF);
printf("\nDentista: %s", p[cont].Dentista);
printf("\nTelefone: %d\n\n", p[cont].telefone);
printf("\nMatricula: %s%d\n\n", p[cont].Matriculal, p[cont].Matriculan);
printf("\nDeseja Excluir esse Cliente?\n1.Sim\n2.Nao\n\n");
printf("Opcao Escolhida:");
scanf("%d", &aux);
if(aux==1)
{
strcpy(p[cont].Nome, " ");
strcpy(p[cont].CPF, " ");
strcpy(p[cont].Dentista, " ");
strcpy(p[cont].Matriculal, " ");
p[cont].Matriculan=0;
p[cont].telefone=0;
printf("\nO Cliente excluido com sucesso!");
break;
}
}
}
printf("\n\n---------------------------------------\n");
printf("\nPressione alguma tecla para voltar.....\n");
system ("PAUSE");
system ("CLS");
}

//##CHAMANDO A FUNCAO DE ALTERAR CLIENTE##
void alterar(Odontologica *p, int *search)
{
system ("CLS");
int cont;
char Matl[100];
int Matn;
int aux;
int control=0;
system("cls");
fflush(stdin);
printf("\nATENCAO:PARA ALTERAR UM CLIENTE E NECESSARIO A MATRICULA DO MESMO!\n");
printf("\nInforme as 3 letras da Matricula:\n");
gets(Matl);
printf("\nInforme os numeros da Matricula:\n");
scanf("%d", &Matn);
for(cont=0; cont < *search; cont++)
{
if(strcmp(Matl, p[cont].Matriculal)==0 && Matn==p[cont].Matriculan)
{
printf("\n\nNome do Cliente: %s", p[cont].Nome);
printf("\nCPF do Cliente: %s", p[cont].CPF);
printf("\nDentista: %s", p[cont].Dentista);
printf("\nTelefone: %d\n\n", p[cont].telefone);
printf("\nMatricula do Cliente: %s%d\n\n", p[cont].Matriculal, p[cont].Matriculan);
printf("\nDeseja Alterar esse Cliente?\n1.Sim\n2.Nao\n\n");
printf("Opcao Escolhida:");
scanf("%d", &aux);
if(aux==1)
{
printf("\n\n");
gets(p[cont].Nome);
printf("\n1.Novo Nome do Cliente:\n");
gets(p[cont].Nome);
printf("\n3.Novo CPF:\n");
gets(p[cont].CPF);
printf("\n2.Novo Dentista:\n");
gets(p[cont].Dentista);
do{
printf("\n4.Novo Telefone:\n");
scanf("%d", &p[cont].telefone);
if(p[cont].telefone >= 30000000)
control=1;
else
printf("\nTelefone Invalido!\n");
}while(control == 0);
printf("O Cliente foi alterado com sucesso!");
}
}
}
printf("\n\n---------------------------------------\n");
printf("\nPressione alguma tecla para voltar.....\n");
system ("PAUSE");
system ("CLS");
}

Obrigado...^_^

Link para o comentário
Compartilhar em outros sites

tipo assim..

O professor não quer que nós usemos PONTEIRO

nesse prog, estamos salvando os dados dos pacientes usando ponteiro,

ele quer que nos em vez de ponteiro usemos vetorial ou ate matriz para salvar os dados dos pacientes e depois fazer as pesquisas e alteraçoes que o programa faz..

o prog esta correto, so que como ele nao quer com ponteiro, eu nao consigo tirar o ponteiiro e usar vetorial, esse é meu problema.

se puder me ajudar..

Muito obrigado

Link para o comentário
Compartilhar em outros sites

Olha, eu continuo sem entender...

Você criou uma estrutura "struct Odontologica" e criou um vetor estático dessas estruturas:

Odontologica p[100];

O modo normal de acessar os elementos dessa estrutura é pelo endereço delas, como você tá fazendo. Eu li o código novamente procurando algum ponteiro explícito, algum malloc, ou algo assim e não achei nada.

Então, ou seu professor não quer que você acesse nada por endereço (o que não faz muito sentido), ou eu estou meio perdido aqui...

Link para o comentário
Compartilhar em outros sites

tipow, ele falo que nao posso usar isso

void cadastrar(Odontologica *p, int *search);

void pesquisar(Odontologica *p, int search);

void Nome(Odontologica *p, int search);

void Dentista(Odontologica *p, int search);

void telefone(Odontologica *p, int search);

void excluir(Odontologica *p, int search);

void alterar(Odontologica *p, int *search);

ele disse que o "*p" é um ponteiro,

eu to com muitas duvidas por causa disso..

ele quer que mude, mais nem sei o que mudar.

mais valeu cara..

eu vou é apresentar assim mesmo..

voce entende mais que eu

esse *p seria algum ponteiro?

Link para o comentário
Compartilhar em outros sites

Sim, esse *p é um ponteiro.

O que o seu professor quer é, digamos, algo contra o princípio da programação eficaz e prática.

A maneira que ele quer, passagem por parâmetro estático, consome muito mais recursos do que um ponteiro, pois fará uma cópia em memória da estrutura atual, mudará o que for necessário, e então retornará essa nova estrutura. E o código que chamou a função, teria de descartar a estrutura inicial e armazenar a estrutura nova (o retorno da função).

Como você fez, é a maneira eficaz e convencional.

Link para o comentário
Compartilhar em outros sites

sim, o problema é que tipo eu sou de um semestre a mais que a turma, eu sei usar mais ou menos o ponteiro, so que como a turma la nao aprendeu , ele quer sem o ponteiro.

por isso nao posso usar o ponteiro

eu sei que desse jeito ai ficou muito bom, mais ele nao quer assim entende =x

e eu nao consigo, ja tentei colocar de outra maneira, e nao consigo..

vou falar o que ele pediu olha só...

Criar um programa para auxilio de uma clinica odontologica que faça um menu:

->1-Cadastrar paciente

nome; telefone; endereço; dentista; cpf; numero de matricula.

->2-Buscar paciente

de que forma: por nome; por n° de matricula; por dentista.

->3-editar paciente

busco e mudo algumas coisas que precise.

->4-excluir

busco e excluo.

->5-Sair.

é isso mais ou menos ai..

valeu mano..

se puder me ajudar mais ai ^^

agradeço demais, é projeto pro dia do jogo do Brasil kkk

ta ****!

Obrigado

Link para o comentário
Compartilhar em outros sites

Dei uma modificada no seu código, alterei apenas as funções que fazem as buscas dos dados para receber um array como parâmetro.

Agora falta você fazer as de inserção e remoção.


#include <stdio.h>
#include <stdlib.h>
#include <string.h>

typedef struct
{
char Nome[100]; //Nome = Nome do Cliente
char CPF[50]; //CPF= CPF do Cliente
char Dentista[50]; //Dentista= nome do Dentista
char Matriculal[50]; //Matriculal= Matricula letra
char aux[100];
int telefone; //telefone= Telefone do Cliente
int Matriculan; //Matriculal= Matricula Numero
} Odontologica;

//PROTOTIPO DA FUNCAO

void cadastrar(Odontologica *p, int *search);
void pesquisar(Odontologica p[], int search);
void Nome(Odontologica p[], int search);
void Dentista(Odontologica p[], int search);
void telefone(Odontologica p[], int search);
void excluir(Odontologica *p, int search);
void alterar(Odontologica *p, int *search);

//MENU PRINCIPAL

int main()
{
system ("clear");
int search=0;
int aux;
Odontologica p[100];

do{
printf("\t\t\t_\\|/_ CLINICA ODONTOLOGICA _\\|/_ \n\n\n");
printf("\t\t\t\tEscolha uma opcao:\n\n");
printf("\t\t\t\t1.Cadastrar Cliente\n");
printf("\t\t\t\t2.Pesquisar\n");
printf("\t\t\t\t3.Alterar\n");
printf("\t\t\t\t4.Excluir\n");
printf("\t\t\t\t5.Sair do Programa\n\n");
printf("\t\t\tOpcao Escolhida:");
scanf("%d", &aux);

if(aux==5)
{
printf("\n---------------------------------------\n");
printf("\nPressione alguma tecla para sair.....\n");
}
else
{
switch(aux)
{
case 1:
cadastrar(p, &search);
break;
case 2:
pesquisar(p, search);
break;
case 3:
alterar(p, &search);
break;
case 4:
excluir(p, search);
break;
default:
printf("Opcao Invalida!\n");
}
}
}

while(aux != 5);
return(0);
system ("clear");

}

//##CHAMANDO A FUNCAO CADASTRAR##
void cadastrar(Odontologica *p, int *search)
{
system ("clear");
char string[50];
int control=0;
int cont;
int control2=0;
fflush(stdin);

printf("\n1.Nome do Cliente:\n");
scanf("%s", p[*search].Nome);
printf("\n3.CPF do Cliente:\n");
scanf("%s", p[*search].CPF);
printf("\n2.Nome do Dentista:\n");
scanf("%s", p[*search].Dentista);

do
{
printf("\n4.Telefone do Cliente:\n");
scanf("%d", &p[*search].telefone);

if(p[*search].telefone >= 30000000)
control2 = 1;
else
printf("\nTelefone Invalido!\n");
}

while(control2 == 0);
do
{
p[*search].Matriculan = 0001;

if(p[*search].Matriculan > 1000)
control = 1;
else
control = 0;

strcpy(p[*search].Matriculal, "");
strncat(p[*search].Matriculal, p[*search].Dentista, 3);

if(control == 0)
for(cont=0; cont<100; cont++)
{
if( strcmp(p[cont].Matriculal, p[*search].Matriculal) == 0 && p[*search].Matriculal == p[cont].Matriculal)
control = 1;
else
control = 0;
}
}
while ( control == 1 );

printf("\n\nMatricula do Cliente:%s%d", p[*search].Matriculal, p[*search].Matriculan);
printf("\n\nATENCAO:A MATRICULA E NECESSARIO PARA ALTERAR OU EXCLUIR O CLIENTE!\n");
(*search)++;
system ("clear");

}

//##CHAMANDO A FUNCAO PESUISAR##
void pesquisar(Odontologica p[], int search) //opcao pesquisar Cliente
{
system ("clear");
int aux;

do
{
fflush(stdin);
printf("\nFormas de pesquisa\n");
printf("\n1.Pesquisar Nome\n2.Pesquisar Telefone\n");
printf("3.Pesquisar por Dentista\n4.Voltar\n");
printf("\nOpcao Escolhida:");
scanf("%d", &aux);

if ( aux == 4 )
{
printf("\n\n---------------------------------------\n");
printf("\nPressione alguma tecla para voltar.....\n");
}
else
{
switch(aux)
{
case 1:
Nome(p, search);
break;
case 2:
telefone(p, search);
break;
case 3:
Dentista(p, search);
break;
default:
printf("Opcao Invalida!");
}

}
}
while ( aux != 4 );

system ("clear");
}

//##CHAMANDO A FUNCAO PESQUISAR POR NOME##
void Nome(Odontologica p[],int search)
{
system ("clear");
int cont;
int outro;
char Nom[100];

do
{

fflush(stdin);
printf("\nInforme o Nome do Cliente:\n");
scanf("%s", &Nom);
for(cont=0; cont < search; cont++)
{
if(strcmp(Nom, p[cont].Nome)==0)
{
printf("\n\nNome do Cliente: %s", p[cont].Nome);
printf("\nCPF do Cliente: %s", p[cont].CPF);
printf("\nDentista: %s", p[cont].Dentista);
printf("\nTelefone do Cliente: %d", p[cont].telefone);
printf("\nMatricula: %s%d", p[cont].Matriculal, p[cont].Matriculan);
}
else
printf("\n\nCliente NAO encontrado!\n");
}

printf("\n\nDeseja pesquisar outro Cliente?\n");
printf("\n1.Sim\n2.Nao\n");
printf("\nOpcao Escolhida:");
scanf("%d", &outro);

}
while ( outro == 1 );

system ("clear");
}

//##CHAMANDO A FUNCAO PESQUISAR POR DENTISTA##
void Dentista(Odontologica p[], int search)
{

system ("clear");
int cont;
int outro;
char Den[100];
do
{
fflush(stdin);
printf("\nInforme o Dentista do Cliente:\n");
scanf("%s", &Den);
for(cont=0; cont < search; cont++)
{
if(strcmp(Den, p[cont].Dentista)==0)
{
printf("\n\nNome do Cliente: %s", p[cont].Nome);
printf("\nCPF do Cliente: %s", p[cont].CPF);
printf("\nDentista: %s", p[cont].Dentista);
printf("\nTelefone: %d", p[cont].telefone);
printf("\nMatricula: %s%d", p[cont].Matriculal, p[cont].Matriculan);
}
else
printf("\n\nCliente NAO encontrado!\n");
}
printf("\n\nDeseja pesquisar outro Cliente?\n");
printf("\n1.Sim\n2.Nao\n");
printf("\nOpcao Escolhida:");
scanf("%d", &outro);
}
while ( outro == 1 );

system ("clear");

}

//##CHAMANDO A FUNCAO PESQUISAR POR TELEFONE##
void telefone(Odontologica p[],int search)
{
system ("clear");
int cont;
int outro;
int tel;

do
{
fflush(stdin);
printf("\nInforme o Telefone:\n");
scanf("%d", &tel);
for(cont=0; cont < search; cont++)
{
if(tel==p[cont].telefone)
{
printf("\n\nNome do Cliente: %s", p[cont].Nome);
printf("\nCPF do Cliente: %s", p[cont].CPF);
printf("\nDentista: %s", p[cont].Dentista);
printf("\nTelefone: %d", p[cont].telefone);
printf("\nMatricula: %s%d", p[cont].Matriculal, p[cont].Matriculan);
}
else
printf("\n\nCliente NAO encontrado!\n");
}
printf("\n\nDeseja pesquisar outro Cliente?\n");
printf("\n1.Sim\n2.Nao\n");
printf("\nOpcao Escolhida:");
scanf("%d", &outro);
}
while ( outro == 1 );

system ("clear");

}

//##CHAMANDO A FUNCAO DE EXCLUIT CLIENTE##
void excluir(Odontologica *p, int search)
{

system ("clear");
int cont;
char Matl[50];
int Matn;
int aux;
fflush(stdin);
printf("\nATENCAO:PARA EXCLUIR UM CLIENTE E NECESSARIO A MATRICULA DO MESMO!\n");
printf("\nInforme as 3 letras da Matricula:\n");
scanf("%s", &Matl);
printf("\nInforme os numeros da Matricula:\n");
scanf("%d", &Matn);

for(cont=0; cont < search; cont++)
{
if(strcmp(Matl, p[cont].Matriculal)==0 && Matn==p[cont].Matriculan)
{
printf("\n\nNome do Cliente: %s", p[cont].Nome);
printf("\nCPF do Cliente: %s", p[cont].CPF);
printf("\nDentista: %s", p[cont].Dentista);
printf("\nTelefone: %d\n\n", p[cont].telefone);
printf("\nMatricula: %s%d\n\n", p[cont].Matriculal, p[cont].Matriculan);
printf("\nDeseja Excluir esse Cliente?\n1.Sim\n2.Nao\n\n");
printf("Opcao Escolhida:");
scanf("%d", &aux);
if(aux==1)
{
strcpy(p[cont].Nome, " ");
strcpy(p[cont].CPF, " ");
strcpy(p[cont].Dentista, " ");
strcpy(p[cont].Matriculal, " ");
p[cont].Matriculan=0;
p[cont].telefone=0;
printf("\nO Cliente excluido com sucesso!");
break;
}
}
}
printf("\n\n---------------------------------------\n");
printf("\nPressione alguma tecla para voltar.....\n");
system ("clear");
}

//##CHAMANDO A FUNCAO DE ALTERAR CLIENTE##
void alterar(Odontologica *p, int *search)
{

system ("clear");
int cont;
char Matl[100];
int Matn;
int aux;
int control=0;
system("clear");
fflush(stdin);
printf("\nATENCAO:PARA ALTERAR UM CLIENTE E NECESSARIO A MATRICULA DO MESMO!\n");
printf("\nInforme as 3 letras da Matricula:\n");
scanf("%s", &Matl);
printf("\nInforme os numeros da Matricula:\n");
scanf("%d", &Matn);

for(cont=0; cont < *search; cont++)
{
if(strcmp(Matl, p[cont].Matriculal)==0 && Matn==p[cont].Matriculan)
{
printf("\n\nNome do Cliente: %s", p[cont].Nome);
printf("\nCPF do Cliente: %s", p[cont].CPF);
printf("\nDentista: %s", p[cont].Dentista);
printf("\nTelefone: %d\n\n", p[cont].telefone);
printf("\nMatricula do Cliente: %s%d\n\n", p[cont].Matriculal, p[cont].Matriculan);
printf("\nDeseja Alterar esse Cliente?\n1.Sim\n2.Nao\n\n");
printf("Opcao Escolhida:");
scanf("%d", &aux);
if(aux==1)
{
printf("\n\n");
scanf("%s", &p[cont].Nome);
printf("\n1.Novo Nome do Cliente:\n");
scanf("%s", &p[cont].Nome);
printf("\n3.Novo CPF:\n");
scanf("%s", &p[cont].CPF);
printf("\n2.Novo Dentista:\n");
scanf("%s", p[cont].Dentista);
do
{
printf("\n4.Novo Telefone:\n");
scanf("%d", &p[cont].telefone);
if(p[cont].telefone >= 30000000)
control=1;
else
printf("\nTelefone Invalido!\n");
}
while ( control == 0 );
printf("O Cliente foi alterado com sucesso!");
}
}
}
printf("\n\n---------------------------------------\n");
printf("\nPressione alguma tecla para voltar.....\n");
system ("clear");
}

Qualquer dúvida, é só postar.

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!