Gabriel Lemos Alves
Membro Pleno-
Posts
23 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
Tudo que Gabriel Lemos Alves postou
-
Preciso fazer um trabalho sobre esse problema de localização, porém não tenho nenhuma base sobre o assunto, alguém ai pode dar uma ajuda ? Achei isso na net mas como não entendo nada de grafos, então não consigo fazer. (Minha principal duvida e saber a distancia entre os vértices e fazer os agrupamentos) Heurística de Teitz e Bart Enquanto (solução-inicial melhora) faça Para k=1,...,p faça Troque vértice semente por não-semente do agrupamento Ck ; Calcule o valor v correspondente à melhor realocação; Se v é melhor que solução-inicial então Atualize o vértice semente do agrupamento Ck ; Faça solução-inicial ←v; Fim_Se Fim_Para Fim_Enquanto http://www.scielo.br/pdf/ /prod/v16n2/10.pdf
-
problema inner join em c++
Gabriel Lemos Alves respondeu ao tópico de Gabriel Lemos Alves em C/C#/C++
Queria mostrar igual essa imagem, porém xadrez e damas so poderiam aparecer 2x tambem ja que no caso so tem 2 registros na tabela atividades. Achou q vou fazer o select da tabela medicacao e atividade separado, valeu pela ajuda -
problema inner join em c++
Gabriel Lemos Alves respondeu ao tópico de Gabriel Lemos Alves em C/C#/C++
Ah, entendi então só daria certo da forma que pensei com select ? -
problema inner join em c++
Gabriel Lemos Alves respondeu ao tópico de Gabriel Lemos Alves em C/C#/C++
Nao entendi muito o INNER JOIN, mas na meu pensamento nao deveria aparecer o nome do remédio 2x pois só tenho 3 cadastrados e ta mostrando ele 6x ali Queria mostrar todos os dados do paciente, do seu respectivo cuidador, dos medicamentos que ele tomou e das atividades que ele fez. To tentando com JOIN se eu nao conseguir vou fazer os SELECTS com WHERE mesmo -
problema inner join em c++
Gabriel Lemos Alves respondeu ao tópico de Gabriel Lemos Alves em C/C#/C++
-
problema inner join em c++
Gabriel Lemos Alves respondeu ao tópico de Gabriel Lemos Alves em C/C#/C++
@Fn1X O IF ali seria pra saber se o ID que a pessoa digitou existe no banco, eu consegui fazer com while aqui, so que tive que criar mais uma tabela e agora me perdi tudo kkk, ficou assim o código o problema é que tenho 1 registro no prontuario e 2 no receituario, ai ele mostra o registro do prontuario 2 vezes, acho q o inner join ta errado #ifndef BUSCAR_H_INCLUDED #define BUSCAR_H_INCLUDED #include <stdio.h> #include <stdlib.h> #include <mysql.h> void buscarID(); void buscarNome(); void buscarCPF(); void buscar(){ int opbuscar; do{ system("cls"); cout << "\t\t\t\t\t-----------------------------------" << endl; cout << "\t\t\t\t\t| BUSCAR |" << endl; cout << "\t\t\t\t\t|---------------------------------|" << endl; cout << "\t\t\t\t\t| 1 - ID |" << endl; cout << "\t\t\t\t\t| 2 - NOME |" << endl; cout << "\t\t\t\t\t| 3 - CPF |" << endl; cout << "\t\t\t\t\t| 0 - VOLTAR |" << endl; cout << "\t\t\t\t\t-----------------------------------" << endl; cout << "\t\t\t\t\tOPÇÃO: "; cin >> opbuscar; switch(opbuscar){ case 1: buscarID(); break; case 2: buscarNome(); break; case 3: buscarCPF(); break; case 0: return; break; default: cout << "OPÇÃO INVALIDA - PROGRAMA ENCERRADO" << endl; exit(0); } }while(opbuscar != 0); } void buscarID(){ system("cls"); int id; int entrar; int aux = 0; cout << "ID: "; cin >> id; MYSQL conexao; MYSQL_RES* resultado; MYSQL_ROW linha; char query[1024]; mysql_init(&conexao); if(mysql_real_connect(&conexao, "localhost", "root", "root", "asilo", 0, NULL, 0)){ resultado = (mysql_store_result(&conexao)); sprintf(query,"SELECT * FROM PACIENTE P JOIN CUIDADOR C ON C.ID_CUIDADOR = P.ID_CUIDADOR JOIN RECEITUARIO R ON R.ID_PACIENTE = P.ID_PACIENTE JOIN MEDICACAO M ON R.ID_PACIENTE = M.ID_PACIENTE JOIN PRONTUARIO X ON X.ID_PACIENTE = P.ID_PACIENTE JOIN ATIVIDADE A ON A.ID_PACIENTE = X.ID_PACIENTE WHERE P.ID_PACIENTE = '%d'",id); mysql_query(&conexao, query); resultado = mysql_store_result(&conexao); entrar = mysql_num_rows(resultado); if(entrar >= 1){ system("cls"); while((linha = mysql_fetch_row(resultado))!= NULL){ if(aux < 1){ cout << "\t\t\t\t\t-----------------------------------" << endl; cout << "\t\t\t\t\t| DADOS PACIENTE |" << endl; cout << "\t\t\t\t\t-----------------------------------" << endl; cout << "\t\t\t\t\tID: " << linha[0] << endl; cout << "\t\t\t\t\tNome: " << linha[1] << endl; cout << "\t\t\t\t\tCPF: " << linha[2] << endl; cout << "\t\t\t\t\tNascimento: " << linha[3] << endl; cout << "\t\t\t\t\tSexo: " << linha[4] << endl; cout << "\t\t\t\t\tResponsavel: " << linha[5] << endl; cout << "\t\t\t\t\tTelefone Responsavel: " << linha[6] << endl; cout << "\t\t\t\t\tData de Entrada: " << linha[7] << endl; cout << "\t\t\t\t\tQuarto: " << linha[8] << endl << endl; cout << "\t\t\t\t\t-----------------------------------" << endl; cout << "\t\t\t\t\t| DADOS CUIDADOR |" << endl; cout << "\t\t\t\t\t-----------------------------------" << endl; cout << "\t\t\t\t\tID: " << linha[10] << endl; cout << "\t\t\t\t\tNome: " << linha[11] << endl << endl; cout << "\t\t\t\t\t-----------------------------------" << endl; cout << "\t\t\t\t\t| PRONTUÁRIO |" << endl; cout << "\t\t\t\t\t-----------------------------------" << endl; cout << "\t\t\t\t\tAtividade: " << linha[21] << endl; cout << "\t\t\t\t\tData: " << linha[22] << endl << endl; cout << "\t\t\t\t\t-----------------------------------" << endl; cout << "\t\t\t\t\t| RECEITUÁRIO |" << endl; cout << "\t\t\t\t\t-----------------------------------" << endl; cout << "\t\t\t\t\tRemédio: " << linha[15] << endl; cout << "\t\t\t\t\tData: " << linha[16] << endl << endl; }else{ cout << "\t\t\t\t\tRemédio: " << linha[15] << endl; cout << "\t\t\t\t\tData: " << linha[16] << endl << endl; } aux ++; } }else{ system("cls"); cout << "\t\t\t\t\t-----------------------------------" << endl; cout << "\t\t\t\t\t| NAO ENCONTRADO |" << endl; cout << "\t\t\t\t\t-----------------------------------" << endl; } }else{ printf("Falha de conexao\n"); printf("Erro %d : %s\n", mysql_errno(&conexao), mysql_error(&conexao)); } cout << endl; system("pause"); } -
To com um problema no meu código, tenho 2 medicamentos na tabela MEDICAMENTOS no MYSQL porém no codigo só to conseguindo printar os 2 primeiros No caso eu tenho Aspirina e Xarope, porém so mostra a Aspirina #ifndef BUSCAR_H_INCLUDED #define BUSCAR_H_INCLUDED #include <stdio.h> #include <stdlib.h> #include <mysql.h> void buscarID(); void buscarNome(); void buscarCPF(); void buscar(){ int opbuscar; do{ system("cls"); cout << "\t\t\t\t\t-----------------------------------" << endl; cout << "\t\t\t\t\t| BUSCAR |" << endl; cout << "\t\t\t\t\t|---------------------------------|" << endl; cout << "\t\t\t\t\t| 1 - ID |" << endl; cout << "\t\t\t\t\t| 2 - NOME |" << endl; cout << "\t\t\t\t\t| 3 - CPF |" << endl; cout << "\t\t\t\t\t| 0 - VOLTAR |" << endl; cout << "\t\t\t\t\t-----------------------------------" << endl; cout << "\t\t\t\t\tOPÇÃO: "; cin >> opbuscar; switch(opbuscar){ case 1: buscarID(); break; case 2: buscarNome(); break; case 3: buscarCPF(); break; case 0: return; break; default: cout << "OPÇÃO INVALIDA - PROGRAMA ENCERRADO" << endl; exit(0); } }while(opbuscar != 0); } void buscarID(){ system("cls"); int id; int entrar; int fields; cout << "ID: "; cin >> id; MYSQL conexao; MYSQL_RES* resultado; MYSQL_ROW linha; char query[1024]; mysql_init(&conexao); if(mysql_real_connect(&conexao, "localhost", "root", "root", "asilo", 0, NULL, 0)){ resultado = (mysql_store_result(&conexao)); sprintf(query,"SELECT * FROM PACIENTE P JOIN CUIDADOR C ON C.ID_CUIDADOR = P.ID_CUIDADOR JOIN RECEITUARIO R ON R.ID_PACIENTE = P.ID_PACIENTE JOIN MEDICACAO M ON M.ID_PACIENTE = R.ID_PACIENTE WHERE P.ID_PACIENTE = '%d'",id); mysql_query(&conexao, query); resultado = mysql_store_result(&conexao); entrar = mysql_num_rows(resultado); if(entrar >= 1){ linha = mysql_fetch_row(resultado); fields = mysql_num_fields(resultado); system("cls"); cout << fields; cout << "\t\t\t\t\t-----------------------------------" << endl; cout << "\t\t\t\t\t| DADOS PACIENTE |" << endl; cout << "\t\t\t\t\t-----------------------------------" << endl; cout << "\t\t\t\t\tID: " << linha[0] << endl; cout << "\t\t\t\t\tNome: " << linha[1] << endl; cout << "\t\t\t\t\tCPF: " << linha[2] << endl; cout << "\t\t\t\t\tNascimento: " << linha[3] << endl; cout << "\t\t\t\t\tSexo: " << linha[4] << endl; cout << "\t\t\t\t\tResponsavel: " << linha[5] << endl; cout << "\t\t\t\t\tTelefone Responsavel: " << linha[6] << endl; cout << "\t\t\t\t\tData de Entrada: " << linha[7] << endl; cout << "\t\t\t\t\tQuarto: " << linha[8] << endl << endl; cout << "\t\t\t\t\t-----------------------------------" << endl; cout << "\t\t\t\t\t| DADOS CUIDADOR |" << endl; cout << "\t\t\t\t\t-----------------------------------" << endl; cout << "\t\t\t\t\tID: " << linha[10] << endl; cout << "\t\t\t\t\tNome: " << linha[11] << endl << endl; cout << "\t\t\t\t\t-----------------------------------" << endl; cout << "\t\t\t\t\t| RECEITUARIO |" << endl; cout << "\t\t\t\t\t-----------------------------------" << endl; cout << "\t\t\t\t\tRemédio: " << linha[15] << endl; cout << "\t\t\t\t\tData: " << linha[16] << endl << endl; system("pause"); }else{ system("cls"); cout << "\t\t\t\t\t-----------------------------------" << endl; cout << "\t\t\t\t\t| NAO ENCONTRADO |" << endl; cout << "\t\t\t\t\t-----------------------------------" << endl; } }else{ printf("Falha de conexao\n"); printf("Erro %d : %s\n", mysql_errno(&conexao), mysql_error(&conexao)); } cout << endl; system("pause"); }
-
Galera to com um problema no meu código, ta sempre dando Erro na inserção no banco, nao to conseguindo identificar o erro, se alguem conseguir ajudar ... to inserindo as datas no formato AAAA/MM/DD o tipo ja esta DATE no MYSQL WORKBENCH #include <mysql.h> #include <stdlib.h> #include <stdio.h> #include <conio.h> using namespace std; typedef struct cadastro PACIENTE; struct cadastro{ char nome[80] = {0}; char responsavel[80] = {0}; char tel_responsavel[11] = {0}; char cpf[12] = {0}; char entrada[11] = {0}; char nascimento[11] = {0}; char sexo[1] = {0}; }; void cadastrarPaciente(){ PACIENTE p; cout << "Nome: "; cin >> p.nome; cout << "CPF: "; cin >> p.cpf; cout << "Sexo (M/F): "; cin >> p.sexo; cout << "Data Nascimento: "; cin >> p.nascimento; cout << "Responsável: "; cin >> p.responsavel; cout << "Telefone Responsável: "; cin >> p.tel_responsavel; cout << "Data Entrada: "; cin >> p.entrada; /* cout << "Nome: " << p.nome; cout << "CPF: " << p.cpf; cout << "Data Nascimento: " << p.nascimento; cout << "Sexo (M/F): " << p.sexo; cout << "Responsável: " << p.responsavel; cout << "Telefone Responsável: " << p.tel_responsavel; cout << "Data Entrada: "<< p.entrada;*/ MYSQL conexao; MYSQL_RES* resultado; MYSQL_ROW linha; int res; char query[1024];// = "SELECT * FROM ASILO"; mysql_init(&conexao); if(mysql_real_connect(&conexao, "localhost", "root", "root", "asilo", 0, NULL, 0)){ sprintf(query,"INSERT INTO PACIENTE (NOME,CPF,NASCIMENTO,SEXO,RESPONSAVEL,TEL_RESPONSAVEL,ENTRADA) VALUES ('%s','%s','%s','%s','%s','%s','%s')",p.nome,p.cpf,p.nascimento,p.sexo,p.responsavel,p.tel_responsavel,p.entrada); res = mysql_query(&conexao,query); if(!res){ cout << "\nInserido com Sucesso" << endl; }else{ cout << "Erro na insercao" << endl; } } else{ printf("Falha de conexao\n"); printf("Erro %d : %s\n", mysql_errno(&conexao), mysql_error(&conexao)); } } adicionado 11 minutos depois Consegui resolver, aumentei o tam do vetor sexo para [2] e funcionou .....
-
Então pessoal, preciso de ajuda em um código aqui, só consigo buscar o CEP se passa-lo por referência na linha : if(mysql_query(&conexao, "SELECT * FROM enderecos WHERE cep == '95200000' ")){ , mas preciso ler o cep que o usuário digitar e nao estou conseguindo fazer essa comparação para buscar dentro do banco. #ifndef VALIDACEP_H_INCLUDED #define VALIDACEP_H_INCLUDED #include <iostream> #include <stdio.h> #include <windows.h> #include <winsock2.h> #include <mysql.h> using namespace std; ValidaCEP(){ int i; int var; MYSQL conexao; MYSQL_RES* resultado; MYSQL_ROW linha; mysql_init(&conexao); cout << "\nDigite o CEP: "; cin >> var; //cout << var; if ( mysql_real_connect(&conexao, "localhost", "root", "root", "sistema", 0, NULL, 0) ) { if(mysql_query(&conexao, "SELECT * FROM enderecos WHERE cep == var ???")){ cout<<":"<<mysql_error(&conexao); }else{ resultado = mysql_store_result(&conexao); linha = mysql_fetch_row(resultado); cout << "\n"; for (i = 1; i <= 6; i++){ cout<< linha[i] <<endl; } } printf("\nConexao ao banco realizada com sucesso!\n"); } else { printf("Falha de conexao\n"); printf("Erro %d : %s\n", mysql_errno(&conexao), mysql_error(&conexao)); } system("PAUSE"); return(0); } #endif // VALIDACEP_H_INCLUDED
-
Poo é verdade valeu pela ajuda !!
-
#include <iostream> #include <conio.h> #include <stdlib.h> #include <stdio.h> #include <string.h> using namespace std; int main() { char cpf[11];//={'X','X','X','X','X','X','X','X','X','X','X'}; int i,soma=0,mult=0,cpf1,cpf2,dig1,dig2,n1,n2; cout << "Digite o CPF: "; cin >> cpf; //for(i = 0; i < 11; i++) { // cpf[i] = getche(); //} soma=0; for(i = 0; i < 9; i++) { n1 = 0; n1 = cpf[i] - 48; soma += n1 * (10-i); } cpf1 = soma%11; if(cpf1 < 2) { dig1 = 0; }else { dig1 = 11 - cpf1; } soma=0; for(i = 0; i < 10; i++) { n2 = 0; n2 = cpf[i] - 48; soma += n2 * (11-i); } cpf2 = soma%11; if(cpf2 < 2) { dig2 = 0; }else{ dig2 = 11 - cpf2; } if(cpf[9] == dig1 && cpf[10] == dig2) { cout << "\nVALIDO"; cout << "\n DIG1 "; cout << dig1 << endl; cout << "\n DIG2 "; cout << dig2 << endl; cout << "\n CPF 9 "; cout << cpf[9]; cout << "\n CPF 10 "; cout << cpf[10]; }else{ cout << "\nINVALIDO"; cout << "\n DIG1 "; cout << dig1 << endl; cout << "\n DIG2 "; cout << dig2 << endl; cout << "\n CPF 9 "; cout << cpf[9]; cout << "\n CPF 10 "; cout << cpf[10]; } return 0; } Fiz esse código para validar CPF porém quando chega no ultimo IF ele não entra mesmo mostrando os valores e provando que são idênticos ....
-
Exercício estrutura de repetição c++
Gabriel Lemos Alves respondeu ao tópico de William Grando em C/C#/C++
Dentro do laço, resultado é um acumulador que recebe 0(pois voce declarou resultado=0)+7(numero digitado)=7(valor de resultado) na primiera vez, depois resultado recebe ele mesmo + numero-1 (7=7-1), ou seja resultado recebe 7+6 e assim vai até a condição ser falsa. A variável numero é sua variavel de controle e está sendo decrementada , ou seja, vai do 7( numero que o usuario digitou até 0) quando chega no 0 sai do laço pois a condição é falsa , no final imprime o resultado acumulado dentro do laço. -
Então , preciso ler e mostrar o telefone cadastrado por máscara. Ex: (DDD) XXXX-XXXX. Porém não achei nenhum exemplo em c++ , somente em java. E o email também deve ser válido, ou seja, deve conter um "@" e um "." (ponto final) após o "@". #include <iostream> #include <stdlib.h> #include <stdio.h> #include <string.h> using namespace std; static int id = 0; class pessoa { private: int idPessoa, alt_codigo, cod_busca; char nome[30], email[50], telefone[10], rg[11], nome_busca[30], alt_nome[30]; char novo_nome[30], novo_email[50], novo_telefone[10], novo_rg[11]; public: void cadastrar(); void listar(); void alterar(int y); void busca(int y); }; pessoa **p; int getId() { id++; return id; } void pessoa :: cadastrar() { idPessoa = getId(); cout << "Digite o Nome: "; cin >> nome; cout << "Digite o Email: "; cin >> email; cout << "Digite o Telefone (com DDD): "; cin >> telefone; cout << "Digite o RG: "; cin >> rg; }; void pessoa :: listar() { cout << "Codigo: " << idPessoa; cout << " Nome: " << nome; cout << " Email: " << email; cout << " Telefone: " << telefone; cout << " RG: " << rg << endl << endl; }; void pessoa :: alterar(int y) { int achou=0; int x; int busca_alterar; int alt_cad; cout << "1- Pesquisar por Nome\n2- Pesquisar por Codigo\nDigite a opcao desejada: "; cin >> busca_alterar; if(busca_alterar==1){ system("cls"); cout << "Digite o Nome do Cliente: "; cin >> alt_nome; for ( int i=0; i<y; i++ ){ if(strcmp(p[i]->nome,alt_nome)==0){ achou=1; x=i; break; } }if (achou==1){ cout << "\nCodigo: " << p[x]->idPessoa; cout << " Nome: " << p[x]->nome; cout << " Email: " << p[x]->email; cout << " Telefone: " << p[x]->telefone; cout << " RG: " << p[x]->rg << endl << endl; cout << "\n1- Alterar Nome\n2- Alterar Email\n3- Alterar Telefone\n4- Alterar RG\nDigite a opcao desejada: "; cin >> alt_cad; system("cls"); if(alt_cad==1){ cout << "Digite o novo Nome: "; cin >> novo_nome; strcpy(p[x]->nome,novo_nome); } if(alt_cad==2){ cout << "Digite o novo Email: "; cin >> novo_email; strcpy(p[x]->email,novo_email); } if(alt_cad==3){ cout << "Digite o novo Telefone:"; cin >> novo_telefone; strcpy(p[x]->telefone,novo_telefone); } if(alt_cad==4){ cout << "Digite o novo Rg: "; cin >> novo_rg; strcpy(p[x]->rg,novo_rg); } system("cls"); }else{ system("cls"); system("color 74"); cout << "O Nome Digitado Nao Existe !!!" << endl; system("pause"); system("cls"); system("color 07"); } } if(busca_alterar==2){ system("cls"); cout << "Digite o Codigo do Cliente: "; cin >> alt_codigo; for ( int i=0; i<y; i++ ){ if(p[i]->idPessoa==alt_codigo){ achou=1; x=i; break; } }if (achou==1){ cout << "\nCodigo: " << p[x]->idPessoa; cout << " Nome: " << p[x]->nome; cout << " Email: " << p[x]->email; cout << " Telefone: " << p[x]->telefone; cout << " RG: " << p[x]->rg << endl << endl; cout << "\n1- Alterar Nome\n2- Alterar Email\n3- Alterar Telefone\n4- Alterar RG\nDigite a opcao desejada: "; cin >> alt_cad; system("cls"); if(alt_cad==1){ cout << "Digite o novo Nome: "; cin >> novo_nome; strcpy(p[x]->nome,novo_nome); } if(alt_cad==2){ cout << "Digite o novo Email: "; cin >> novo_email; strcpy(p[x]->email,novo_email); } if(alt_cad==3){ cout << "Digite o novo Telefone:"; cin >> novo_telefone; strcpy(p[x]->telefone,novo_telefone); } if(alt_cad==4){ cout << "Digite o novo Rg: "; cin >> novo_rg; strcpy(p[x]->rg,novo_rg); } system("cls"); }else{ system("cls"); system("color 74"); cout << "O Codigo Digitado Nao Existe !!!" << endl; system("pause"); system("cls"); system("color 07"); } } }; void pessoa :: busca(int y){ int achou=0; int x; int tipo_busca; cout << "1- Busca por Codigo\n2- Busca por nome\nDigite a opcao desejada: "; cin >> tipo_busca; if(tipo_busca==1){ system("cls"); cout << "Digite o Codigo Que Sera Buscado: "; cin >> cod_busca; for ( int i=0; i<y; i++ ){ if(p[i]->idPessoa==cod_busca){ achou=1; x=i; break; } }if (achou==1){ system("cls"); cout << "Codigo: " << p[x]->idPessoa; cout << " Nome: " << p[x]->nome; cout << " Email: " << p[x]->email; cout << " Telefone: " << p[x]->telefone; cout << " RG: " << p[x]->rg << endl << endl; }else { system("cls"); system("color 7D"); cout << "O Codigo Digitado Nao Existe !!!" << endl; system("pause"); system("cls"); system("color 07"); } } if(tipo_busca==2){ system("cls"); cout << "Digite o Nome Que Sera Buscado: "; cin >> nome_busca; for ( int i=0; i<y; i++ ){ if(strcmp(p[i]->nome,nome_busca)==0){ achou=1; x=i; break; } }if (achou==1){ system("cls"); cout << "Codigo: " << p[x]->idPessoa; cout << " Nome: " << p[x]->nome; cout << " Email: " << p[x]->email; cout << " Telefone: " << p[x]->telefone; cout << " RG: " << p[x]->rg << endl << endl; }else { system("cls"); system("color 7D"); cout << "O Nome Digitado Nao Existe !!!" << endl; system("pause"); system("cls"); system("color 07"); } } }; int main() { int y = 0, opc, new_opc; p = (pessoa **)malloc(sizeof(pessoa**)); do { cout << "\n----- MENU -----" << endl; cout << "1- Cadastrar" << endl; cout << "2- Listar" << endl; cout << "3- Alterar" << endl; cout << "4- Buscar" << endl; cout << "5- Reiniciar " << endl; cout << "0- Sair" << endl; cout << "----------------" << endl; cout << "Informe a Opcao: "; cin >> opc; switch ( opc ) { case 1: system ( "cls" ); do { p[y] = new pessoa; p[y]->cadastrar(); new_opc = 0; cout << "Deseja continuar cadastrando? 1-Sim / 2-Nao " << endl; cin >> new_opc; y++; } while ( new_opc == 1 ); system ( "cls" ); break; case 2: system ( "cls" ); if (y>=1){ for ( int i = 0; i < y; i++ ) { p[i]->listar(); } }else{ cout << "Nao existem cadastros" <<endl ; break; } break; case 3: system ( "cls" ); if (y>=1){ p[0]->alterar(y); }else{ cout << "Nao existem cadastros" <<endl ; break; } break; case 4: if (y>=1){ system ( "cls" ); p[0]->busca(y); }else{ system ( "cls" ); cout << "Nao existem cadastros" <<endl ; break; } break; case 5: system ( "cls" ); y=0; break; default: exit ( 0 ); } } while ( opc != 0 ); delete[] p; return 0; }
-
Problema com ponteiros c++
Gabriel Lemos Alves respondeu ao tópico de Gabriel Lemos Alves em C/C#/C++
Valeu pela ajuda tambem freak no causo se eu for criar a função alterar, o exercicio pede pra fazer uma busca por nome e verificar se ele existe ou não . Se eu fizer um for pra percorrer o ponteiro e comparar usando a strcmp será que da certo ? -
Problema com ponteiros c++
Gabriel Lemos Alves respondeu ao tópico de Gabriel Lemos Alves em C/C#/C++
Agora funcionou essa macumba kkk . Valeu pela ajuda -
Problema com ponteiros c++
Gabriel Lemos Alves respondeu ao tópico de Gabriel Lemos Alves em C/C#/C++
Por exemplo: Codigo: 1 Nome: 1 Email: 1 Tel: 1 Rg:1 // Mostra tudo certo Codigo: 1 Nome: Joao Email: [email protected] Tel: 32323232 Rg: 1234567890 // Nao mostra o codigo adicionado 35 minutos depois Agora deu certo kkk aumentei pra [11] o vetor do RG e funcionou -.-' -
Problema com ponteiros c++
Gabriel Lemos Alves respondeu ao tópico de Gabriel Lemos Alves em C/C#/C++
Se eu digitar coisas aleatorias ele funciona certinho, mas quando cadastro coisas validas da esse bug. -
Problema com ponteiros c++
Gabriel Lemos Alves respondeu ao tópico de Gabriel Lemos Alves em C/C#/C++
Aqui continua não mostrando o código só pode ser aqui o problema então ... -
Problema com ponteiros c++
Gabriel Lemos Alves respondeu ao tópico de Gabriel Lemos Alves em C/C#/C++
#include <iostream> #include <stdlib.h> #include <stdio.h> using namespace std; class pessoa{ private: char nome[30],email[50],telefone[10],rg[10],codigo[10]; public: void cadastrar(); void consultar(); }; pessoa **p;//*p[] void pessoa :: cadastrar(){ cout << "Digite o Codigo: "; cin >> codigo; cin.sync(); cout << "Digite o Nome: "; cin >> nome; cin.sync(); cout << "Digite o Email: "; cin >> email; cin.sync(); cout << "Digite o Telefone: "; cin >> telefone; cin.sync(); cout << "Digite o RG: "; cin >> rg; cin.sync(); }; void pessoa :: consultar(){ cout << "Codigo: " << codigo; cout << " Nome: " << nome; cout << " Email: " << email; cout << " Telefone: " << telefone; cout << " RG: " << rg << endl; }; int main(){ int y=0,opc,new_opc; p = (pessoa **)malloc(sizeof(pessoa**)); do{ cout << "\n----- MENU -----" << endl; cout << "1- Cadastrar" << endl; cout << "2- Consultar" << endl; cout << "3- Alterar" << endl; cout << "0- Sair" << endl; cout << "----------------" << endl; cout << "Informe a Opcao: "; cin >> opc; cin.sync(); switch (opc){ case 1: system("cls"); do{ p[y] = new pessoa; p[y]->cadastrar(); new_opc=0; cout << "Deseja continuar cadastrando? 1-Sim / 2-Nao " << endl; cin >> new_opc; cin.sync(); y++; }while(new_opc==1); system("cls"); break; case 2: system("cls"); for(int i=0;i<y;i++){ p[i]->consultar(); } break; default: exit(0); } }while(opc!=0); delete[] p; return 0; } -
Problema com ponteiros c++
Gabriel Lemos Alves respondeu ao tópico de Gabriel Lemos Alves em C/C#/C++
Tentei as duas ajudas mas não deu certo, ele mostra todos os campos certinho menos o código .... -
Estou com um problema no meu código, quando eu cadastro várias pessoas ele não mostra alguns dados. Ex.: o campo código fica em branco, ou outro campo qualquer. #include <iostream> #include <stdlib.h> #include <stdio.h> using namespace std; class pessoa{ private: char nome[30],email[50],telefone[10],rg[10],codigo[10]; public: void cadastrar(int i); void consultar(int i); }; pessoa* p; void pessoa :: cadastrar(int i){ cout << "Digite o Codigo: "; cin >> p[i].codigo; cout << "Digite o Nome: "; cin >> p[i].nome; cout << "Digite o Email: "; cin >> p[i].email; cout << "Digite o Telefone: "; cin >> p[i].telefone; cout << "Digite o RG: "; cin >> p[i].rg; }; void pessoa :: consultar(int i){ cout << "Codigo: " << p[i].codigo; cout << " Nome: " << p[i].nome; cout << " Email: " << p[i].email; cout << " Telefone: " << p[i].telefone; cout << " RG: " << p[i].rg << endl; }; int main(){ int y=0,opc,new_opc; p = new pessoa[y]; do{ cout << "\n----- MENU -----" << endl; cout << "1- Cadastrar" << endl; cout << "2- Consultar" << endl; cout << "3- Alterar" << endl; cout << "0- Sair" << endl; cout << "----------------" << endl; cout << "Informe a Opcao: "; cin >> opc; switch (opc){ case 1: system("cls"); do{ p[y].cadastrar(y); new_opc=0; cout << "Deseja continuar cadastrando? 1-Sim / 2-Nao " << endl; cin >> new_opc; y++; }while(new_opc==1); system("cls"); break; case 2: system("cls"); for(int i=0;i<y;i++){ p[i].consultar(i); } break; default: exit(0); } }while(opc!=0); delete[] p; return 0; }
-
Problema com orientação a objetos em c++
Gabriel Lemos Alves respondeu ao tópico de Gabriel Lemos Alves em C/C#/C++
Po valeu mesmo é que esse ai foi o primeiro exercício então não tinha muita base de como fazer kkkk. Valeu pela explicação agora entendi. -
Então galera, estou com um problema no meu código, ele está fazendo as instruções certas que são: Ler um numero qualquer de alunos e um numero qualquer de notas, a media e mostrar tudo em tela, porém na parte de imprimir tudo na tela ele atribui as ultimas notas que digitei a todos os alunos. Ex. de entrada: Aluno A ( Notas: 3,9,10) ; Aluno B (Notas: 5,6,7). Na hora de mostrar os dados ele mostra: Aluno A (Notas:5,6,7) Aluno B (Notas:5,6,7). Preciso também fazer as médias das notas ainda.É um exercício da faculdade se alguém conseguir ajudar . #include <iostream> #include <conio.h> using namespace std; class pessoa{ private: char nome[30]; float nota; public: void cadastrar_nome(); void consultar_nome(); void cadastrar_nota(); void consultar_nota(); }; pessoa p[1]; // CONSTRUTOR ----------------------------- void pessoa :: cadastrar_nome(){ cout<< "Digite o nome do Aluno: "; cin>> nome; }; void pessoa :: cadastrar_nota(){ cout<< "Digite a Nota: "; cin>> nota; }; void pessoa :: consultar_nome(){ cout<< "Nome: "<<nome <<endl; }; void pessoa :: consultar_nota(){ cout<< "Nota: "<<nota <<endl; }; int main() { int i,j,x,y; cout<< "Digite o numero de Alunos: "; cin>> x; cout<< "Digite o numero de Notas: "; cin>> y; for(i=0;i<x;i++){ p[ i ].cadastrar_nome(); for(j=0;j<y;j++){ p[j].cadastrar_nota(); } } for(i=0;i<x;i++){ p[ i ].consultar_nome(); for(j=0;j<y;j++){ p[j].consultar_nota(); } } }
Sobre o Clube do Hardware
No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais
Direitos autorais
Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais