Ir ao conteúdo
  • Cadastre-se

Gabi_gabis

Membro Júnior
  • Posts

    10
  • Cadastrado em

  • Última visita

Tudo que Gabi_gabis postou

  1. Meu código esta dando esse erro aqui depois do return 0: main.c:108:1: error: expected declaration or statement at end of input o que pode ser? #include <stdio.h> #include <stdbool.h> int main() { char tabuleiro[3][3] = {{' ', ' ', ' '}, {' ', ' ', ' '}, {' ', ' ', ' '}}; int l, c, i; printf("\33[H\33[2J"); // limpa tela printf(" M I N I J O G O D A V E L H A\n\n"); printf(" 0 1 2\n"); printf("0 %c | %c | %c\n", tabuleiro[0][0], tabuleiro[0][1], tabuleiro[0][2]); printf(" ---+---+---\n"); printf("1 %c | %c | %c\n", tabuleiro[1][0], tabuleiro[1][1], tabuleiro[1][2]); printf(" ---+---+---\n"); printf("2 %c | %c | %c\n", tabuleiro[2][0], tabuleiro[2][1], tabuleiro[2][2]); int cont=0; while(true) { // Jogada do 'X' do { printf("\n\nJogador X -> digite sua jogada, linha (0-2) e coluna (0-2): "); scanf("%d%d", &l, &c); } while(l<0 || l>2 || c<0 || c>2 || tabuleiro[l][c]!=' '); tabuleiro[l][c] = 'X'; printf("\33[H\33[2J"); // limpa tela printf(" M I N I J O G O D A V E L H A\n\n"); printf(" 0 1 2\n"); printf("0 %c | %c | %c\n", tabuleiro[0][0], tabuleiro[0][1], tabuleiro[0][2]); printf(" ---+---+---\n"); printf("1 %c | %c | %c\n", tabuleiro[1][0], tabuleiro[1][1], tabuleiro[1][2]); printf(" ---+---+---\n"); printf("2 %c | %c | %c\n", tabuleiro[2][0], tabuleiro[2][1], tabuleiro[2][2]); cont++; // Testar se alguém ganhou ou se houve empate if( (tabuleiro[0][0]!=' ' && tabuleiro[0][0] == tabuleiro[1][1] && tabuleiro[1][1] == tabuleiro[2][2]) || (tabuleiro[0][0]!=' ' && tabuleiro[0][0] == tabuleiro[0][1] && tabuleiro[0][1] == tabuleiro[0][2]) || (tabuleiro[1][0]!=' ' && tabuleiro[1][0] == tabuleiro[1][1] && tabuleiro[1][1] == tabuleiro[1][2]) || (tabuleiro[2][0]!=' ' && tabuleiro[2][0] == tabuleiro[2][1] && tabuleiro[2][1] == tabuleiro[2][2]) || (tabuleiro[0][0]!=' ' && tabuleiro[0][0] == tabuleiro[1][0] && tabuleiro[1][0] == tabuleiro[2][0]) || (tabuleiro[0][1]!=' ' && tabuleiro[0][1] == tabuleiro[1][1] && tabuleiro[1][1] == tabuleiro[2][1]) || (tabuleiro[0][2]!=' ' && tabuleiro[0][2] == tabuleiro[1][2] && tabuleiro[1][2] == tabuleiro[2][2]) || (tabuleiro[2][0]!=' ' && tabuleiro[1][1] == tabuleiro[2][0] && tabuleiro[0][2] == tabuleiro[2][0])) { printf("Você Venceu"); break; } if(cont=9) { printf("Empate"); break; } // Jogada do 'O' do { printf("\n\nJogador O -> digite sua jogada, linha (0-2) e coluna (0-2): "); scanf("%d%d", &l, &c); } while(l<0 || l>2 || c<0 || c>2 || tabuleiro[l][c]!=' '); tabuleiro[l][c] = 'O'; printf("\33[H\33[2J"); // limpa tela printf(" M I N I J O G O D A V E L H A\n\n"); printf(" 0 1 2\n"); printf("0 %c | %c | %c\n", tabuleiro[0][0], tabuleiro[0][1], tabuleiro[0][2]); printf(" ---+---+---\n"); printf("1 %c | %c | %c\n", tabuleiro[1][0], tabuleiro[1][1], tabuleiro[1][2]); printf(" ---+---+---\n"); printf("2 %c | %c | %c\n", tabuleiro[2][0], tabuleiro[2][1], tabuleiro[2][2]); cont++; // Testar se alguém ganhou ou se houve empate if( (tabuleiro[0][0]!='.' && tabuleiro[0][0] == tabuleiro[1][1] && tabuleiro[1][1] == tabuleiro[2][2]) || (tabuleiro[0][0]!='.' && tabuleiro[0][0] == tabuleiro[0][1] && tabuleiro[0][1] == tabuleiro[0][2]) || (tabuleiro[1][0]!='.' && tabuleiro[1][0] == tabuleiro[1][1] && tabuleiro[1][1] == tabuleiro[1][2]) || (tabuleiro[2][0]!='.' && tabuleiro[2][0] == tabuleiro[2][1] && tabuleiro[2][1] == tabuleiro[2][2]) || (tabuleiro[0][0]!='.' && tabuleiro[0][0] == tabuleiro[1][0] && tabuleiro[1][0] == tabuleiro[2][0]) || (tabuleiro[0][1]!='.' && tabuleiro[0][1] == tabuleiro[1][1] && tabuleiro[1][1] == tabuleiro[2][1]) || (tabuleiro[0][2]!='.' && tabuleiro[0][2] == tabuleiro[1][2] && tabuleiro[1][2] == tabuleiro[2][2]) || (tabuleiro[2][0]!='.' && tabuleiro[1][1] == tabuleiro[2][0] && tabuleiro[0][2] == tabuleiro[2][0])) { printf("Você Venceu"); break; } if(cont=9) { printf("Empate"); break; } // Loop do jogo return 0; }
  2. @devair1010 Sim é isso eu tenho que alterar/acrescentar algo essa parte do código que está faltando eu só não sei o que fazer if(matHumano[i][j] == AGUA) { matHumano[i][j] = TIRONAGUA; printf("O computador atirou na água...\n"); estrategia = false; // pense um pouco.............
  3. @devair1010 Então um exemplo como é um jogo de batalha naval, vamos imaginar que o jogador (que é computador no caso) começa atingir o barco no meio ele vai seguir indo pra direita, só que quando ele chega naquele limite do barco ele vai atirar na agua sendo que o certo seria ele voltar pra esquerda pra atingir o resto do barco.
  4. Pessoal nesse código aqui sobre o jogo Batalha Naval na parte do IF que está comentado na linha 141 //Pense um pouco ....... Eu preciso fazer com que o comando volte pra a esquerdo porque até então só vai pra direita e não volta, No caso não tem nada codificado nessa parte eu preciso fazer, alguém consegue me ajudar ? //código base 6 #include <stdio.h> #include<time.h> #include<stdlib.h> #include<stdbool.h> #define AGUA 0 #define NAVIO 1 #define TIRONAGUA 10 #define TIRONAVIO 11 int main() { int i, j, cont; bool estrategia = false; int iAnterior, jAnterior, partesNavioDerrubadas; //inicializa a semeste aleatória com o relógio da máquina srand(time(NULL)); int matComputador[10][10], matHumano[10][10]; // Inicializando as matrizes com zeros (ÁGUA) for(i=0; i<10; i++) for(j=0; j<10; j++) { matComputador[i][j] = AGUA; matHumano[i][j] = AGUA; } //Sorteio das posições dos 6 navios for(cont=0; cont<6; cont++) { do{ i = rand()%10; //linha vai de 0 a 9 j = rand()%8; //coluna vai de 0 a 7 }while(matComputador[i][j]==NAVIO || matComputador[i][j+1]==NAVIO || matComputador[i][j+2]==NAVIO); matComputador[i][j] = NAVIO; matComputador[i][j+1] = NAVIO; //coluna seguinte matComputador[i][j+2] = NAVIO; //coluna seguinte da seguinte } //entrada das coordenadas dos navios do Humano printf("Entre com as coordenadas de seus 6 navios (linha entre 0 e 9, coluna entre 0 e 7):\n"); for(cont=0; cont<6; cont++) { //Entrada das posições dos navios do Humano do{ printf("Navio %d: ", cont+1); scanf("%d%d", &i, &j); if(i<0 || i>9 || j<0 || j>7) printf("Erro na coordenada (fora dos limites)\n"); else if(matHumano[i][j]==NAVIO || matHumano[i][j+1]==NAVIO || matHumano[i][j+2]==NAVIO) printf("Erro na coordenada (sobreposição de navios)\n"); }while(i<0 || i>9 || j<0 || j>7 || matHumano[i][j]==NAVIO || matHumano[i][j+1]==NAVIO || matHumano[i][j+2]==NAVIO); matHumano[i][j] = NAVIO; matHumano[i][j+1] = NAVIO; //coluna seguinte matHumano[i][j+2] = NAVIO; //coluna seguinte da seguinte } //Imprimindo o tabuleiro do humano printf("Imprimindo o Tabuleiro do Humano:\n\n"); printf(" 0 1 2 3 4 5 6 7 8 9\n"); for(i=0; i<10; i++) { printf("%d |", i); for(j=0; j<10; j++) { if(matHumano[i][j]==AGUA) printf(" |"); else if(matHumano[i][j]==NAVIO) printf("N|"); else if(matHumano[i][j]==TIRONAGUA) printf("A|"); else if(matHumano[i][j]==TIRONAVIO) printf("X|"); } printf("\n"); } //O jogo pode começar de fato agora int pontosHumano = 0, pontosComputador = 0; printf("E começa o jogo....\n\n"); //enquanto ninguém fez 18 pontos.... while(pontosHumano<18 && pontosComputador<18) { //leio jogada do Humano bool coordenadaJaDigitada; do{ coordenadaJaDigitada = false; printf("Entre com as coordenadas de um tiro (linha e coluna entre 0 e 9):\n"); do{ scanf("%d%d", &i, &j); if(i<0 || i>9 || j<0 || j>9) printf("Erro na coordenada (fora dos limites)\n"); }while(i<0 || i>9 || j<0 || j>9); //atualizo o tabuleiro do Computador e o placar do Humano if(matComputador[i][j] == AGUA) { matComputador[i][j] = TIRONAGUA; printf("Esse foi um tiro na água...\n"); } else if(matComputador[i][j] == NAVIO) { matComputador[i][j] = TIRONAVIO; printf("Acertou!!!...\n"); pontosHumano++; } else { printf("Você já atirou aqui... Preste mais atenção!!!\n"); coordenadaJaDigitada = true; } }while(coordenadaJaDigitada); if(estrategia == false) //jogada aleatória { //gero a jogada aleatória do Computador (sem estratégia) printf("\nAgora é a vez do computador....\n"); do{ coordenadaJaDigitada = false; i = rand()%10; //linha vai de 0 a 9 j = rand()%10; //coluna vai de 0 a 9 //atualizo o tabuleiro do Humano e o placar do Computador if(matHumano[i][j] == AGUA) { matHumano[i][j] = TIRONAGUA; printf("O computador atirou na água...\n"); } else if(matHumano[i][j] == NAVIO) { matHumano[i][j] = TIRONAVIO; printf("O computador acertou!!!...\n"); pontosComputador++; iAnterior = i; jAnterior = j; estrategia = true; partesNavioDerrubadas = 1; } else { //computador já atirou aqui... coordenadaJaDigitada = true; } }while(coordenadaJaDigitada); } else //jogada com estratégia { do{ coordenadaJaDigitada = false; i = iAnterior; j = jAnterior + 1; //atualizo o tabuleiro do Humano e o placar do Computador if(matHumano[i][j] == AGUA) { matHumano[i][j] = TIRONAGUA; printf("O computador atirou na água...\n"); estrategia = false; // pense um pouco............. } else if(matHumano[i][j] == NAVIO) { matHumano[i][j] = TIRONAVIO; printf("O computador acertou!!!...\n"); pontosComputador++; iAnterior = i; jAnterior = j; partesNavioDerrubadas++; if(partesNavioDerrubadas == 3) //atingi 3 partes, volto para o aleatório estrategia = false; } else { //computador já atirou aqui... coordenadaJaDigitada = true; jAnterior = jAnterior - 3; } }while(coordenadaJaDigitada); } //mostro os tabuleiros atualizados //Imprimindo o tabuleiro do computador printf("Imprimindo o Tabuleiro do Computador:\n\n"); printf(" 0 1 2 3 4 5 6 7 8 9\n"); for(i=0; i<10; i++) { printf("%d |", i); for(j=0; j<10; j++) { if(matComputador[i][j]==AGUA) printf(" |"); else if(matComputador[i][j]==NAVIO) printf(" |"); else if(matComputador[i][j]==TIRONAGUA) printf("A|"); else if(matComputador[i][j]==TIRONAVIO) printf("X|"); } printf("\n"); } //Imprimindo o tabuleiro do humano printf("Imprimindo o Tabuleiro do Humano:\n\n"); printf(" 0 1 2 3 4 5 6 7 8 9\n"); for(i=0; i<10; i++) { printf("%d |", i); for(j=0; j<10; j++) { if(matHumano[i][j]==AGUA) printf(" |"); else if(matHumano[i][j]==NAVIO) printf("N|"); else if(matHumano[i][j]==TIRONAGUA) printf("A|"); else if(matHumano[i][j]==TIRONAVIO) printf("X|"); } printf("\n"); } //mostro o placar atualizado printf("PLACAR:\n\n"); printf("HUMANO\tCOMPUTADOR\n"); printf("%5d\t%5d\n\n", pontosHumano, pontosComputador); } //mostro o vencedor if(pontosComputador == 18) printf("Você perdeu para o Computador!! Patinho!\n"); else printf("Você ganhou! Parabéns!!\n"); return 0; }
  5. Alguém sabe o porque está dando esse erro no código? #include<stdio.h> #include<string.h> #include<ctype.h> int main(){ int i; char num[10]; printf("Digite Algo: "); scanf("%s", num); for(i = 0; i<1; i++){ if(!isalpha(num[i])) { printf("É numérico\n"); } else { printf("Não é numerico: %c"); } } return 0; }
  6. Olá eu estou fazendo esse exercício 1) Leia uma string e diga se a mesma é numérica (na base decimal) ou não. Ex.: "123" -> numérica "abc" -> não numérica "12ab" -> não numérica "12.34" -> numérica consegui chegar nos resultados, mas quando coloco 12ab ele lê como numérica alguém sabe o que eu posso fazer? int main() { char Numero; printf("Digite Algo: "); scanf("%c", &Numero); if(Numero == '1' || Numero == '2' || Numero == '3' || Numero == '4' || Numero == '5' || Numero == '6' || Numero == '7' || Numero == '8' || Numero== '9' || Numero == '0') printf("\tNumérica...\n"); else printf("\tNão Numérica\n"); return 0; }
  7. @codigo rápido Eu comecei aqui, esta incompleto, não sei se esse modo esta certo #include <stdio.h> int main() { float frente, esquerda, direita, tras printf("Entre com o valor a: "); scanf("%f", &frente); printf("Entre com o valor b: "); scanf("%f", &esquerda); printf("Entre com o valor c: "); scanf("%f", &direita); if(a>50); printf("frente") if(b<50); printf("direita") if(c>50); printf("esquerda") return 0; }
  8. Oi boa noite alguém pode me ajudar com esse exercício, eu comecei a fazer dando só a definição de esquerda, direita, frente e trás depois eu me perdi não sei o que fazer se alguém puder me ajudar ,no que eu devo fazer, me dar uma luz pfv :' desde já deixo meu obrigada. Você foi convidado para a oficina de robótica e terá de implementar um algoritmo para decidir o movimento de um carro automático. Ele tem 3 sensores que medem distância a obstáculos: um na frente, um à esquerda e outro à direita (aqui na questão você simulará a leitura dos sensores usando 3 comandos scanf). Os comandos que você pode dar aos motores do carro são “frente”, “esquerda”, “direita” e “trás (ré)” (aqui na questão você simulará os comandos para os motores através de printfs apenas). Implemente um programa em C que simule a seguinte lógica: o carro anda para frente caso o sensor da frente indique obstáculo a mais de 50 cm; caso contrário, o sensor da direita é examinado: o carro vira à direita caso o sensor da direita indique obstáculo a mais de 50 cm; caso contrário, o sensor da esquerda é examinado: o carro vira à esquerda caso o sensor da esquerda indique obstáculo a mais de 50 cm; caso contrário,o carro andará para trás (marcha à ré), nesta situação em que todos os sensores indicam obstáculos próximos (<= 50 cm).
  9. Então quando ele lê o código na tela mostra esse resultado menor = 6.00.n3 menor = 7.00.n3 e eu queria tirar isso
  10. #include <stdio.h> int main() { float n1, n2, n3, menor, maior, notafinal; printf("n1: "); scanf("%f", &n1); printf("n2: "); scanf("%f",&n2); printf("n3: "); scanf("%f", &n3); menor = n1; maior = n1; if(n2 > maior) { maior = n2; } else if (n2 < menor) { menor = n2; } { printf("menor = %f.n3" , n2); } if(n3 > maior) { maior = n3; } else if (n3 < menor) { menor = n3; } printf("menor = %f.n3 " , n3); notafinal = (maior + menor) / 2; printf ("notafinal = %f.notafinal" , notafinal); return 0; } Olá gente alguém consegue me ajudar com esse código ? Sou iniciante e esta dando erro Uma escola usa o seguinte critério de notas em seus cursos: os alunos fazem três avaliações e a nota final é sempre calculada assim: faço a média aritmética entre a menor e a maior das notas. Crie um programa que leia 3 números reais, como sendo as notas de um aluno, as quais podem ser digitadas em qualquer ordem, e imprima a nota final, de acordo com o critério da escola. Exemplos: 2, 3, 8 → Nota Final = (2 + / 2 = 5.0 8, 9, 7 → Nota Final = (7 + 9) / 2 = 8.0 7, 6, 2 → Nota Final = (2 + 7) / 2 = 4.5 9, 0, 4 → Nota Final = (0 + 9) / 2 = 6.5

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!