Ir ao conteúdo

Gabriel Lemos Alves

Membro Júnior
  • Posts

    19
  • Cadastrado em

  • Última visita

Tudo que Gabriel Lemos Alves postou

  1. 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
  2. Ah, entendi então só daria certo da forma que pensei com select ?
  3. 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
  4. @Fn1X Ele ta funcionando sim, porém está mostrando repetido
  5. @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"); }
  6. 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"); }
  7. Poo é verdade valeu pela ajuda !!
  8. #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 ....
  9. 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.
  10. 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 ?
  11. Agora funcionou essa macumba kkk . Valeu pela ajuda
  12. 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 -.-'
  13. Se eu digitar coisas aleatorias ele funciona certinho, mas quando cadastro coisas validas da esse bug.
  14. Aqui continua não mostrando o código só pode ser aqui o problema então ...
  15. #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; }
  16. Tentei as duas ajudas mas não deu certo, ele mostra todos os campos certinho menos o código ....
  17. 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; }
  18. 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.
  19. 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

×
×
  • Criar novo...