Vick Postado Maio 18, 2008 Denunciar Share Postado Maio 18, 2008 Oi pessoal, estou aqui com mais uma dúvida. Tem que fazer um programa para:• Cadastrar os habitantes de uma cidade• Para representar dados sobre diversos habitantes,precisamos definir um tipo HABITANTEjá tenho o seguinte e o não sei o que está faltando:#include <stdio.h> #include <conio.h> #define N1 30 #define N2 20 /* Declaracoes dos tipos enumerativos */ enum escolaridade {nehn, pgrau, sgrau, sup}; typedef enum escolaridade escolaridade; enum tseggrau {col, mag, tec}; typedef enum tseggrau tseggrau; enum tsuperior {eng, med, adv, arq, econ, fil, odont}; typedef enum tsuperior tsuperior; enum tengenharia {aer, mec, civ, elet, eletron, comp}; typedef enum tengenharia tengenharia; enum tmedicina {ped, cir, gin, card, endocr, otorr, psiq}; typedef enum tmedicina tmedicina; /* Declaracoes das estruturas */ struct primgrau { int ano_term; }; typedef struct primgrau primgrau; struct seggrau { int ano_term; tseggrau tipo; }; typedef struct seggrau seggrau; union fsuperior { tengenharia teng; tmedicina tmed; }; typedef union fsuperior fsuperior; struct superior{ int ano_term; char nome_escola[N1]; tsuperior tipo; fsuperior form; }; typedef struct superior superior; /* Declaracoes das estruturas */ struct data { int dia, mes, ano; }; typedef struct data data; union formacao { primgrau pg; seggrau sg; superior sp; }; typedef union formacao formacao; struct habitante { char nome[N1]; char ender[N1]; char cid_natal[N2]; data data_nasc; escolaridade esc; formacao form; }; typedef habitante habitante; struct /* Inicio dos comandos; leitura do numero de habitantes */ int main (void) { FILE *fl, *f2; habitante hab[10]; int i, n; fl = fopen("infile2.cpp", "r"); f2 = fopen("outfile2", "w"); fscanf (fl, "%d",&n); /* Leitura dos dados sobre os habitantes */ /* Leitura dos dados sobre os habitantes */ for (i = 0; i < n; i++) { fscanf (fl, "%s %s %s %d %d %d %d", hab[i].nome, hab[i].ender,ab[ ].e de ,hab[i].cid_natal,&hab[i].data_nasc.dia, &hab[i].data_nasc.mes, &hab[i].data_nasc.ano, &hab[i].esc); switch (hab[i].esc){ case pgrau: fscanf(fl,"%d",&hab[i].form.pg.ano_term); break; case sgrau: fscanf(fl,"%d%d",&hab[i].form.sg.ano_term, &hab[i].form.sg.tipo); break; case sup: fscanf(fl,"%d%s%d",&hab[i].form.sp.ano_term, hab[i].form.sp.nome_escola,&hab[i].form.sp.tipo); switch (hab[i].form.sp.tipo){ case eng: fscanf(fl,"%d",&hab[i].form.sp.form.teng); break; case med: fscanf(fl,"%d",&hab[i].form.sp.form.tmed); } } } /* Saida dos resultados */ for (i = 0; i < n; i++) { fhparbi[nit]f. no(mfe2,,h a"b\[ni%]-.1e5nsd e%r-,15s %-10s%3d/%2d/%4d%3d", hab[i].datah_anba[sic]..mceisd,_natal, hab[i].data_nasc.dia, hab[i].data_nasc.ano, hab[i].esc); switch (hab[i].esc){ case pgrau: fprintf (f2, "%5d",hab[i].form.pg.ano_term); break; case sgrau: fprintf (f2, "%5d%3d", hab[i].form.sg.ano_term, hab[i].form.sg.tipo); break; case sup: fprintf (f2, "%5d%3d %-10s", hab[i].form.sp.ano_term, hab[i].form.sp.tipo, hab[i].form.sp.nome_escola); switch (hab[i].form.sp.tipo) { case eng: fprintf (f2, "%3d",hab[i].form.sp.form.teng); break; case med: fprintf (f2, "%3d",hab[i].form.sp.form.tmed); break; } } } return 0; }Esqueci de incluir que tem ter a seguinte ordem:• Habitante– Nome, Endereço, Cidade-nasc, Data-nasc– Escolaridade• Nenhuma• 1° grau– Ano-término• 2° grau– Ano-término– Tipo» Colegial» Magistério» Técnico• Superior– Ano-término– Nome-escola– Tipo» Engenharia (Era, Mec, Civ, Elet, Eletron, Comp)» Medicina (Ped, Cirurg, Ginec, Card, Endocr, Otorr, Psiq)» Advocacia» Arquitetura» Economia» Filosofia» OdontologiaEsqueci de incluir que tem ter a seguinte ordem:• Habitante– Nome, Endereço, Cidade-nasc, Data-nasc– Escolaridade• Nenhuma• 1° grau– Ano-término• 2° grau– Ano-término– Tipo» Colegial» Magistério» Técnico• Superior– Ano-término– Nome-escola– Tipo» Engenharia (Era, Mec, Civ, Elet, Eletron, Comp)» Medicina (Ped, Cirurg, Ginec, Card, Endocr, Otorr, Psiq)» Advocacia» Arquitetura» Economia» Filosofia» OdontologiaEsqueci de incluir que tem ter a seguinte ordem: • Habitante – Nome, Endereço, Cidade-nasc, Data-nasc – Escolaridade • Nenhuma • 1° grau – Ano-término • 2° grau – Ano-término – Tipo » Colegial » Magistério » Técnico • Superior – Ano-término – Nome-escola – Tipo » Engenharia (Era, Mec, Civ, Elet, Eletron, Comp) » Medicina (Ped, Cirurg, Ginec, Card, Endocr, Otorr, Psiq) » Advocacia » Arquitetura » Economia » Filosofia » Odontologia Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Vick
Oi pessoal, estou aqui com mais uma dúvida. Tem que fazer um programa para:
• Cadastrar os habitantes de uma cidade
• Para representar dados sobre diversos habitantes,
precisamos definir um tipo HABITANTE
já tenho o seguinte e o não sei o que está faltando:
Esqueci de incluir que tem ter a seguinte ordem:
• Habitante
– Nome, Endereço, Cidade-nasc, Data-nasc
– Escolaridade
• Nenhuma
• 1° grau
– Ano-término
• 2° grau
– Ano-término
– Tipo
» Colegial
» Magistério
» Técnico
• Superior
– Ano-término
– Nome-escola
– Tipo
» Engenharia (Era, Mec, Civ, Elet, Eletron, Comp)
» Medicina (Ped, Cirurg, Ginec, Card, Endocr, Otorr, Psiq)
» Advocacia
» Arquitetura
» Economia
» Filosofia
» Odontologia
Esqueci de incluir que tem ter a seguinte ordem:
• Habitante
– Nome, Endereço, Cidade-nasc, Data-nasc
– Escolaridade
• Nenhuma
• 1° grau
– Ano-término
• 2° grau
– Ano-término
– Tipo
» Colegial
» Magistério
» Técnico
• Superior
– Ano-término
– Nome-escola
– Tipo
» Engenharia (Era, Mec, Civ, Elet, Eletron, Comp)
» Medicina (Ped, Cirurg, Ginec, Card, Endocr, Otorr, Psiq)
» Advocacia
» Arquitetura
» Economia
» Filosofia
» Odontologia
Esqueci de incluir que tem ter a seguinte ordem:
• Habitante
– Nome, Endereço, Cidade-nasc, Data-nasc
– Escolaridade
• Nenhuma
• 1° grau
– Ano-término
• 2° grau
– Ano-término
– Tipo
» Colegial
» Magistério
» Técnico
• Superior
– Ano-término
– Nome-escola
– Tipo
» Engenharia (Era, Mec, Civ, Elet, Eletron, Comp)
» Medicina (Ped, Cirurg, Ginec, Card, Endocr, Otorr, Psiq)
» Advocacia
» Arquitetura
» Economia
» Filosofia
» Odontologia
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.