Gestion d'un highscore [version 2, tout compilateur]

Contenu du snippet

Ce programme gère un highscore à l'aide de 2 fichiers, l'un contenant les scores et l'autres les noms.

Source / Exemple :


#include <iostream>
#include <fstream>
#include <string>
#include <cstdlib>

using namespace std;

void reset(void)
{
int score[10];
string name[10];
fstream file("highscore.txt", ios::out);
if(file.is_open())
{
for(int i=0;i<10;i++)
{
score[i]=0;
file << score[i] << " ";
}
file.close();
}
fstream file2("highscorename.txt", ios::out);
if(file2.is_open())
{
for(int i=0;i<10;i++)
{
name[i]="------------";
file2 << name[i] << " ";
}
file2.close();
}
exit(1);
}

int main()
{
cout << "\033[2J";
int score[10];
string name[10];

int morethan;
int newscore;
string newname;
char reponse;

cout << "Ancien ou Reset? (a pour ancien, r pour reset)";
cin >> reponse;
switch(reponse)
{
case'a':
break;
case'r':
reset();
default:
break;
};

cout << "Nouveau score : ";
cin >> newscore;
cout << "Nom : ";
cin >> newname;

fstream file("highscore.txt", ios::in | ios::out);
if(file.is_open())
{
for(int i=0;i<10;i++)
{
file >> score[i];
}
file.seekg(0);
for(int i=0;i<10;i++)
{
if(score[i]<newscore) { morethan=i; }
}
score[morethan-1] = score[morethan];
score[morethan] = newscore;

file.seekg(0);
for(int i=0;i<10;i++)
{
file << score[i] << " ";
}
file.close();
}
fstream file2("highscorename.txt", ios::in | ios::out);
if(file2.is_open())
{
for(int i=0;i<10;i++)
{
file2 >> name[i];
}
name[morethan-1]=name[morethan];
name[morethan]=newname;
file2.seekg(0);
for(int i=0;i<10;i++)
{
file2 << name[i] << " ";
}
file2.close();
}
cout << "Highscore :" << '\n';
for(int i=0;i<10;i++)
{
cout << name[i];
cout  << "\t\t\t\t" << score[i] << '\n';
}
}

Conclusion :


Il se compile très bien sous g++ 2.95, je ne sais pas pour les autres compilo.

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.