Jump to content
Fórum Script Brasil
  • 0

Transformar em lista encadeada


Titon

Question

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 to comment
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...