Ir ao conteúdo
  • Cadastre-se

C Erro de execução no programinha em C


Posts recomendados

Fiz esse pequeno jogo proposto por meu professor e precisei utiliza função no mesmo nele. Ao aplicar duas funções, estou com um erro de execução, apontando erro no "int main () {"

 

SEGUE O CODIGO

=============================

 

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int placar (int vidaJogador, int vidagoleiro, int mov, int danojogaor, int danogoleiro, int autochutejogador) {
	int resultado;
	resultado = vidaJogador >0 && vidagoleiro >0;
	return 1;
}

int main () {
	int vidaJogador = 100, vidagoleiro=100,mov,danoJogador,danogoleiro,autochuteJogador;
	
	while(vidaJogador >0 && vidagoleiro >0) {
		srand(time(NULL));
		printf("----------------------VIDA------------------------\n");
		printf(":: JOGADOR: %i GOLEIRO: %i ::\n",vidaJogador,vidagoleiro);
		printf("--------------------------------------------------\n");
		printf("1-hyper-chute (Acerto: 100 porcento, Dano: 1-10 )\n");
		printf("2-Chute cruzado (Acerto: 60 porcento, Dano: 1-5 )\n");
		printf("3-Chute no meio (Acerto: 90 porcento, Dano: 1-2 )\n");
		printf("4-Chute rasteiro (Acerto: 50 porcento, Dano: -20-20)\n");
		scanf("%i",&mov);
	}
}

int jogo ( int vidaJogador, int vidagoleiro, int mov, int danojogador, int danogoleiro, int autochutejogador) {
	int resultado;
	resultado = mov == 2;
	return 1;
}

int main () {
	int vidaJogador = 100, vidagoleiro=100,mov,danoJogador,danogoleiro,autochuteJogador;

	if(mov == 1) {
		danoJogador = 1+rand()%10;
		vidagoleiro = rand()%16;
		vidagoleiro = vidagoleiro - danoJogador;
		vidaJogador = vidaJogador - danogoleiro;
		printf("Jogador: acertou um hiperchute e puntuou %i nesta rodada \n",danoJogador);
		printf("Goleiro: Errou a defesa e puntuou %i nesta rodada \n",danogoleiro);
	}

	if(mov == 2) {
		danoJogador = 1+rand()%10;
		danogoleiro = rand()%16;

		if (danoJogador >=4) {
			danoJogador = 1 + rand()%5;
			danogoleiro = 0;
			printf("Jogador: acertou um chute cruzado e puntou %i nesta rodada\n",danoJogador);
			printf("Goleiro: errou a defesa pontou %i nesta rodada\n",danogoleiro);
		} else {
			danoJogador = 0;
			printf("Jogador: errou o chute\n");
			printf("Goleiro:Defesaaaaaaaaa e pontuou %i na rodada\n",danogoleiro);
		}

		vidagoleiro = vidagoleiro - danoJogador;
		vidaJogador = vidaJogador - danogoleiro;
	}

	if(mov == 3) {
		danoJogador = 1+rand()%10;
		danogoleiro = rand()%16;

		if(danoJogador <= 9) {
			danoJogador =1 + rand()%2;
			danogoleiro = 0;
			printf("Jogador: acertou um chute no meio e pontuou %i nesta rodada \n",danoJogador);
			printf("Goleiro:Fracassou e pontuou %i nesta rodada \n",danogoleiro);
		} else {
			danoJogador = 0;
			printf("Jogador: errou o chute\n");
			printf("Goleiro: Mega defesaaaa %i \n",danogoleiro);
		}

		vidagoleiro = vidagoleiro - danoJogador;
		vidaJogador = vidaJogador - danogoleiro;
	}

	if(mov == 4) {
		danoJogador = 1+rand()%10;
		danogoleiro = rand()%16;

		if(danoJogador>=5) {
			danoJogador = 1+rand()%20;
			danogoleiro = danogoleiro/2;
			printf("Jogador: certou um chute cruzado e pontuou %i na partida\n",danoJogador);
			printf("Goleiro: Errou a defesa e pontuou %i na partida \n",danogoleiro);
		} else {
			autochuteJogador = 1+rand()%20;
			danoJogador = 0;
			printf("Jogador: Acertou a trave e levou uma bolada, pontuou %i na partida\n", autochuteJogador);
			printf("Goleiro: pontuou %i nesta rodada\n",danogoleiro);
		}

		vidagoleiro = vidagoleiro - danoJogador;
		vidaJogador = vidaJogador - (danogoleiro+autochuteJogador);
	}

	if (mov<1 || mov>4) {
		printf("Movimento invalido, campo aliado!\n");
	}

	if(vidaJogador <=0) {
		printf("O JOGADOR QUEBROU A PERNA, PARTIDA ENCERRADA");
	}

	if(vidagoleiro <=0) {
		printf("O GOLEIRO SE CONTUNDIU, PARTIDA ENCERRADA");
	}

	return 0;
}

 

Link para o comentário
Compartilhar em outros sites

@DanielTenCaten Você só pode declarar a função main uma vez, depois disso você pode declarar qualquer função que não tenha o nome main nem que seja um identificador reservado da linguagem.

 

Exemplo de funções.

#include <stdio.h>

/* Declara as funções */
void primeiraFuncao(void)
{
    printf("\nPassou na primeira funcao!\n");
}

void segundaFuncao(void)
{
    printf("\nPassou na segunda funcao!\n");
}

void pressioneEnter(void)
{
    printf("\nPressione enter para continuar!");
    getchar();      /* Pausa o programa */
}

int main(void)
{
    /* Chama a primeira função */
    primeiraFuncao();
    /* Mostra a mensagem na tela */
    pressioneEnter();
    /* Chama a segunda função */
    segundaFuncao();
    /* Mostra a mensagem na tela */
    pressioneEnter();
    return(0);
}

 

recomendo você dar uma lida no livro C completo e total no capitulo de funções, e na pagina 91 sobre blocos de comando.

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!