Pessoal estou estudando linguagem C, naturalmente estou passando por algumas dificuldades... não estou conseguindo criar o método para alterar os contatos minha cabeça travou e a lógica não esta saindo... segue o código... ME AJUDEM PRECISO ENTREGAR AINDA HOJE :(
#include <stdio.h>
#include <stdlib.h>
#define TAM 10
struct dados {
char nome[50];
char email[50];
int fone;
};
struct dados agenda[TAM];
int i, cont, opc;
void inserir()
{
if (i<TAM-1) {
i++;
printf("\n Digite o nome:");
scanf("%s", &agenda.nome);
printf("\n Digite o email:");
scanf("%s", &agenda.email);
printf("\nDigite o telefone: ");
scanf("%d", &agenda.fone);
}
else
printf("\n Agenda esta cheia.");
}
void excluir()
{
int quantidade, x;
int poscontato;
if (i!=-1)
{
printf("\n Digite o numero do contato que deseja excluir:");
scanf("%d", &cont);
poscontato = cont-1;
quantidade = i+1;
if (cont > quantidade)
printf("\n Numero de contatos inferior a posicao desejada para excluir.");
else
{
if ( (i==0) || (poscontato==i) )
i--;
else
{
for (x=cont; x<=i; x++)
{
agenda[x-1] = agenda[x];
}
i--;
quantidade--;
}
}
system("PAUSE");
}
else
printf("\n Agenda esta vazia.");
}
void exibir()
{
if (i!=-1)
{
for (cont=0; cont<=i; cont++)
{
printf("\n Nome do contato %d => %s" , cont+1, agenda[cont].nome);
printf("\n Email do contato %d => %s" , cont+1, agenda[cont].email);
printf("\n Fone do contato %d => %d" , cont+1, agenda[cont].fone);
Pergunta
Helder Bellintani Rosa
Pessoal estou estudando linguagem C, naturalmente estou passando por algumas dificuldades... não estou conseguindo criar o método para alterar os contatos minha cabeça travou e a lógica não esta saindo... segue o código... ME AJUDEM PRECISO ENTREGAR AINDA HOJE :(
#include <stdio.h>
#include <stdlib.h>
#define TAM 10
struct dados {
char nome[50];
char email[50];
int fone;
};
struct dados agenda[TAM];
int i, cont, opc;
void inserir()
{
if (i<TAM-1) {
i++;
printf("\n Digite o nome:");
scanf("%s", &agenda.nome);
printf("\n Digite o email:");
scanf("%s", &agenda.email);
printf("\nDigite o telefone: ");
scanf("%d", &agenda.fone);
}
else
printf("\n Agenda esta cheia.");
}
void excluir()
{
int quantidade, x;
int poscontato;
if (i!=-1)
{
printf("\n Digite o numero do contato que deseja excluir:");
scanf("%d", &cont);
poscontato = cont-1;
quantidade = i+1;
if (cont > quantidade)
printf("\n Numero de contatos inferior a posicao desejada para excluir.");
else
{
if ( (i==0) || (poscontato==i) )
i--;
else
{
for (x=cont; x<=i; x++)
{
agenda[x-1] = agenda[x];
}
i--;
quantidade--;
}
}
system("PAUSE");
}
else
printf("\n Agenda esta vazia.");
}
void exibir()
{
if (i!=-1)
{
for (cont=0; cont<=i; cont++)
{
printf("\n Nome do contato %d => %s" , cont+1, agenda[cont].nome);
printf("\n Email do contato %d => %s" , cont+1, agenda[cont].email);
printf("\n Fone do contato %d => %d" , cont+1, agenda[cont].fone);
printf("\n");
}
system("PAUSE");
}
else
printf("\n Agenda esta vazia.");
}
void alterar()
{
****************
}
void exibir_menu()
{
printf("\n Menu de Opcoes da Agenda:");
printf("\n\n1 - Inserir");
printf("\n2 - Alterar");
printf("\n3 - Excluir");
printf("\n4 - Exibir Todos");
printf("\n5 - Sair");
printf("\n\nOpcao escolhida => ");
}
void processa_menu()
{
switch (opc) {
case 1:
inserir();
break;
case 2:
alterar();
break;
case 3:
excluir();
break;
case 4:
exibir();
break;
case 5:
// sair
break;
default:
printf("\nDigite apenas valores entre 1 e 5.");
system("PAUSE");
break;
}
}
int main(int argc, char *argv[])
{
i = -1;
opc = 6;
cont = 0;
while (opc != 5)
{
system("CLS");
exibir_menu();
scanf("%d", &opc);
processa_menu();
}
system("PAUSE");
return 0;
}
Link para o comentário
Compartilhar em outros sites
5 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.