Ir ao conteúdo
  • Cadastre-se

Ilanez Santos

Membro Júnior
  • Posts

    11
  • Cadastrado em

  • Última visita

Reputação

12
  1. Como funcionou não vou mexer muito, resolveu o problema maior que eu tinha, que era esse, agora o outro problema é acrescentar pontuação e gerar um ranking em txt. Alguma idea de como fazer ?
  2. @Midori Não vi nessecidade, está funcionando assim, se por else vai acabar saindo as duas respostas, eu testei aqui, o != já diz que se for diferente vai sair outra resposta.
  3. com essa parte, aparece a resposta certa, porém ainda sim continua o programa, quero parar ele, posso usar o return0?
  4. #include <stdio.h> #include <stdlib.h> #include <locale.h> #include <string.h> #include <time.h> #include <windows.h>//para usar o Sleep() // constantes : const int SEM_ERRO = 0; const int TAMANHO_MAXIMO = 50; void jogo(); void pessoa(); void lugar(); void ano(); void coisa(); void escolha6(); int main (){ setlocale(LC_ALL,"portuguese"); char nome[20]; printf("Escreva seu nome:"); scanf("%i", &nome); fflush(stdin); int escolha; printf("\nMenu\n\n1-Novo jogo\n\n2-Explicação do jogo\n\n3-Ranking\n\n4-Sair do jogo\n\nDigite a opção:\n\n"); scanf("%d", &escolha); fflush(stdin); switch(escolha){ case 1: jogo(); break; case 2: //monstra as regras do jogo printf("\nRegras do jogo:\n\nSerá exibida uma dica, se o jogador escrever e acertar o perfil, ganha a rodada e ganha pontos dependendo da quantidadade de dicas acertarem.\nSe não souber, passa a vez para o próximo, que será exibido outra dica para tentar acertar o perfil.\n\nGanha o jogo quem fizer mais pontos ao fim da rodada, que acaba após as 5 dicas acabarem.\n\n"); printf("\nObservação: escreva apenas em letras minúsculas.\n\n"); break; case 3: break; case 4: exit(0); // encerra o jogo break; default : printf("\nOpção não disponivel\n\n"); printf("\nDigite apenas uma opção de 1 a 4\n\n"); //mostrado quando a opção desejada não é válida } system("pause"); return SEM_ERRO; } void jogo(){ printf("\n*****Começar jogo*****\n\n"); int opcao; printf("\n*****Começar jogo*****\n\n"); printf("\rEscolha uma opção :\n\ \r 1 - pessoa\n\ \r 2 - lugar\n\ \r 3 - ano\n\ \r 4 - coisa\n\n"); scanf("%d", &opcao); switch(opcao){ case 1: pessoa(); break; case 2: lugar(); break; case 3: ano(); break; case 4: coisa(); break; } } void pessoa (){ int op2; char resp[50]; printf("voce escolheu pessoa\n"); printf("Escolha de 1 a 5:\n"); scanf("%d", &op2); switch(op2){ case 1: printf("\nDigite sua resposta\n"); printf("sou rico e inteligente\n"); scanf("%i", resp); fflush(stdin); if (strcmp(resp,"fim") == 0) printf("resposta certa"); if (strcmp(resp,"fim") == 0) printf("resposta errada\n\n"); printf("\nDigite sua resposta\n"); printf("me visto de morcego\n"); scanf("%d", resp); fflush(stdin); if (strcmp(resp,"fim") == 0) printf("resposta errada\n"); if (strcmp(resp,"fim") == 0) printf("resposta certa\n"); printf("\nDigite sua resposta\n"); printf("meu mordomo se chama alfred\n"); scanf("%d", resp); fflush(stdin); if (strcmp(resp,"fim") == 0) printf("resposta errada\n"); if (strcmp(resp,"fim") == 0)) printf("resposta certa\n"); printf("\nDigite sua resposta\n"); printf("meus inimigos são o pigunin e coringa\n"); scanf("%d", resp); fflush(stdin); if (strcmp(resp,"fim") == 0) printf("resposta errada\n"); if (strcmp(resp,"fim") == 0) printf("resposta certa\n"); printf("\nDigite sua resposta\n"); printf("moro em gotham city\n"); scanf("%d", resp); fflush(stdin); if (strcmp(resp,"fim") == 0) printf("resposta errada\n"); if (strcmp(resp,"fim") == 0) printf("resposta certa\n"); break; case 2: printf("\nDigite sua resposta\n"); break; case 3: printf("\nDigite sua resposta\n"); break; case 4: printf("\nDigite sua resposta\n"); case 5: printf("\nDigite sua resposta\n"); break; } } void lugar(){ } void ano(){ } void coisa(){ } Substirui e tirei o que estva dando erro, era a função imprimeranking();, não algo para me preoucupar no momento.
  5. #include <stdio.h> #include <stdlib.h> #include <locale.h> #include <string.h> #include <time.h> #include <windows.h>//para usar o Sleep() // constantes : const int SEM_ERRO = 0; const int TAMANHO_MAXIMO = 50; void jogo(); void pessoa(); void lugar(); void ano(); void coisa(); void escolha6(); int main (){ setlocale(LC_ALL,"portuguese"); char nome[20]; printf("Escreva seu nome:"); scanf("%i", &nome); fflush(stdin); int escolha; printf("\nMenu\n\n1-Novo jogo\n\n2-Explicação do jogo\n\n3-Ranking\n\n4-Sair do jogo\n\nDigite a opção:\n\n"); scanf("%d", &escolha); fflush(stdin); switch(escolha){ case 1: jogo(); break; case 2: //monstra as regras do jogo printf("\nRegras do jogo:\n\nSerá exibida uma dica, se o jogador escrever e acertar o perfil, ganha a rodada e ganha pontos dependendo da quantidadade de dicas acertarem.\nSe não souber, passa a vez para o próximo, que será exibido outra dica para tentar acertar o perfil.\n\nGanha o jogo quem fizer mais pontos ao fim da rodada, que acaba após as 5 dicas acabarem.\n\n"); printf("\nObservação: escreva apenas em letras minúsculas.\n\n"); break; case 3: imprime_ranking(); //chama a função de imprimir o ranking break; case 4: exit(0); // encerra o jogo break; default : printf("\nOpção não disponivel\n\n"); printf("\nDigite apenas uma opção de 1 a 4\n\n"); //mostrado quando a opção desejada não é válida } system("pause"); return SEM_ERRO; } void jogo(){ printf("\n*****Começar jogo*****\n\n"); int opcao; printf("\n*****Começar jogo*****\n\n"); printf("\rEscolha uma opção :\n\ \r 1 - pessoa\n\ \r 2 - lugar\n\ \r 3 - ano\n\ \r 4 - coisa\n\n"); scanf("%d", &opcao); switch(opcao){ case 1: pessoa(); break; case 2: lugar(); break; case 3: ano(); break; case 4: coisa(); break; } } void pessoa (){ int op2; char resp[50]; printf("voce escolheu pessoa\n"); printf("Escolha de 1 a 5:\n"); scanf("%d", &op2); switch(op2){ case 1: printf("\nDigite sua resposta\n"); printf("sou rico e inteligente\n"); scanf("%i", resp); fflush(stdin); if (resp == "batman") printf("resposta certa"); if (resp != "batman") printf("resposta errada\n\n"); printf("\nDigite sua resposta\n"); printf("me visto de morcego\n"); scanf("%d", resp); fflush(stdin); if (resp !="batman") printf("resposta errada\n"); if (resp =="batman") printf("resposta certa\n"); printf("\nDigite sua resposta\n"); printf("meu mordomo se chama alfred\n"); scanf("%d", resp); fflush(stdin); if (resp !="batman") printf("resposta errada\n"); if (resp =="batman") printf("resposta certa\n"); printf("\nDigite sua resposta\n"); printf("meus inimigos são o pigunin e coringa\n"); scanf("%d", resp); fflush(stdin); if (resp !="batman") printf("resposta errada\n"); if (resp =="batman") printf("resposta certa\n"); printf("\nDigite sua resposta\n"); printf("moro em gotham city\n"); scanf("%d", resp); fflush(stdin); if (resp !="batman") printf("resposta errada\n"); if (resp =="batman") printf("resposta certa\n"); break; case 2: printf("\nDigite sua resposta\n"); break; case 3: printf("\nDigite sua resposta\n"); break; case 4: printf("\nDigite sua resposta\n"); case 5: printf("\nDigite sua resposta\n"); break; } } void lugar(){ } void ano(){ } void coisa(){ } void grava_ranking(){ //função para gravar o rank FILE *fa; char nome[10]; fa=fopen("ranking.txt","a"); printf("Digite seu nome: "); gets(nome); fprintf(fa,"\n %s %d",nome); fclose(fa); } void imprime_ranking(){ //função que imprime o rank FILE *fa; char c; system("cls"); fa=fopen("ranking.txt","r"); if(fa==NULL) { perror("Erro ao abrir"); } while( fscanf(fa,"%c",&c) != EOF) { printf("%c",c); } fclose(fa); printf("\n\n\n"); system("PAUSE"); } corrigido o pprintf, fora isso não dá erro, porém ainda sim continua sem funcionar corretmante.
  6. Eu usei mas mesmo assim continua dando erro. E não funciona de maneira correta, pode ser que seja por isso que está dando errado, poderia me dar um exemplo?
  7. @Midori o erro é que quando vai para as respostas só dá resposta errada, mesmo colocando a resposta certa, e mesmo assim vai para a linha de baixo.
  8. Olá novamente, estou aqui novamente para pedir ajuda para terminar meu código, falta só a parte em que a resposta dá correta, porém só dá resposta errada, poderiam me ajudar por favor ? #include <stdio.h> #include <stdlib.h> #include <locale.h> #include <string.h> #include <time.h> #include <windows.h>//para usar o Sleep() // constantes : const int SEM_ERRO = 0; const int TAMANHO_MAXIMO = 50; void jogo(); void pessoa(); void lugar(); void ano(); void coisa(); void escolha6(); int main (){ setlocale(LC_ALL,"portuguese"); char nome[20]; printf("Escreva seu nome:"); scanf("%i", &nome); fflush(stdin); int escolha; printf("\nMenu\n\n1-Novo jogo\n\n2-Explicação do jogo\n\n3-Ranking\n\n4-Sair do jogo\n\nDigite a opção:\n\n"); scanf("%d", &escolha); fflush(stdin); switch(escolha){ case 1: jogo(); break; case 2: //monstra as regras do jogo printf("\nRegras do jogo:\n\nSerá exibida uma dica, se o jogador escrever e acertar o perfil, ganha a rodada e ganha pontos dependendo da quantidadade de dicas acertarem.\nSe não souber, passa a vez para o próximo, que será exibido outra dica para tentar acertar o perfil.\n\nGanha o jogo quem fizer mais pontos ao fim da rodada, que acaba após as 5 dicas acabarem.\n\n"); printf("\nObservação: escreva apenas em letras minúsculas.\n\n"); break; case 3: imprime_ranking(); //chama a função de imprimir o ranking break; case 4: exit(0); // encerra o jogo break; default : printf("\nOpção não disponivel\n\n"); printf("\nDigite apenas uma opção de 1 a 4\n\n"); //mostrado quando a opção desejada não é válida } system("pause"); return SEM_ERRO; } void jogo(){ printf("\n*****Começar jogo*****\n\n"); int opcao; printf("\n*****Começar jogo*****\n\n"); printf("\rEscolha uma opção :\n\ \r 1 - pessoa\n\ \r 2 - lugar\n\ \r 3 - ano\n\ \r 4 - coisa\n\n"); scanf("%d", &opcao); switch(opcao){ case 1: pessoa(); break; case 2: lugar(); break; case 3: ano(); break; case 4: coisa(); break; } } void pessoa (){ int op2; char resp[50]; printf("voce escolheu pessoa\n"); printf("Escolha de 1 a 5:\n"); scanf("%d", &op2); switch(op2){ case 1: printf("\nDigite sua resposta\n"); printf("sou rico e inteligente\n"); scanf("%i", resp); fflush(stdin); if (resp == "batman") printf("resposta certa"); if (resp != "batman") printf("resposta errada\n\n"); printf("\nDigite sua resposta\n"); printf("me visto de morcego\n"); scanf("%d", resp); fflush(stdin); if (resp !="batman") printf("resposta errada\n"); if (resp =="batman") printf("resposta certa\n"); printf("\nDigite sua resposta\n"); printf("meu mordomo se chama alfred\n"); scanf("%d", resp); fflush(stdin); if (resp !="batman") printf("resposta errada\n"); if (resp =="batman") printf("resposta certa\n"); printf("\nDigite sua resposta\n"); printf("meus inimigos são o pigunin e coringa\n"); scanf("%d", resp); fflush(stdin); if (resp !="batman") printf("resposta errada\n"); if (resp =="batman") printf("resposta certa\n"); printf("\nDigite sua resposta\n"); printf("moro em gotham city\n"); scanf("%d", resp); fflush(stdin); if (resp !="batman") printf("resposta errada\n"); if (resp =="batman") printf("resposta certa\n"); break; case 2: printf("\nDigite sua resposta\n"); break; case 3: printf("\nDigite sua resposta\n"); break; case 4: printf("\nDigite sua resposta\n"); case 5: pprintf("\nDigite sua resposta\n"); break; } } void lugar(){ } void ano(){ } void coisa(){ } void grava_ranking(){ //função para gravar o rank FILE *fa; char nome[10]; fa=fopen("ranking.txt","a"); printf("Digite seu nome: "); gets(nome); fprintf(fa,"\n %s %d",nome); fclose(fa); } void imprime_ranking(){ //função que imprime o rank FILE *fa; char c; system("cls"); fa=fopen("ranking.txt","r"); if(fa==NULL) { perror("Erro ao abrir"); } while( fscanf(fa,"%c",&c) != EOF) { printf("%c",c); } fclose(fa); printf("\n\n\n"); system("PAUSE"); }
  9. Esse é o código com switch code< #include <stdio.h> #include <stdlib.h> #include <locale.h> const int SEM_ERRO = 0; int main(){ setlocale(LC_ALL,"portuguese"); int nome; printf("Escreva seu nome:"); scanf("%i", &nome); fflush(stdin); int escolha; printf("\nMenu\n\n1-Iniciar jogo\n\n2-Regras do jogo\n\n3-Ranking\n\n4-Sair do jogo\n\nDigite a opção:\n\n"); scanf("%d", &escolha); switch(escolha){ case 1: printf("\n*****Começar jogo*****\n\n"); int p = 1, l = 2, a = 3, c = 4; printf("Escolha uma opção:\n\n1-pessoa\n\n2-lugar\n\n3-ano\n\n4-coisa\n\n"); scanf("%d", p, l, a, c); printf("Você terá 60s para cada dica\n\n"); break; case 2: printf("\nRegras do jogo:\n\nO jogador da vez escolhe um número de 1 a 5, será exibida uma dica, se o jogador escrever e acertar o perfil, ganha a rodada e ganha o número de pontos que às dicas valem.\nSe não souber, passa a vez para o próximo, que escolhe outra dica valendo menos pontos, e assim sucessivamente\n\nGanha o jogo quem fizer mais pontos.\n\n"); break; case 3: printf("Ranking:"); break; case 4: exit(0); break; } if(escolha>=5){ printf("\nOpção não disponivel\n\n"); } system("pause"); return SEM_ERRO; }> Já tenho os perfis prontos também, vou 5 dicas cada.
  10. @Lucca Rodrigues eu tentei de duas formas, uma usando switch e uma usando if-else daqui a pouco posto aqui versão com if : code < #include <stdio.h> #include <stdlib.h> #include <locale.h> const int SEM_ERRO = 0; int main(){ setlocale(LC_ALL,"portuguese"); int nome; printf("Escreva seu nome:"); scanf("%i", &nome); fflush(stdin); int escolha; printf("\nMenu\n\n1-Iniciar jogo\n\n2-Regras do jogo\n\n3-Ranking\n\n4-Sair do jogo\n\nDigite a opção:\n\n"); scanf("%d", &escolha); if(escolha==1){ printf("\n*****Começar jogo*****\n\n"); int p = 1, l = 2, a = 3, c = 4; printf("Escolha uma opção:\n\n1-pessoa\n\n2-lugar\n\n3-ano\n\n4-coisa\n\n"); scanf("%d", p, l, a, c); printf("Você terá 60s para cada dica\n\n"); } if (escolha==2){ printf("\nRegras do jogo:\n\nO jogador da vez escolhe um número de 1 a 5, será exibida uma dica, se o jogador escrever e acertar o perfil, ganha a rodada e ganha o número de pontos que às dicas valem.\nSe não souber, passa a vez para o próximo, que escolhe outra dica valendo menos pontos, e assim sucessivamente\n\nGanha o jogo quem fizer mais pontos.\n\n"); } if(escolha==3){ int nome; printf("\nRanking:\n\n"); FILE*file; fopen("Ranking.txt","w"); fprintf(file,nome); } if (escolha==4){ exit(0); } if(escolha>=5){ printf("\nOpção não disponivel\n\n"); } system("pause"); return SEM_ERRO; }>
  11. Olá gostaria de pedir ajuda para montar o código de um jogo em C, estou tento bastante dificuldade por falta de tempo e mal tive aula do professor da faculdade, segue abaixo a proposta do jogo, obrigado. Proposta Desenvolver um jogo em linguagem de programação C no estilo aplicação em console inspirado no jogo comercial Perfil. Neste jogo single player, o jogador receberá um conjunto de dicas sobre uma pessoa, uma coisa, um lugar ou um ano e acumulará pontos caso identifique de maneira correta sobre quem ou o quê as dicas se referem. Regras 1. O jogo é composto de QTDE_RODADAS rodadas. 2. A cada DURACAO_DICA segundos uma nova dica é informada até um total de QTDE_DICAS. 3. A cada nova dica informada, a pontuação da rodada é diminuída por PENALIDADE_DICA. 4. Cada rodada dura no máximo DURACAO_RODADA segundos e, caso seja atingida, a pontuação recebida pelo jogador será zero. 5. A cada entrada errada do jogador, uma nova dica é informada e o tempo daquela dica é aumentado como se tivesse passado DURACAO_DICA segundos 6. Ao término das QTDE_RODADAS rodadas o jogador receberá a pontuação total e quanto tempo levou para completar as rodadas. Requisitos mínimos do jogo A. Ter o perfil de 5 pessoas, 5 coisas, 5 lugares e 5 anos. B. Exibir ao término do jogo o ranking dos 10 jogadores com maior pontuação, em ordem decrescente de pontuação. C. Conter menu com pelo menos as opções: novo jogo, exibir explicação do jogo, exibir ranking e sair do jogo. Avaliação I. Prazo para entrega do código fonte compilável (e arquivos texto caso utilizados) e da apresentação em vídeo: 21/05/2021 às 23h59. II. Forma de envio do código fonte: arquivo único do tipo “.c” através da tarefa Trabalho final. III. Forma de envio de arquivos texto: todos em um único arquivo do tipo “.zip”. IV. Forma de envio da apresentação em vídeo: link para o vídeo (não listado ou público) no YouTube através da tarefa Trabalho final. V. Formato da apresentação em vídeo: vídeo de duração total de 5 minutos contendo uma apresentação mostrando o rosto do aluno informando com a própria voz o título do jogo e o nome completo do aluno; explicação breve sobre o jogo e sua implementação; e demonstração do funcionamento do jogo. Sugestões i. Armazenar o ranking dos jogadores em um arquivo texto. ii. Cada perfil armazenado internamente em uma struct e externamente em um arquivo texto exclusivo

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