Ir para conteúdo
Fórum Script Brasil

Pesquisar na Comunidade

Mostrando resultados para as tags ''objects''.

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Fóruns

  • Programação & Desenvolvimento
    • ASP
    • PHP
    • .NET
    • Java
    • C, C++
    • Delphi, Kylix
    • Lógica de Programação
    • Mobile
    • Visual Basic
    • Outras Linguagens de Programação
  • WEB
    • HTML, XHTML, CSS
    • Ajax, JavaScript, XML, DOM
    • Editores
  • Arte & Design
    • Corel Draw
    • Fireworks
    • Flash & ActionScript
    • Photoshop
    • Outros Programas de Arte e Design
  • Sistemas Operacionais
    • Microsoft Windows
    • GNU/Linux
    • Outros Sistemas Operacionais
  • Softwares, Hardwares e Redes
    • Microsoft Office
    • Softwares Livres
    • Outros Softwares
    • Hardware
    • Redes
  • Banco de Dados
    • Access
    • MySQL
    • PostgreSQL
    • SQL Server
    • Demais Bancos
  • Segurança e Malwares
    • Segurança
    • Remoção De Malwares
  • Empregos
    • Vagas Efetivas
    • Vagas para Estágios
    • Oportunidades para Freelances
  • Negócios & Oportunidades
    • Classificados & Serviços
    • Eventos
  • Geral
    • Avaliações de Trabalhos
    • Links
    • Outros Assuntos
    • Entretenimento
  • Script Brasil
    • Novidades e Anúncios Script Brasil
    • Mercado Livre / Mercado Sócios
    • Sugestões e Críticas
    • Apresentações

Encontrar resultados em...

Encontrar resultados que...


Data de Criação

  • Início

    FIM


Data de Atualização

  • Início

    FIM


Filtrar pelo número de...

Data de Registro

  • Início

    FIM


Grupo


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests

