Ir ao conteúdo
  • Cadastre-se

Mr-86

Membro Pleno
  • Posts

    30
  • Cadastrado em

  • Última visita

Reputação

35
  1. @arfneto Mt obrigado pela ajuda e pelas orientações. desculpe pela demora, acabei me irritando mt com esse codigo e dei uma afastada dele, agr percebo meus erros.
  2. @devair1010 Agradeço pela ajuda com as strings e o char, nunca tive esse problema quando usava codeblocks. e por isso nunca me deparei com algo assim. porém agr os erros que estão aparecendo sao outros e eu não faço ideia doque eles sao.
  3. @Felipecfk Este é meu codigo completo, tentei fazer o que você falou mas ainda não resolveu. #include <iostream> #include <cstring> #include <iomanip> #include <cstddef> using namespace std; using std::string; void pegaPala(string& palavra, string& palavraresolvida, int& tentativas); void jogar(string palavra, int tentativas); bool verificar(string palavra, char resp); int main() { string palavra, letrasUsadas, palavraresolvida; int tentativas = 0; pegaPala(palavra, palavraresolvida, tentativas); jogar(palavra, tentativas); } void pegaPala(string& palavra, string& palavraresolvida, int& tentativas) { //abrir um aqui so de leitura, pegar uma palavra aleatoria e mandar para a palavra e fazer ja a quantidade de tentivas for (int i = 0; i < palavra.size(); i++) { palavraresolvida[i] << '_'; } } void jogar(string palavra, string palavraresolvida, int tentativas) { string erros; char resp; bool veri; while (tentativas != 0 /*colocar uma verificaçao para ver se o jogador acertou todas as letras*/) { cout << "Letras usadas: " << erros; cout << "\n"; cout << "Tentativas disponiveis: " << tentativas << endl; cout << "\n"; cout << palavraresolvida << endl; cout << "\n"; cout << "Digite uma letra: "; getline(cin, tolower(resp)); veri = verificar(palavra, resp); if (!veri) { tentativas--; erros = erros + " " + toupper(resp); } } } bool verificar(string palavra, string& palavraresolvida, char resp) { for (int i = 0; i < palavra.size(); i++) { if (palavra[i] == resp) palavraresolvida[i] = resp; return true; } return false; }
  4. Bom dia!! estava tentando migrar do codeblocks para o visual studio 2022, porém estou tentando fazer um jogo da forca simples, mas esta aparecendo erros que nunca me deparei no codeblocks. alguém poderia me explicar como resolve-los ?? segue onde esta o erro do codigo e as mensagens de erro. void jogar(string palavra, string palavraresolvida, int tentativas) { string erros; char resp; bool veri; while (tentativas != 0) { cout << "Letras usadas: " << erros; cout << "\n"; cout << "Tentativas disponiveis: " << tentativas << endl; cout << "\n"; cout << palavraresolvida << endl; cout << "\n"; cout << "Digite uma letra: "; getline(cin, tolower(resp)); veri = verificar(palavra, resp); if (!veri) { tentativas--; erros = erros + " " + toupper(resp); } } Eu sei que o codigo acima tem alguns erros, e coisas que possam ser melhoradas. mas meu principal problema sao os erros da imagem.
  5. @arfneto @arfneto Algoritmos e Programação com Exemplos em Pascal e C [Série Livros didáticos informática UFRGS] Edelweiss, Nina, Livi, Maria A. C. A IDE é o codeblocks Agr eu entendo 70% O compilador eu fui onde você pediu e deu isso
  6. @arfneto agr entendi!! você poderia me ajudar num pequeno problema estou tendo, eu preciso ordenar um nome em formado bibliografico tipo transformar Gabriel souza monteiro, em Monteiro G. S. você saberia como fazer?? atualmente estou pensando como ser organiza o vertor de strings acervo em ordem alfabetica, e ja estou quase lá... eu acho. string nome, aux; for(int i=0; i<=n-1; i++){ nome = acervo[i]; for(int j=1; j<=n-1; j++){ aux = acervo[j]; for(int p=0; p<=nome.size(); p++){ for(int k=0; k<=aux.size(); k++){ if(nome[p] > aux[k]){ acervo[i] = aux; acervo[j] = nome; } } } } } tinha esquecido de colocar o codigo, da ordem alfabética, ele ta quase dando certo, quase.
  7. @arfneto eu cheguei a mudar isso, mas não entendo o que essa mudança fez. esses erro apareceram no meu compilador, porém não sei como. Eis uma otimo dilema, como eu faço tudo isso, não foi me ensinado quase nada sobre os compiladores, entendo que você ta me cobrando isso, porém eu não faço ideia de como fazer, de que jeito, e na maioria dos casos e não entendo a metade do que você propõe. estou tentando arrumar esse codigo que nem um louco, você me fiz mt coisas que não aprendi em sala, e por isso não sei como colocar em pratica, entendo que meu codigo esta ruim, porém não tenho tempo para cuidar do mínimos detalhes de tudo, ja estou mt perdido na materia de modularização, e quero pelo menos entregar um trabalho funcional.
  8. @arfneto #include <iostream> #include <cstring> #include <iomanip> using namespace std; #define max 10 int Leiaresp(); void incluir(int&n, int quant[], string acervo[], string isbn[], string autores[]); void ordenar(int n, int quant[], string acervo[], string isbn[], string autores[]); int procurar(string isbn[], int n); void excluir(int&n, int quant[], string acervo[], string isbn[], string autores[], int proc); void aquizicao(int quant[], int proc); int main(){ string acervo[max], isbn[max], autores[max]; int n=0, quant[max], resp; do{ int resp = Leiaresp(); switch(resp){ case 1 :{ incluir(n, quant, acervo, isbn, autores); ordenar(n, quant, acervo, isbn, autores); break; } case 2:{ int proc = procurar(isbn, n); cout << isbn[proc] << endl << acervo[proc] << endl << autores[proc] << endl << quant[proc] << endl; if(proc == -1){ cout << "Este Livro não esta nos registros. " << endl; } system("pause"); break; } case 3:{ int proc = procurar(isbn, n); if(proc == -1){ cout << "Este Livro não esta nos registros. " << endl; } excluir(n, quant, acervo, isbn, autores, proc); system("pause"); break; } case 4:{ int proc = procurar(isbn, n); if(proc == -1){ cout << "Este Livro não esta nos registros. " << endl; } aquizicao(quant, proc); system("pause"); break; } } }while(resp != 0); return 0; } int Leiaresp(){ int resp; do{ cout << "qual acao deseja realizar ??" << endl << "1 Cadrastar um livro" << endl << "2 Procurar um livro" << endl << "3 Excluir um livro " << endl << "4 Aquisicao " << endl << "5 Relatorio" << endl << "0 Encerrar programa" << endl; cin >> resp; cin.ignore(); }while(resp < 0 && resp >5); return resp; } void incluir(int &n, int quant[], string acervo[], string isbn[], string autores[]){ string codigo, nome, autor; int qtnd; bool valido; do{ cout << "Digite o ISBN do livro, contendo 13 digitos e '-' " << endl; getline(cin, codigo); for(int j=0; j<=codigo.size(); j++){ if(not isdigit(codigo[j]) && codigo[j] != '-'){ cout << "Esse ISBN não e valido " <<endl; valido = false; break; }else{ valido = true; } } }while(codigo.size() == 0 and valido == false); //INSERIR O CODIGO PARA VERIFICAÇAO DE COPIA!! isbn[n] = codigo; n++; do{ cout << "Digite o nome do livro " << endl; getline(cin, nome); }while(nome.size() == 0); acervo[n] = nome; do{ cout << "Digite o nome completo do autor: " << endl; getline(cin, autor); }while(autor.size() == 0); autores[n] = autor; do{ cout << "Digite a quantidade " << endl; cin >> qtnd; cin.ignore(); }while(qtnd <= 0); quant[n] = qtnd; } void ordenar(int n, int quant[], string acervo[], string isbn[], string autores[]){ string nome, aux; int i, j, k; for(int p=0; p<=n; p++){ nome = acervo[p]; for(int k=1; k<=n; k++){ aux = acervo[k]; for(int i=0; i<=nome.size(); i++){ for(int j=0; j<=aux.size(); j++){ if(nome[i] > aux[j]){ acervo[p] = aux; acervo[k]= nome; //ORGANIZAR AS OUTRAS POSIÇOES!!! } } } } } } int procurar(string isbn[], int n){ string codigo; int proc = 0; do { cout << "Digite o ISBN " << endl; getline(cin, codigo); } while (codigo.size() == 0); for (int i = 0; i <= n; i++) { if (codigo == isbn[i]) proc = i; else proc = 1; } return proc; } void excluir(int&n, int quant[],string acervo, string isbn[], string autores[], int proc){ for(int i=proc; i<=n; i++){ acervo[i] = acervo[i+1]; isbn[i] = isbn[i+1]; autores[i] = autores[i+1]; quant[i] = quant[i+1]; } n--; } void aquizicao(int quant[], int proc){ int qtde; cout << "Quantos livros deseja adquirir ??" << endl; cin >> qtde; quant[proc] = quant[proc] + qtde; } Aqui esta o codigo atual, contando que esta dando um erro no case 3, e ainda sei como arrumar. mas meu principal problema é o do/while que do int main, que não esta repetindo. e Pf não julgue o meu codigo atual, eu tentei melhorar ele, e ainda não arrumei o meu debugger pois não sei como.
  9. @arfneto Eu uso o codeblocks por pedido da tutora, e não sei dizer que compilador, pois ainda sou meio leigo nisso. @arfneto Cara estava dando uma olhada no seu post #16, porque o meu do/while não ta funcionando, ele não repete o switch case. quando eu rodo o codigo e funciona normalmente porém quando estou finalizando a primeira função, e é pra ele sair do case 1 e voltar pro do/while, ele apenas exibe uma mensagem pedindo permissão pra continuar e finaliza o programa.
  10. @arfneto A tutora pede para ler o livros da Nina alguma coisa, mas em sala ela nunca explicou sobre isso.
  11. @arfneto Entendi o que você falo no #16, e não o meu compilador nunca mostrou isso
  12. @arfneto Agradeço mt pela a sua ajuda, e já estou preparando uma nv versão desse codigo. Irei botar em pratica mt coisas que você disse, e peço desculpas se caso em algum momentos eu tenha agido de forma rude ou grosseira.
  13. @arfneto MANO!!!! eu consegui. o codigo tava crachando por causa de uma coisa estão *****. eu esqueci de zerar o N, ele tava tendo problemas em guardar coisas e procurar pois estava com lixo dentro do N, por tava dando valores exorbitantes.
  14. @arfneto eu ja postei o codigo inteiro para quem quiser compilar, esse post mesmo tem o codigo, mas se quer dizer um arquivo aqui esta. Acervo de livros.zip
  15. @arfneto eu queria poder dizer onde esta o problema, mas eu não sei. tudo que eu sei que tem um problema que não deixa eu testar nd no códigos, pois ele não passa nunca de primeira função. por isso botei aquelas imagens pra ver se alguém pode me dizer o que esta acontecendo, pois o programa ta retornando um valo todo quebrado.

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...