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);
}
Pergunta
Titon
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
Link para o comentário
Compartilhar em outros sites
0 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.