Encontrado 1 registro

  1. Se alguém tiver qualquer código que adiciona, lista, altera e apaga objetos de uma classe sem utilizar retorno, agradeceria. Caso contrário, gostaria de saber como faço para não utilizar retorno (apontador para o próximo objeto a ser criado) no meu código, que segue: Função main.cpp: int main() { //Declaração de variáveis Database *primeiro = NULL; char opcao; //Artifício para repetir o programa. while(opcao!='s') { //Menu de opcoes system("cls"); cout << "MENU PARA CADASTRO DE CHAMADAS"; cout << endl << "A - Novo cadastro"; cout << endl << "B - Listar cadastros"; cout << endl << "C - Excluir todos os cadastros"; cout << endl << "D - Alterar potencia de chamada ja cadastrada"; cout << endl << "S - Sair" << endl << endl; //Lendo a opcao do menu fflush(stdin); opcao = getch(); //Menu de opcoes switch(opcao) { case 'A': case 'a'://Inserindo chamada system("cls"); cout << "NOVO CADASTRO" << endl; primeiro = inserir_call(primeiro); getch(); break; case 'B': case 'b'://Listando chamadas system("cls"); cout << "CHAMADAS CADASTRADAS" << endl; listar_call(primeiro); getch(); break; case 'C': case 'c'://Excluindo chamada da lista. system("cls"); cout << "EXCLUIR TODOS OS CADASTROS" << endl; while (primeiro != NULL){ primeiro = excluir_calls(primeiro); } cout << endl << "Todas chamadas cadastradas foram excluidas"; getch(); break; case 'D': case 'd'://Alterando chamada da lista. system("cls"); cout << "ALTERAR POTENCIA DE CHAMADA CADASTRADA" << endl; alterar_call(primeiro); getch(); break; case 'S': case 's'://Artifício para sair do programa. system("cls"); opcao='s'; break; default://Artifício que previne de um usuário digitar uma opcão inexistente no menu. system("cls"); break; } } return 0; } Função inserir chamada: Database* inserir_call(Database *primeiro){ Database call; Database *atual = primeiro; char identificador = 'F'; int auxInt; double auxDouble; //Lendo as informações do restaurante. cout << "Node Origem: "; cin >> auxInt;//call.nodeOr;// scanf("%d",&call.nodeOr); call.setNodeOr(auxInt); cout << "Node Destino: "; cin >> auxInt;//call.nodeOr;// scanf("%d",&call.nodeOr); call.setNodeDe(auxInt); cout << "Pot entrada (W): "; cin >> auxDouble;//call.nodeOr;// scanf("%d",&call.nodeOr); call.setPin(auxDouble); //Verificando se o cadastro já existe. for(atual=primeiro; atual!=NULL; atual=atual->prox){ if( (atual->getNodeOr()==call.getNodeOr()) && (atual->getNodeDe()==call.getNodeDe()) && (atual->getPin()==call.getPin()) ){ identificador = 'V'; //já há chamada igual break; } } if(identificador != 'V'){ //Alocando os espaços e guardando as informações do restaurante. Database* NovaChamada = (Database*) malloc (sizeof(Database)); NovaChamada->setNodeOr(call.getNodeOr()); NovaChamada->setNodeDe(call.getNodeDe()); NovaChamada->setPin(call.getPin()); NovaChamada->prox = primeiro; cout << endl << "Cadastro realizado com sucesso"; cout << endl << endl << "PRESSIONE QUALQUER TECLA PARA VOLTAR AO MENU PRINCIPAL"; return NovaChamada; }else{ cout << endl << "Cadastro invalido - chamada cadastrada anteriormente"; cout << endl << endl << "PRESSIONE QUALQUER TECLA PARA VOLTAR AO MENU PRINCIPAL"; return primeiro; } } Função listar chamadas: void listar_call (Database* primeiro){ Database* atual;//Ponteiro para percorrer a lista sem perder a referência do primeiro elemento da lista. //Imprimindo os restaurantes da lista, e suas repectivas informações. for(atual = primeiro; atual != NULL; atual = atual->prox){ cout << "________________________________" << endl; cout << "Node origem: " << atual->getNodeOr() << endl; cout << "Node destino: " << atual->getNodeDe() << endl; cout << "Pot entrada (W): " << atual->getPin() << endl; } if(primeiro == NULL) cout << endl << "Nenhuma chamada cadastrada" << endl; cout << endl << "PRESSIONE QUALQUER TECLA PARA VOLTAR AO MENU PRINCIPAL"; } Função excluir chamadas: Database* excluir_calls(Database *primeiro){ Database *anterior = NULL;//Ponteiro para saber o elemento anterior ao elemento atual da lista. Database *atual = primeiro;//Ponteiro para percorrer a lista sem perder o primeiro elemento da lista. if(atual == NULL){ return primeiro; } //Excluindo o primeiro restaurante da lista. if(anterior == NULL){ primeiro = atual->prox; //Excluindo um restaurante do meio da lista. } else{ anterior->prox = atual->prox; } //Desalocando o espaço da memória. free(atual); return primeiro; } Função alterar potência de chamada: void alterar_call(Database* primeiro){ Database* atual = primeiro; int nOr, nDe; double power; cout << endl << "Dados da chamada a ser alterada: " << endl << endl; cout << "Noh origem: "; cin >> nOr; cout << "Noh destino: "; cin >> nDe; //Procurando chamada a ser alterada while( (atual!= NULL) && (atual->getNodeOr() != nOr) && (atual->getNodeDe() != nDe) ){ atual = atual->prox; } //Alterando os dados do restaurante. if(atual != NULL){ cout << "NOVA potencia: "; cin >> power; atual->setPin(power); cout << endl << "Potencia alterada com sucesso"; } else{ cout << endl << "Chamada nao encontrada"; } cout << endl << endl << "PRESSIONE QUALQUER TECLA PARA VOLTAR AO MENU PRINCIPAL"; } Class Database: class Database{ public: void setNodeOr(int); void setNodeDe(int); void setPin(double); int getNodeOr(); int getNodeDe(); double getPin(); class Database* prox; private: int nodeOr; int nodeDe; double pIn; };
×
×
  • Criar Novo...