FILE in C++

di il
4 risposte

FILE in C++

Salve a tutti! Premetto che questo esercizio non lo ho fatto io ma era già fatto sul mio libro. Ho provato ad implementarlo ma mi da un errore...sapreste dirmi il problema? Grazie!

/*Questo programma memorizza in un file chiamato "teatro.txt" i posti di un teatro  */

#include <iostream>
#include <fstream>
using namespace std;

#define FILE 35
#define POSTI 40

void caricaDati (int sala[][POSTI])
{
fstream teatro;
int i=0, j=0;

teatro.open("teatro.txt", ios::in);
teatro >> sala[i][j];

while(!teatro.eof())
{
j++;
if(j>=POSTI)
{

j=0;
i++;

if(i>=FILE)
{
break;
}
teatro>>sala[i][j];
}
teatro.close();
}
}

void salvaDati(int sala[][POSTI])
{
fstream teatro;
int i=0, j=0;

teatro.open("teatro.txt", ios::out);

for(i=0; i<FILE; i++)
{
for(j=0; j<POSTI; j++)
teatro << sala[i][j] << ' ';
teatro<<endl;
}
teatro.close();
}

main ()
{
int sala[FILE][POSTI];
int fila, posto;

caricaDati(sala);

while(true)
{
cout<<" Inserire il numero della fila "<<endl;
cin>>fila;

if(fila==0)
{
break;
cout<<" Inserire il numero del posto "<<endl;
cin>>posto;

if((fila<=0) || (fila>FILE) || (posto<=0) || (posto>POSTI))
cout<<" COORDINATE NON VALIDE "<<endl;

else
{
switch (sala)
{
case 0:{
        cout<<" Prenotazione Effettuata con successo "<<endl;
        sala[fila-1][posto-1]=1;
        break;

case 1: cout<<" IMPOSSIBILE prenotare, posto già occupato "<<endl;
break;

case 2: cout<<" POSTO RISERVATO "<<endl;
break;
}
}
}
salvaDati(sala);

system ("pause");
}  
L'errore è alle righe: 74 e 92, ma non capisco quale sia.
P.S. --> io uso i file in c++ solo da una settimana....... Grazie per l'aiuto a tutti!

4 Risposte

  • Re: FILE in C++

    Al posto di indicare i numeri di linea dove ci sono gli errori (numeri che non è facile vedere qui sul sito) potresti indicare le linee e i codici d'errore?
  • Re: FILE in C++

    Ai ragione scusa! L'ho fatto senza pensarci... allora praticamente l'errore è dove c'è lo switch
    
        switch (sala)
        {
        case 0:{
                cout<<" Prenotazione Effettuata con successo "<<endl;
                sala[fila-1][posto-1]=1;
                break;
    
        case 1: cout<<" IMPOSSIBILE prenotare, posto già occupato "<<endl;
        break;
    
        case 2: cout<<" POSTO RISERVATO "<<endl;
        break;
        }
        }
        }
        salvaDati(sala);
    
        system ("pause");
        } 
    
    
    secondo me io mio dev non vuole una variabile all'interno dello switch .
    L'errore è: " switch quantity not an integer "
  • Re: FILE in C++

    switch (sala[fila-1][posto-1])
    ?
  • Re: FILE in C++

    Infatti non so perche sul mio libro sia li ...secondo te dove andrebbe messo? Io questo es l'ho preso dal libro solo per vedere come funzionavano i file in c++ con funzioni ecc..... Proprio non so dove andrebbe messo!
Devi accedere o registrarti per scrivere nel forum
4 risposte