Então, estou começando a estudar C++ e fiz um programa para adivinhar numeros com base na data atual (Google ajudou com o timer e gerar números randônicos). Eu estava querendo melhorar o programa e colocar umas firulas B) . Eu decidi criar um menu, um highscore (que não sei como salvar de outras partidas, mas não está em questão). O menu é constituido de vários itens e o programa não está totalmente finalizado - faltam alguns menus (não consegui, os erros me impediram).
Estou usando a IDE Dev C++.
Quando vou compilar recebo o erro:
85 C:\Dev-Cpp\Video-aulas\Adivinhar-Fodão.cpp expected `;' before "if"
90 C:\Dev-Cpp\Video-aulas\Adivinhar-Fodão.cpp expected `}' at end of input
Queria que me ajudassem a resolver esse erro e também a "salvar highscores" de outras "sessões" e exibir no programa. Também gostaria de fazer uma opção para quando por exemplo você estiver no menu Ajuda/Recordes poder voltar ao menu principal. Em Batch Script eu usava bastante o Goto, mas já vi diversas vezes que não é muito bom usar isso.
Porém, se puderem resolver meu erro já está bom. A estrutura não está muito boa porque não quis refazer o programa e só adicionei o menu em cima :rolleyes:
#include <iostream>
#include <ostream>
using namespace std;
int main(){
int opt;
int score;
int menu;
int nome;
int numero;
int x=0,y=55;
system("cls");
cout << "Jogo de Adivinhacao" << endl;
cout << "===================";
cout << "\nPor Fernando Paladini" << endl;
_sleep(2000);
system("cls");
cout << "Digite seu nome de usuario: ";
cin >> nome;
_sleep(2000);
while (x<y){
srand( time(NULL) );
numero = rand();
while (numero>10){
numero /=2;
if (numero%2==0){
numero-=1;
}else{
numero+=2;
}
}
/* Inicio do Programa por Fernando Paladini */
system("cls");
cout << "1 - Novo Jogo" << endl;
cout << "2 - Recordes" << endl;
cout << "3 - Ajuda" << endl;
cout << "4 - Sair" << endl;
cin >> menu;
if (menu==1){
cout << "Digite um numero de 0 a 10: ";
cin >> opt;
if (opt == numero){
system("cls");
x = 60;
score+=10;
cout << "O numero certo é: " << numero << endl;
cout << "\nVoce Acertou! Parabens!" << endl;
system("pause");
}else{
system("cls");
cout << "Numero errado, tente novamente!" << endl;
cout << "\nO numero certo era: " << numero << "\n";
system("pause");
}
}
}
if (menu==2){
system("cls");
_sleep(500);
cout << "Salvando recorde atual...\n";
_sleep(500);
system("cls");
cout << "Pegando informacoes do sistema...\n";
_sleep(500);
system("cls");
cout << "Carregando recordes anteriores...\n";
_sleep(500);
system("cls");
cout << "Carregando interface do usuario...\n";
_sleep(500);
system("cls");
cout << "Arquivo Recordes pronto para a execucao!\n";
_sleep(2000);
system("cls");
cout << "============================================ Recordes do jogo ==================================================\n\n";
cout << "---------- Nome do Jogador ------------------- Pontos -----------------------\n";
cout << nome << "--------------------" << score << "\n\n\n";
system("pause")
}
if (menu==3){
system("cls");
}
}
return 0;
}
Pergunta
Fernando Paladini
Eaí galera tudo bem?
Então, estou começando a estudar C++ e fiz um programa para adivinhar numeros com base na data atual (Google ajudou com o timer e gerar números randônicos). Eu estava querendo melhorar o programa e colocar umas firulas B) . Eu decidi criar um menu, um highscore (que não sei como salvar de outras partidas, mas não está em questão). O menu é constituido de vários itens e o programa não está totalmente finalizado - faltam alguns menus (não consegui, os erros me impediram).
Estou usando a IDE Dev C++.
Quando vou compilar recebo o erro:
Queria que me ajudassem a resolver esse erro e também a "salvar highscores" de outras "sessões" e exibir no programa. Também gostaria de fazer uma opção para quando por exemplo você estiver no menu Ajuda/Recordes poder voltar ao menu principal. Em Batch Script eu usava bastante o Goto, mas já vi diversas vezes que não é muito bom usar isso.
Porém, se puderem resolver meu erro já está bom. A estrutura não está muito boa porque não quis refazer o programa e só adicionei o menu em cima :rolleyes:
#include <iostream> #include <ostream> using namespace std; int main(){ int opt; int score; int menu; int nome; int numero; int x=0,y=55; system("cls"); cout << "Jogo de Adivinhacao" << endl; cout << "==================="; cout << "\nPor Fernando Paladini" << endl; _sleep(2000); system("cls"); cout << "Digite seu nome de usuario: "; cin >> nome; _sleep(2000); while (x<y){ srand( time(NULL) ); numero = rand(); while (numero>10){ numero /=2; if (numero%2==0){ numero-=1; }else{ numero+=2; } } /* Inicio do Programa por Fernando Paladini */ system("cls"); cout << "1 - Novo Jogo" << endl; cout << "2 - Recordes" << endl; cout << "3 - Ajuda" << endl; cout << "4 - Sair" << endl; cin >> menu; if (menu==1){ cout << "Digite um numero de 0 a 10: "; cin >> opt; if (opt == numero){ system("cls"); x = 60; score+=10; cout << "O numero certo é: " << numero << endl; cout << "\nVoce Acertou! Parabens!" << endl; system("pause"); }else{ system("cls"); cout << "Numero errado, tente novamente!" << endl; cout << "\nO numero certo era: " << numero << "\n"; system("pause"); } } } if (menu==2){ system("cls"); _sleep(500); cout << "Salvando recorde atual...\n"; _sleep(500); system("cls"); cout << "Pegando informacoes do sistema...\n"; _sleep(500); system("cls"); cout << "Carregando recordes anteriores...\n"; _sleep(500); system("cls"); cout << "Carregando interface do usuario...\n"; _sleep(500); system("cls"); cout << "Arquivo Recordes pronto para a execucao!\n"; _sleep(2000); system("cls"); cout << "============================================ Recordes do jogo ==================================================\n\n"; cout << "---------- Nome do Jogador ------------------- Pontos -----------------------\n"; cout << nome << "--------------------" << score << "\n\n\n"; system("pause") } if (menu==3){ system("cls"); } } return 0; }Eaí, sabem o que tem de errado?
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.