
Gabriel Lemos Alves
Membro Júnior-
Posts
19 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Livros
Cursos
Análises
Fórum
Tudo que Gabriel Lemos Alves postou
-
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"); }
-
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. -
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