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

Estrutura de dados


PaulaPoP

Pergunta

Se alguém puder fazer um resumo explicativo desse programa agradeço muito=)

#include<stdio.h>

#include<stdlib.h.>

#include<string.h>

#define MAX 5

typedef struct {

char nome[50];

char tel[15];

}registro;

void inserir (registro *agenda,int cont); /*Funçoes sem retorno,passando o vetor de registro */

void modificar (registro *agenda,int x);

void mostrar (registro *agenda,int cont);

int main ()

{

registro agenda[MAX]; /*Vetor resgistro */

int i,cont=0,op,x;

for(;;)

{

system("color 0f");

system("cls");

printf(" ** Menu ** \n\n\n");

printf(" Digite a opcao desejada:\n\n\n1-Novo cadastro\n\n2-Modificar \n\n3-Mostrar banco de cadastro\n\n4-Sair\n");

scanf("%d",&op);

switch(op)

{

case 1:

if(cont<MAX)

{

inserir(agenda,cont); /*Como o próprio nome do vetor já é um ponteiro que aponta para o primeiro elemento do vetor,não é necessário passar o endereço do vetor*/

cont++;

break;

}

else

{

printf("Agenda cheia!\n\n");

getchar();

getchar();

break;

}

case 2:

if(cont){

printf("Numero do cadastro a ser modificado: ");

scanf("%d",&x);

modificar(agenda,x);

break;

}

else

{

printf("Banco de registro vazio!");

getchar() ; getchar() ;

}

break ;

case 3:

mostrar(agenda,cont);

break ;

case 4:

printf("\a");

exit (1) ;

break;

}

}

return 0;

}

void inserir (registro *agenda,int cont)

{

getchar();

printf("Digite o nome: ");

gets(agenda[cont].nome); /*alocaçao da string em cada indice do vetor,sendo variado pelo 'cont' */

printf("Digite o tel: ");

gets(agenda[cont].tel);

printf("Cadastro realizado com sucesso!");

getchar();

}

void modificar (registro *agenda,int x)

{

getchar();

printf("Digite o novo nome: ");

gets(agenda[x-1].nome); /* 'x-1' porque o vetor começa no indice 0 */

printf("Digite o novo tel: ");

gets(agenda[x-1].tel);

printf("Cadastro realizado com sucesso!");

getchar();

}

void mostrar (registro *agenda,int cont)

{

int i;

for(i=0;i<cont;i++)

printf("cadastro[%d]:\n\nnome: %s\ntel:%s\n\n",i+1,agenda.nome,agenda.tel);

getchar();

getchar();

}

Link para o comentário
Compartilhar em outros sites

1 resposta 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.

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,2k
    • Posts
      652k
×
×
  • Criar Novo...