Ola meus caros geeks...estou correndo contra o relógio... tenho 6 dias para entregar e travei... meu código tem muitas coisas desnecessárias, me perdi no meio do lixo todo, não estou conseguindo retornar ponteiro de um nó, não tenho a menor ideia de como implementar, estou praticamente f*****, continuar na facu depende desse trabalho, tive muitas provas e não tive tempo para trabalhar encima... é para fazer em grupo de 3 pessoas e eu não tenho grupo e sozinho não vou conseguir atender o prazo precisaria de umas 2 ou 3 semanas e tenho só 6 dias, trabalho e estudo dormindo 6hs por dia... peço ajuda ao veteranos que tem mais "pegada" para me ajudar com o código.
as vezes um pequeno esforço de um grande, se torna uma enorme ajuda para um pequeno...
agradeço de coração quem puder ajudar... tenho até terça para entregar... e estou f*****
eu tenho 5 arquivos e já estruturei varias funções menos a parte de arquivo....
são 2 arvores, uma partido e outra candidatos, vao salvando todos os dados em arquivo binario.
main,c
tad.h
tad.c
candidatos.h
candidatos.c
uma aplicação em C para cadastrar os partidos e candidatos às eleições. Os dados de um partido são os seguintes: número, sigla e nome. O número do partido deve ser um valor maior do que 10 e menor que 100. Os dados de um candidato são: número e nome. Os dois primeiros dígitos do número do candidato correspondem ao número do seu partido (faça uma entrada de dados consistente e sem redundância). O número do candidato também informa o cargo que ele pleiteia: se o número do candidato tiver apenas dois dígitos (correspondentes ao número de seu partido), então trata-se de um candidato a prefeito; se o número do candidato possui 5 dígitos, então trata-se de um candidato a vereador.
O programa deve ser conduzido por menu com as seguintes opções:
• Cadastrar partido: solicita o número, sigla e nome de um ou mais partidos, sem permitir dois ou mais partidos com o mesmo número;
• Alterar um partido: dado o número do partido, é possível alterar sua sigla ou nome;
• Excluir um partido: dado o número do partido, excluir o partido e todos os seus candidatos;
• Cadastrar candidato a prefeito: solicita o número do partido, mostra sua sigla, e depois solicita o nome do candidato, sem permitir dois ou mais candidatos com o mesmo número;
• Cadastrar candidato a vereador: solicita o número do partido, mostra sua sigla, e depois solicita o número e o nome de um ou mais candidatos desse partido, sem permitir dois ou mais candidatos com o mesmo número (lembre-se que os 2 primeiros dígitos no número do candidato são o número do seu partido);
• Alterar um candidato: dado o número de um candidato, permite alterar seu nome;
• Excluir um candidato: dado o número do candidato, excluí-lo do cadastro;
• Listar todos os partidos: deve permitir a listagem de todos os partidos cadastrado, exibindo em formato de tabela seu número, sigla e nome ordenados pelo número do partido;
• Listar candidatos a prefeito: deve permitir a listagem no formato de tabela de todos os candidatos a prefeito cadastrados ordenados pelo número, exibindo a sigla do partido, o número e o nome do candidato.
• Listar candidatos a vereador de um partido: deve solicitar o número do partido e exibir o nome do partido e uma listagem no formato de tabela contendo o número e o nome de todos os candidatos a vereador desse partido ordenados pelo seu número. Todas as informações a respeito dos partidos e candidatos devem ser armazenadas nos arquivos partidos.dat e candidatos.dat, respectivamente. Quando o programa é executado, ele cria automaticamente uma árvore binária de busca para cada arquivo, onde cada nó corresponde a um partido ou candidato. A partir daí, o único meio de acesso às informações deve ser através dessas árvores.
O programa deve permitir que o arquivo e a árvore sejam atualizados quando um novo candidato ou partido é cadastrado, alterado ou excluído. Para permitir a atualização dos arquivos nas operações sem a necessidade de uma busca sequencial nos arquivos, cada nó da árvore também deve armazenar a posição do registro correspondente no arquivo. A operação de exclusão não exclui fisicamente o registro do arquivo, apenas da árvore. Os registros excluídos devem ser sinalizados com 0 (zero) no número do partido ou candidato. Esses registros não devem ser carregados nas árvores.
#include <stdio.h>
#include <stdlib.h>
#include "candidatos.h"
#include "tad.h"
int main()
{
BinTree* treeParty = init_bintree();
int op;
do
{
printf("\n\n\t [ CANDIDATOS A ELEICAO v1.0 ]\n\n");
printf("\t <1> Cadastrar Partido\n"); //add_Party
printf("\t <2> Alterar Partido\n"); // mod_Party
printf("\t <3> Excluir Partido\n"); // del_Party
printf("\t <4> Cadastrar candidato a Prefeito\n"); // add_Mayor
printf("\t <5> Cadastrar candidato a Vereador\n"); // add_Alderman
printf("\t <6> Alterar um candidato\n"); //mod_Candidate
printf("\t <7> Excluir candidato\n"); // del_Candidate
printf("\t <8> Listar todos os partidos\n"); // print_Partys
printf("\t <9> Listar candidatos a prefeito\n"); // print_Mayors
printf("\t<10> Listar candidatos a vereador de um partido\n"); // print_Aldermans_party
printf("\t <0> Sair\n");
printf("\n\t Opcao: ");
scanf("%d", &op);
switch (op)
{
case 1:
add_Party();
// struct NODE* newNode = (node*) malloc(sizeof(newNode));
// newNode->dat_pos= 1;
// break;
case 2:
mod_Party();
break;
case 3:
del_Party();
break;
case 4:
add_Mayor();
break;
case 5:
add_Alderman();
break;
case 6:
mod_Candidate();
break;
case 7:
del_Candidate();
break;
case 8:
print_Partys();
break;
case 9:
print_Mayors();
break;
case 10:
print_Alderman_party();
break;
case 0:
break;
default:
system("cls");
printf("\nOpcao invalida!");
}
}
while (op != 0);
return 0;
}
#ifndef _TAD_H
#define _TAD_H
#include <stdbool.h>
typedef struct NODE* BinTree;
typedef struct NODE node;
BinTree* init_bintree();
struct NODE* init_node();
void free_BinTree(BinTree *);
int isempty_BinTree(BinTree *);
int depth_BinTree(BinTree *);
int howMany_nodes(BinTree *);
int ins_node_bintree(BinTree *, struct NODE*);
int ins_BinTree(BinTree *,int);
int del_node_bintree(BinTree *,int);
struct NODE* remove_node(struct NODE*);
#endif
#ifndef _CANDIDATOS_H
#define _CANDIDATOS_H
#include <stdbool.h>
/* função que adiciona Partido solicita numero, sigla e nome */
bool add_Party();
/* função que dado o numero do partido Altera sua Sigla ou Nome */
bool mod_Party();
/* função que deleta Partido dado seu numero junto a todos seus candidatos */
bool del_Party();
/* função que adiciona Prefeito solicita numero do partido,
mostra a sigla e solicita o nome */
bool add_Mayor();
/* função que adiciona Vereador solicita numero do partido,
mostra a sigla e solicita o nome */
bool add_Alderman();
/* função que dado o numero do candidato permite altera seu nome */
bool mod_Candidate();
/* função que dado o numero do candidato, exclui dito candidato */
bool del_Candidate();
/* função que mostra em tabela todos os partidos, seu numero,
sigla e nome ordenados pelo numero do partido */
void print_Partys();
/* função que mostra em tabela todos os candidatos a prefeito
ordenados pelo numero, exibindo a sigla, o numero e o nome do candidato */
void print_Mayors();
/* função que solicita o numero do partido e exibe nome do partido e
uma listagem no formato de tabela contendo o numero e o nome de
todos os vereadores desse partido ordenado por nome */
void print_Alderman_party();
#endif
Pergunta
petalpusher
Ola meus caros geeks...estou correndo contra o relógio... tenho 6 dias para entregar e travei... meu código tem muitas coisas desnecessárias, me perdi no meio do lixo todo, não estou conseguindo retornar ponteiro de um nó, não tenho a menor ideia de como implementar, estou praticamente f*****, continuar na facu depende desse trabalho, tive muitas provas e não tive tempo para trabalhar encima... é para fazer em grupo de 3 pessoas e eu não tenho grupo e sozinho não vou conseguir atender o prazo precisaria de umas 2 ou 3 semanas e tenho só 6 dias, trabalho e estudo dormindo 6hs por dia... peço ajuda ao veteranos que tem mais "pegada" para me ajudar com o código.
as vezes um pequeno esforço de um grande, se torna uma enorme ajuda para um pequeno...
agradeço de coração quem puder ajudar... tenho até terça para entregar... e estou f*****
eu tenho 5 arquivos e já estruturei varias funções menos a parte de arquivo....
são 2 arvores, uma partido e outra candidatos, vao salvando todos os dados em arquivo binario.
main,c
tad.h
tad.c
candidatos.h
candidatos.c
uma aplicação em C para cadastrar os partidos e candidatos às eleições. Os dados de um partido são os seguintes: número, sigla e nome. O número do partido deve ser um valor maior do que 10 e menor que 100. Os dados de um candidato são: número e nome. Os dois primeiros dígitos do número do candidato correspondem ao número do seu partido (faça uma entrada de dados consistente e sem redundância). O número do candidato também informa o cargo que ele pleiteia: se o número do candidato tiver apenas dois dígitos (correspondentes ao número de seu partido), então trata-se de um candidato a prefeito; se o número do candidato possui 5 dígitos, então trata-se de um candidato a vereador.
O programa deve ser conduzido por menu com as seguintes opções:
• Cadastrar partido: solicita o número, sigla e nome de um ou mais partidos, sem permitir dois ou mais partidos com o mesmo número;
• Alterar um partido: dado o número do partido, é possível alterar sua sigla ou nome;
• Excluir um partido: dado o número do partido, excluir o partido e todos os seus candidatos;
• Cadastrar candidato a prefeito: solicita o número do partido, mostra sua sigla, e depois solicita o nome do candidato, sem permitir dois ou mais candidatos com o mesmo número;
• Cadastrar candidato a vereador: solicita o número do partido, mostra sua sigla, e depois solicita o número e o nome de um ou mais candidatos desse partido, sem permitir dois ou mais candidatos com o mesmo número (lembre-se que os 2 primeiros dígitos no número do candidato são o número do seu partido);
• Alterar um candidato: dado o número de um candidato, permite alterar seu nome;
• Excluir um candidato: dado o número do candidato, excluí-lo do cadastro;
• Listar todos os partidos: deve permitir a listagem de todos os partidos cadastrado, exibindo em formato de tabela seu número, sigla e nome ordenados pelo número do partido;
• Listar candidatos a prefeito: deve permitir a listagem no formato de tabela de todos os candidatos a prefeito cadastrados ordenados pelo número, exibindo a sigla do partido, o número e o nome do candidato.
• Listar candidatos a vereador de um partido: deve solicitar o número do partido e exibir o nome do partido e uma listagem no formato de tabela contendo o número e o nome de todos os candidatos a vereador desse partido ordenados pelo seu número. Todas as informações a respeito dos partidos e candidatos devem ser armazenadas nos arquivos partidos.dat e candidatos.dat, respectivamente. Quando o programa é executado, ele cria automaticamente uma árvore binária de busca para cada arquivo, onde cada nó corresponde a um partido ou candidato. A partir daí, o único meio de acesso às informações deve ser através dessas árvores.
O programa deve permitir que o arquivo e a árvore sejam atualizados quando um novo candidato ou partido é cadastrado, alterado ou excluído. Para permitir a atualização dos arquivos nas operações sem a necessidade de uma busca sequencial nos arquivos, cada nó da árvore também deve armazenar a posição do registro correspondente no arquivo. A operação de exclusão não exclui fisicamente o registro do arquivo, apenas da árvore. Os registros excluídos devem ser sinalizados com 0 (zero) no número do partido ou candidato. Esses registros não devem ser carregados nas árvores.
desde já obrigado.
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.