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

Transformar em lista encadeada


Titon

Pergunta

Ola pessoal estou com um problema aqui,preciso transformar esse programa que estava em arquivos para lista encadeada em C,até comecei mas ali fiquei se alguém pudesse me ajudar a transformar ele em lista encadeada.Se algum ajudasse eu sair do começo ao menos

#include<stdio.h>
#include<stdlib.h>
struct shopping
{
char nome[20];
int codigo, tipo;
float area, condominio;
struct shopping *prox;
}
typedef struct shopping * pno;

void abre_arquivo(void)
{
p_shopping=fopen("shopping_center.bin","a+b");
}

float condominio2(int tipo,float area)
{
switch(t_tipo)
{
case 1: return t_area*50; break;
case 2: return t_area*65; break;
case 3: return t_area*80; break;
case 4: return t_area*95; break;
}
}

void mostrar(void)
{
printf("\n%6d %-13s %4.2f %4d %10.2f", shopping.codigo,shopping.nome,shopping.area,shoppi ng.tipo,shopping.condominio);
}

void procurar(int cod)//procurar
{
rewind(p_shopping);
do{
fread(&shopping, sizeof(tipo_shopping), 1, p_shopping);
if(cod==shopping.codigo) mostrar();
}while ( feof(p_shopping)==0 && cod!=shopping.codigo);
if(cod!=shopping.codigo)
printf("\n Loja não cadastrada");
}

void cadastrar(void)
{
int continuar;

do{

system("cls");
printf("\t\t Cadastro");
printf("\n\n Shopping Center");
printf("\n\n Cadastro de loja");
printf("\n\n Codigo: ");
scanf("%d",&shopping.codigo);
printf("Nome: ");
fflush(stdin);
gets(shopping.nome);
printf("Area: ");
scanf("%f",&shopping.area);
printf("Tipo (1-Confeccoes, 2-alimentacao, 3-livros, 4-servicos): ");
scanf("%d",&shopping.tipo);

shopping.condominio=condominio2(shopping.tipo, shopping.area);

printf("\n Cadastrado com sucesso");
printf("\n\n Cadastrar outra (1-sim / 0-não): ");
scanf("%d",&continuar);
}while(continuar==1);
}

void consultar (void)
{
int t_codigo,continuar;
do{
system("cls");
printf("\t\t Consultar");
printf("\n\n Shopping Center");
printf("\n\n Consultar Loja");
printf("\n\n Codigo da loja que deseja consultar: ");
scanf("%d",&t_codigo);
printf("\n________________________________________ ___________________");
printf("\n Codigo Nome Area Tipo Condominio");
printf("\n________________________________________ ___________________");

procurar(t_codigo);
printf("\n________________________________________ ____________________");
printf("\n\n Consultar outra loja(1-sim/0-não): ");
scanf("%d",&continuar);
}while(continuar==1);
}

void listar(void)
{
system("cls");
printf("\t\t Relatorio geral");
printf("\n\n Shopping Center");
printf("\n\n Listagem geral");
printf("\n________________________________________ ______________________");
printf("\n Codigo Nome Area Tipo Condominio");
printf("\n________________________________________ ______________________");

rewind(p_shopping);

do{
fread(&shopping, sizeof(tipo_shopping), 1, p_shopping);
if(feof(p_shopping)==0) mostrar();
}while(feof(p_shopping)==0);
printf("\n________________________________________ ______________________");
printf("\n Tecle enter para voltar ao menu...");
getchar();
getchar();
}

main()
{
int opcao;

abre_arquivo();

do{
system("cls");
printf("\t\t Tela de Menu");
printf("\n \n Shopping Center");
printf("\n Opcoes");
printf("\n 1-Cadastrar loja");
printf("\n 2-Consultar loja");
printf("\n 3-Listagem de Todas as Lojas");
printf("\n 0-Sair");
printf("\n Entre com a opcao: ");
scanf("%d",&opcao);

if(opcao!=0)
{
switch(opcao)
{
case 1: cadastrar();break;
case 2: consultar(); break;
case 3: listar(); break;
default: printf("\n Opção Invalida"); break;
}
}
}while (opcao!=0); 
}

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

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