Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define _CRT_SECURE_NO_DEPRECATE
- #include <iostream>
- #include <fstream>
- #include <string>
- using namespace std;
- typedef struct giocatore
- {
- string nome;
- int vittorie = 0;
- int punti = 0;
- }gioc;
- typedef struct partita
- {
- int numeroPartita = 0;
- int numeroGiocatori = 0;
- int giorno = 0;
- int mese = 0;
- int anno = 0;
- float minutiDurataPartita = 0;
- string nomeVincitore;
- }part;
- int main()
- {
- int dim = 100, dim1 = 0;
- int tasto;
- int numeroP = 0;
- partita part[100];
- giocatore gioc[5];
- numeroP = part[numeroP].numeroPartita;
- do
- {
- system("cls");
- cout << " !!! CIAO BENVENUTO IN CLASSIFICA !!!" << endl;
- cout << endl;
- cout << " Questo programma ti permette di creare e memorizzare le partite e la classifica annessa!" << endl;
- cout << endl;
- cout << " Puoi selezionare un massimo di 5 giocatori.";
- cout << endl;
- cout << endl;
- cout << " Scegli dal menu' come proseguire:" << endl;
- cout << endl;
- cout << endl;
- cout << endl;
- cout << " Premi 1. se vuoi impostare i giocatori." << endl;
- cout << " Premi 2. se vuoi impostare la partita giocata." << endl;
- cout << " Premi 3. se vuoi visualizzare la classifica." << endl;
- cout << " Premi 4. se vuoi visualizzare le partite giocate." << endl;
- cout << " Premi 5. se vuoi cancellare la classifica e i giocatori." << endl;
- cout << " Premi 6. se vuoi cancellare le partite giocate." << endl;
- cout << " Premi 7. se vuoi chiudere il programma." << endl;
- cin >> tasto;
- if (tasto == 1) {
- ofstream ofile;
- ofile.open("datigiocatori.dat", ios::out, ios::binary);
- cout << "Inserisci il numero dei giocatori: " << endl;
- cin >> dim1;
- for (int i = 0; i < dim1; i++) {
- cout << endl;
- cout << "Inserisci il nome del giocatore: " << i + 1 << endl;
- cin >> gioc[i].nome;
- cout << "Inserisci il numero delle vittorie del giocatore: " << i + 1 << endl;
- cin >> gioc[i].vittorie;
- cout << "inserisci il numero dei punti del giocatore: " << i + 1 << endl;
- cin >> gioc[i].punti;
- }
- ofile.write((char*)&gioc, sizeof(gioc));
- ofile.close();
- }
- if (tasto == 2) {
- ofstream outfile;
- outfile.open("datipartita.dat", ios::out, ios::binary);
- cout << endl;
- cout << endl;
- cout << "Inserisci un valore numerico per la partita: " << endl;
- cin >> numeroP;
- cout << "Inserisci il numero dei giocatori della partita numero " << numeroP << endl;
- cin >> part[numeroP].numeroGiocatori;
- cout << "Inserisci il giorno della data della partita: " << endl;
- cin >> part[numeroP].giorno;
- cout << "Inserisci il mese: " << endl;
- cin >> part[numeroP].mese;
- cout << "Inserisci l' anno: " << endl;
- cin >> part[numeroP].anno;
- cout << "Iserisci i minuti di durata della partita(se necessario usando anche il . per inserire i secondi): " << endl;
- cin >> part[numeroP].minutiDurataPartita;
- cout << "Inserisci il nome del vincitore della partita: " << endl;
- cin >> part[numeroP].nomeVincitore;
- outfile.write((char*)&part, sizeof(part));
- outfile.close();
- }
- if (tasto == 3) {
- ifstream ifile;
- ifile.open("datigiocatori.dat", ios::in, ios::binary);
- if (!ifile) cout << "errore nell' apertura del file!..";
- else
- while (ifile.read((char*)&gioc, sizeof(gioc)));
- int n = 5;
- int pos[5];
- int dep;
- pos[0] = gioc[0].punti;
- pos[1] = gioc[1].punti;
- pos[2] = gioc[2].punti;
- pos[3] = gioc[3].punti;
- pos[4] = gioc[4].punti;
- for (int i = 0; i < n - 1; i++) {
- for (int j = i + 1; j < n; j++) {
- if (pos[i] >= pos[j]) {
- dep = pos[i];
- pos[i] = pos[j];
- pos[j] = dep;
- }
- }
- }
- if (pos[4] == gioc[0].punti) {
- cout << "La prima posizione e' stata presa da : " << gioc[0].nome << " punti : " << gioc[0].punti << endl;
- }
- else {
- if (pos[4] == gioc[1].punti) {
- cout << "La prima posizione e' stata presa da : " << gioc[1].nome << " punti : " << gioc[1].punti << endl;
- }
- else {
- if (pos[4] == gioc[2].punti) {
- cout << "La prima posizione e' stata presa da : " << gioc[2].nome << " punti : " << gioc[2].punti << endl;
- }
- else {
- if (pos[4] == gioc[3].punti) {
- cout << "La prima posizione e' stata presa da : " << gioc[3].nome << " punti : " << gioc[3].punti << endl;
- }
- else {
- if (pos[4] == gioc[4].punti) {
- cout << "La prima posizione e' stata presa da : " << gioc[4].nome << " punti : " << gioc[4].punti << endl;
- }
- }
- }
- }
- }
- if (pos[3] == gioc[0].punti) {
- cout << "La seconda posizione e' stata presa da : " << gioc[0].nome << " punti : " << gioc[0].punti << endl;
- }
- else {
- if (pos[3] == gioc[1].punti) {
- cout << "La seconda posizione e' stata presa da : " << gioc[1].nome << " punti : " << gioc[1].punti << endl;
- }
- else {
- if (pos[3] == gioc[2].punti) {
- cout << "La seconda posizione e' stata presa da : " << gioc[2].nome << " punti : " << gioc[2].punti << endl;
- }
- else {
- if (pos[3] == gioc[3].punti) {
- cout << "La seconda posizione e' stata presa da : " << gioc[3].nome << " punti : " << gioc[3].punti << endl;
- }
- else {
- if (pos[3] == gioc[4].punti) {
- cout << "La seconda posizione e' stata presa da : " << gioc[4].nome << " punti : " << gioc[4].punti << endl;
- }
- }
- }
- }
- }
- if (pos[2] == gioc[0].punti) {
- cout << "La terza posizione e' stata presa da : " << gioc[0].nome << " punti : " << gioc[0].punti << endl;
- }
- else {
- if (pos[2] == gioc[1].punti) {
- cout << "La terza posizione e' stata presa da : " << gioc[1].nome << " punti : " << gioc[1].punti << endl;
- }
- else {
- if (pos[2] == gioc[2].punti) {
- cout << "La terza posizione e' stata presa da : " << gioc[2].nome << " punti : " << gioc[2].punti << endl;
- }
- else {
- if (pos[2] == gioc[3].punti) {
- cout << "La terza posizione e' stata presa da : " << gioc[3].nome << " punti : " << gioc[3].punti << endl;
- }
- else {
- if (pos[2] == gioc[4].punti) {
- cout << "La terza posizione e' stata presa da : " << gioc[4].nome << " punti : " << gioc[4].punti << endl;
- }
- }
- }
- }
- }
- if (pos[1] == gioc[0].punti) {
- cout << "La quarta posizione e' stata presa da : " << gioc[0].nome << " punti : " << gioc[0].punti << endl;
- }
- else {
- if (pos[1] == gioc[1].punti) {
- cout << "La quarta posizione e' stata presa da : " << gioc[1].nome << " punti : " << gioc[1].punti << endl;
- }
- else {
- if (pos[1] == gioc[2].punti) {
- cout << "La quarta posizione e' stata presa da : " << gioc[2].nome << " punti : " << gioc[2].punti << endl;
- }
- else {
- if (pos[1] == gioc[3].punti) {
- cout << "La quarta posizione e' stata presa da : " << gioc[3].nome << " punti : " << gioc[3].punti << endl;
- }
- else {
- if (pos[1] == gioc[4].punti) {
- cout << "La quarta posizione e' stata presa da : " << gioc[4].nome << " punti : " << gioc[4].punti << endl;
- }
- }
- }
- }
- }
- if (pos[0] == gioc[0].punti) {
- cout << "La quinta posizione e' stata presa da : " << gioc[0].nome << " punti : " << gioc[0].punti << endl;
- }
- else {
- if (pos[0] == gioc[1].punti) {
- cout << "La quinta posizione e' stata presa da : " << gioc[1].nome << " punti : " << gioc[1].punti << endl;
- }
- else {
- if (pos[0] == gioc[2].punti) {
- cout << "La quinta posizione e' stata presa da : " << gioc[2].nome << " punti : " << gioc[2].punti << endl;
- }
- else {
- if (pos[0] == gioc[3].punti) {
- cout << "La quinta posizione e' stata presa da : " << gioc[3].nome << " punti : " << gioc[3].punti << endl;
- }
- else {
- if (pos[0] == gioc[4].punti) {
- cout << "La quinta posizione e' stata presa da : " << gioc[4].nome << " punti : " << gioc[4].punti << endl;
- }
- }
- }
- }
- }
- ifile.close();
- }
- if (tasto == 4) {
- ifstream infile;
- infile.open("datipartita.dat", ios::in, ios::binary);
- if (!infile)cout << "errore nell alpertura del file";
- else
- while (infile.read((char*)&part, sizeof(part)));
- for (int i = 0; i < dim; i++) {
- cout << "La partita numero " << i + 1 << endl;
- cout<< " giocata il " << part[i].giorno << "." << part[i].mese << "." << part[i].anno << " con " << part[i].numeroGiocatori << " giocatori ,durata " << part[i].minutiDurataPartita << " e' stata vinta da " << part[i].nomeVincitore << endl;
- }
- infile.close();
- }
- if (tasto == 5) {
- ofstream oofile;
- oofile.open("datigiocatori.dat", ios::out, ios::binary);
- oofile.close();
- }
- if (tasto == 6) {
- ofstream ooofile;
- ooofile.open("datipartita.dat", ios::out, ios::binary);
- ooofile.close();
- }
- if (tasto == 7) {
- return 0;
- }
- system("pause");
- } while (true);
- return 0;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement