boa tarde, alguem me pode dizer o erro deste código? Ou se falta acrescentar alguma coisa para correr no visual studio 2015?
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
#include <string.h>
//funçao para gerar golos em futebol americano e basquetebol visto que as pontuaçoes sao superiores as do futebol
int Golo() {
int x = rand() % 100;//gera um numero de o a 100
return x;
}
//funçao que calcula o ganho monetario
float Ganho(float a, float b) {//a=cota para o resultado b=aposta
int ganho = a*b;//multiplica a cota pela a posta
return ganho;
}
//funçao para gerar resultados de futebol
int Golos() {
int x = rand() % 10;//gera um numero entre o 0 e 10
return x;
}
//função para gerar cotas
float Cotas() {
int x;
x = rand() % 100;//gera um numerp entre 0 e 100
x = x / 10;//divide esse numero por 11 para criar um numero mais peque e com casas decimais
x = x + 1;//soma um pois o minimo de cota é 1.00
return x;
}
//função que serve para mostrar a lista de jogos
char Mostra(char url[]) {
char ch;//determina que é um arquivo par escrever
FILE *arq;//identifica o arquivo(arq) como file em uso
arq = fopen(url, "r");//abre o arquivo apenas em modo de leitura("r")
while ((ch = fgetc(arq)) != EOF)//enquanto houver caracteres continua a leitura dos mesmos
putchar(ch);//coloca os caracterees na consola
fclose(arq);//fecha o arquivo
}
int Pontos() {
int x = rand() % 2;//gera um numero de o a 100
return x;
}
int Ponto() {
int x = rand() % 2;//gera um numero de o a 100
return x;
}
int main(int argc, char *argv[]) {
int opcao;
float carregado = 0;//pois o saldo inicial é zero
float aposta;
while (opcao != 5) {
printf("Selecione a sua opcao\n1-Ver/Carregar saldo\n2-Jogar\n3-Listar os jogos dispiniveis\n4-Gravar\n5-Sair\n");
scanf("%i", &opcao);//recebe a opcao
if (opcao == 1) {//o utilizador pode ver e carrega o saldo
int opcao2;
printf("O seu saldo: %.3f euros\nDeseja carregar?\n1(sim) 2(nao)\n", carregado);
scanf("%i", &opcao2);//recebe se pertender carregar
if (opcao2 == 1) {//caso pertenda carregar
float a;
printf("Com quanto deseja carregar?\n");
scanf("%f", &a);//recebe a quantia
carregado = carregado + a;//atualiza saldo
printf("\n");
}
else//caso nao pertenda carregar
{
printf("Nao pode jogar\n\n");
}
}
if (opcao == 2) {//o utlizador faz apostas
int modalidade;
printf("Qual a modalidade em que pertende apostar?\n1-Tenis\n2-Futebol\n3-Basquetebol\n");
scanf("%i", &modalidade);
if (modalidade == 1) {//o utilizador escolhe Tenis como modalidade
int jogo;
float a = Cotas();//cota vitoria visitada
float c = Cotas();//cota vitoria visitante
Mostra("TENIS.txt");//metodo que escreve os jogos disponiveis
printf("\n");
printf("Em que jogo deseja apostar?\n");
scanf("%i", &jogo);//recebe a indicaçao do jogo
printf("----------COTAS---------\n");
printf("CASA %.3f %.3f FORA\n", a, c);//apresenta as cotas
printf("Quanto pertende apostar?\n");
scanf("%f", &aposta);//recebe a aposta
if (aposta <= carregado) {//caso possua o dinheiro que pertende apostar
int e;
printf("Em que resultado?\n1(Vitoria Visitado) 2(Vitoria Visitante)\n");
scanf("%i", &e);//recebe o prognostico
int w = Pontos();//gera pontos visitado
int z = Ponto();//gera pontos visitante
if (w>z&&e == 1) {//caso escolha vitoria do visitado
printf("Resultado\nCASA %.1i VS %.1i FORA\n", w, z);
float x = Ganho(a, aposta);//funçao dos ganhos
carregado = carregado + x;//atualiza o slado
printf("O seu saldo atual e: %.3f euros", carregado);//mostra o saldo atualizado
}
if (w<z&&e == 2) {//casoescolha vitoria de visitante
printf("Resultado\nCASA %.1i VS %.1i FORA\n", w, z);
float x = Ganho(c, aposta);//funçao dos ganhos
carregado = carregado + (x - aposta);//atualiza o slado
printf("O seu saldo atual e: %.3f euros", carregado);//mostra o saldo atualizado
}
if (w == z) {//Como no tenis não há empates
w = 2;
z = 1;
printf("Resultado\nCASA %.1i VS %.1i FORA\n", w, z);
if (e == 1) {
float x = Ganho(a, aposta);//funçao dos ganhos
carregado = carregado + (x - aposta);//atualiza o slado
printf("O seu saldo atual e: %.3f euros", carregado);//mostra o saldo atualizado
}
if (e == 2) {
float x = Ganho(a, aposta);//funçao dos ganhos
carregado = carregado - aposta;//atualiza o slado
printf("O seu saldo atual e: %.3f euros", carregado);//mostra o saldo atualizado
}
}
else {
printf("Perdeu o que apostou\n");
carregado = carregado - aposta;//atualiza o saldo
printf("O seu saldo e : %.3f euros", carregado);//mostra o saldo atualizado
}
}
if (aposta>carregado)
{
printf("Nao possui essa quantida\n");
}
}
if (modalidade == 2) {//o utilizador escolhe Futebol como modalidade
int jogo;
float a = Cotas();//cota vitoria visitado
float b = Cotas();//cota empate
float c = Cotas();//cota vitoria visitante
Mostra("FUTEBOL.txt");//metodo que escreve os jogos disponiveis
printf("Em que jogo deseja apostar?\n");
scanf("%i", &jogo);//recebe a indicaçao do jogo
printf("----------COTAS---------\n");
printf("CASA %.3f %.3f %.3f FORA\n", a, b, c);//apresenta as cotas
printf("Quanto pertende apostar?\n");
scanf("%f", &aposta);//recebe a aposta
if (aposta <= carregado) {//caso possua o dinheiro que pertende apostar
int e;
printf("Em que resultado?\n1(Vitoria Visitado) 2(Empate) 3(Vitoria Visitante)");
scanf("%i", &e);//recebe o prognostico
int w = Golos();//gera golos visitado
int z = Golos();//gera golos visitante
printf("Resultado\nCASA %.1i VS %.i FORA\n", w, z);
if (w == z&&e == 2) {//caso escolha empate
float x = Ganho(b, aposta);//funçao dos ganhos
carregado = carregado + (x - aposta);//atualiza o saldo
printf("O seu saldo atual e: %.3f euros", carregado);//mostra o slado atualizado
}
if (w>z&&e == 1) {//caso escolha vitoria do visitado
float x = Ganho(a, aposta);//funçao dos ganhos
carregado = carregado + x;//atualiza o saldo
printf("O seu saldo atual e: %.3f euros", carregado);//mostra o saldo atualizado
}
if (w<z&&e == 3) {//casoescolha vitoria de visitante
float x = Ganho(c, aposta);//funçao dos ganhos
carregado = carregado + x;//atualiza o saldo
printf("O seu saldo atual e: %.3f euros", carregado);//mostra o saldo atualizado
}
else
{
printf("Perdeu o que apostou\n");
carregado = carregado - aposta;//atualiza o saldo
printf("O seu saldo e : %.3f euros", carregado);//mostra o saldo atualizado
}
}
if (aposta>carregado)
{
printf("Nao possui essa quantida\n");
}
}
if (modalidade == 3) {//o utilizador escolhe Basquetebol como modalidade
int jogo;
float a = Cotas();//cota vitoria visitado
float b = Cotas();//cota empate
float c = Cotas();//cota vitoria visitante
Mostra("BASQUETEBOL.txt");//metodo que escreve os jogos disponiveis
printf("Em que jogo deseja apostar?\n");
scanf("%i", &jogo);//recebe a indicaçao do jogo
printf("----------COTAS---------\n");
printf("CASA %.3f %.3f %.3f FORA\n", a, b, c);//apresenta as cotas
printf("Quanto pertende apostar?\n");
scanf("%f", &aposta);//recebe a aposta
if (aposta <= carregado) {//caso possua o dinheiro que pertende apostar
int e;
printf("Em que resultado?\n1(Vitoria Visitado) 2(Empate) 3(Vitoria Visitante)");
scanf("%i", &e);//recebe o prognostico
int w = Golos();//gera golos visitado
int z = Golos();//gera golos visitante
printf("Resultado\nCASA %.1i VS %.i FORA\n", w, z);
if (w == z&&e == 2) {//caso escolha empate
float x = Ganho(b, aposta);//funçao dos ganhos
carregado = carregado + x;//atualiza o saldo
printf("O seu saldo atual e: %.3f euros", carregado);//mostra o saldo atualizado
}
if (w>z&&e == 1) {//caso escolha vitoria do visitado
float x = Ganho(a, aposta);//funçao dos ganhos
carregado = carregado + x;//atualiza o saldo
printf("O seu saldo atual e: %.3f euros", carregado);//mostra o salod atualizado
}
if (w<z&&e == 3) {//casoescolha vitoria de visitante
float x = Ganho(c, aposta);//funçao dos ganhos
carregado = carregado + x;//atualiza o saldo
printf("O seu saldo atual e: %.3f euros", carregado);//mostra o saldo atualizado
}
else
{
printf("Perdeu o que apostou\n");
carregado = carregado - aposta;//atualiza o saldo
printf("O seu saldo e : %.3f euros", carregado);//mostra o saldo atualizado
}
}
if (aposta>carregado)
{
printf("Nao possui essa quantida\n");
}
}
}
if (opcao == 3) {//lidar os jogos disponiveis
printf("O jogos disponiveis sao:\n");
Mostra("MODALIDADES.txt");//usa a funçao que permite mostrar o ficheiro com os jogos
}
if (opcao == 4) {//grava num ficheiro .txt de nome Resultadoos todos os resultados do jogos
srand(time(NULL));
char url[] = ("Resultadoos.txt");
FILE*arq;
arq = fopen(url, "w");
fprintf(arq, "Resultados de Tenis\n\n");
//escreve num ficheiro todos os jogos de Tenis
fprintf(arq, "Resultado\nJOGO 1 CASA %.1i VS %.1i FORA\n", 2, 1);
fprintf(arq, "Resultado\nJOGO 2 CASA %.1i VS %.1i FORA\n", 0, 2);
fprintf(arq, "Resultado\nJOGO 3 CASA %.1i VS %.1i FORA\n", 1, 2);
fprintf(arq, "Resultado\nJOGO 4 CASA %.1i VS %.1i FORA\n", 2, 0);
fprintf(arq, "Resultado\nJOGO 5 CASA %.1i VS %.1i FORA\n", 2, 1);
fprintf(arq, "Resultados de Futebol\n\n");
int j;
for (j = 1; j<31; j++) {//escreve num ficheiro todos os jogos de futebol
int w = Golos();
int z = Golos();
fprintf(arq, "JOGO %i CASA %.1i VS %.1i FORA\n", j, w, z);
}
fprintf(arq, "Resultados da NBA\n\n");
int h;
for (h = 1; h<11; h++) {//escreve num ficheiro todos os resultados de Basquetebol
fprintf(arq, "JOGO %.i CASA %.1i VS %.1i FORA\n", h, Golo(), Golo());
}
}
}
return 0;
}
↧