Ir ao conteúdo
  • Cadastre-se

Matheus Marcelino Santos

Membro Júnior
  • Posts

    4
  • Cadastrado em

  • Última visita

Reputação

5
  1. @arfnetoMn valeu pelas dicas, vou ver de por em prática. Na verdade vou ter que ler mais vezes pra "pegar" tudo. De fato os comentários são desnecessários, acho que não tinha um critério definido e fui fazendo comentario que nem loco haushaus, os acentos na variável é algo que eu não sabia mesmo, seu comentario foi muito top pra mim, obrigado mesmo. Na verdade eu comecei a aprender C há 1 semana, e eu fiz esse projeto sem saber de fato. Eu tinha a ideia, então fui programando com o básico do básico do básico que eu sabia e procurando na internet os comandos para fazer o que eu queria. Por ex: "como fazer pra esconder o mouse", "como fazer pra criar uma função", "como fazer pra criar um arquivo.txt". Ai eu estudava aquilo e tentava aplicar. Sobre o projeto: não consegui fazer como queria, mas fiz, está no meu github. Não consegui fazer o codigo para salvar. bem, acho que a partir de agora vou tentar fazer projetos com o que eu estudar (estudo em um curso do youtube), ou seja, com o que eu aprender nos videos e seguindo suas dicas.
  2. Eu tenho algumas dúvidas sobre string/array de caracteres em C 1- String e array de caracteres são a mesma coisa? fiquei com essa dúvida pois aprendi que char string[]; é uma string, e no site stack overflow uma pessoa disse: "Um array de caracteres ("vetor de char") não é conhecido por "string". É um array de caracteres... 2-Quando a string não tem o "\0" (que indica para a string parar a sequencia de caracteres) e eu imprimo o valor dela, aparece um lixo na tela, esse lixo vem da onde? (curiosidade: brincando um pouco com meus códigos, eu descobri um bagulho muito legal: eu consido adicionar o \0 na hora q to atribuindo a string, ex: char nome[] = "Math\0eus"; se eu tentar imprimir na tela só vai aparecer o "Math", achei isso muito dhr, apesar de não ver funcionalidades, melhor deixar pro computador adicionar esse \0 mesmo né kkk) bom é isso....
  3. Eu to tentando fazer esse projeto ai faz umas horas e ta dando um erro que aponta pra constante DOIS e diz: label at end of compound statement. Aparece só no meu codigo acima, o codigo hello, world por exemplo não aparece esse erro, pesquisando achei uns comentarios gringos dizendo que é alarme falso, mas não consegui entende-los muito bem, se eu apagar a Constante DOIS o erro continua. /* Objetivo: Programar o clássico Pedra, Papel, Tesoura. Manipular arquivos de texto para salvar quantas vezes o jogador ganhou. Menu interativo Datas:inicio 01/01/2024 às 01:55hrs. | Fim 01/01/2024 às 09:22 Do inicio ao fim programando, quebrando a cabeça e aprendendo... Volto depois para terminar de vez esse projeto. By Matheus Marcelino. */ //Arquivos-cabeçalhos: #include <stdio.h> #include <stdlib.h> #include <time.h> #include <locale.h> #include <conio.h> /* valor da tecla 1 -> 49 valor da tecla 2 -> 50 valor da tecla 3 -> 51 valor da tecla ESC -> 27 */ #define UM 49 #define DOIS 50 #define TRES 51 #define ESC 27 //Função para imprimir um menu de opções: void menu(){ printf("\t\tPEDRA PAPEL TESOURA"); printf("\n\t\t\tby Matheus Marcelino"); printf("\n\t__________________________________________"); printf("\n\n\t[1] - Jogar"); printf("\n\t[2] - Conquistas"); printf("\n\t[ESC] - Sair"); printf("\n\t__________________________________________"); printf("\n\n\tPressione a tecla referente a opção desejada."); } //Função para ler as opções do menu: int lerOpc(int op){ do{ //Variável: op = getch(); //switch para ler as opções com getch; switch(op){ case UM: return (op); break; case DOIS: return (op); break; } }while(op != ESC); return 0; } int main(void){ FILE *file; //Essencial para salvar dados. file = fopen("Dados.txt", "w"); setlocale(LC_ALL, ""); //Função para exibir caracteres. //Variaveis e função do jogo: srand(time(NULL)); //semente da função rand. int maquina = rand() % 3; //responsável pela vez da máquina. int jogador = 0; //responsável pela vez do jogador. int ganhou = 0;//variavel vai contar qnts vezes ganhou na partida e dps salvar em um arquivo.txt int opcao = 0; int playAgain = 0; //Chamada de Funções: menu(); opcao = lerOpc(opcao); //declarei uma variável para armazenar o valor retornado da função lerOpc. //Parte final do código, com os algoritmos para jogar o jogo ou para ver as conquistas: switch(opcao){ case UM: //Ou seja, usuário escolheu a opção JOGAR: do{ system("cls"); //não usei clrscr() porque da erro no CodeBlocks: undefined reference to 'clrscr' printf("\t\tPEDRA PAPEL TESOURA"); printf("\n\t\t\tby Matheus Marcelino"); printf("\n\t__________________________________________"); printf("\n\n\t[1] - Pedra"); printf("\n\t[2] - Papel"); printf("\n\t[3] - Tesoura"); printf("\n\t__________________________________________"); printf("\n\n\tVocê jogará com um computador.\n"); jogador = getch(); //lê a vez do jogador. switch(maquina){ //switch para mostrar a decisão da máquina. case 0: printf("\n\t computador: Pedra."); break; case 1: printf("\n\t computador: Papel."); break; case 2: printf("\n\t computador: Tesoura."); break; } switch(jogador){ //Switch de decidir se jogador ganhou, perdeu ou empatou. case UM://jogador escolheu pedra if(maquina == 0){ printf("\n\t Empate!"); }else if(maquina == 1){ printf("\n\t Derrota!"); }else if(maquina == 2){ printf("\n\t Vitória!"); ++ganhou; } break; case DOIS://jogador escolheu papel if(maquina == 0){ printf("\n\t Vitória!"); ++ganhou; }else if(maquina == 1){ printf("\n\t Empate!"); }else if(maquina == 2){ printf("\n\t Derrota!"); } break; case TRES://jogador escolheu tesoura if(maquina == 0){ printf("\n\t Derrota!"); }else if(maquina == 1){ printf("\n\t Vitória!"); ++ganhou; }else if(maquina == 2){ printf("\n\t Empate!"); } break; } file = fopen("Dados.txt", "r"); if(file == NULL) return 1; //não abriu arquivo. maquina = rand() % 3;//para não repetir a vez da maquina varias vezes printf("\n\n\t Pressione 1 para Jogar Novamente."); printf("\n\t__________________________________________"); playAgain = getch(); }while(playAgain == UM); break; case DOIS: //Ou seja, usuário escolheu a opção CONQUISTAS: } }

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

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!