Problema lettura File c++

di il
6 risposte

Problema lettura File c++

Gentili utenti del forum, prendendo un file di testo che contiene una serie di informazioni di una struct per numero di elementi non specificato devo effettuarne la stampa sul programma, il programma pero continua a stampare spazi vuoti...qualcuno di voi saprebbe indicarmi l'errore in questo codice?? Grazie in anticipo.
#include<iostream>
#include<fstream>
using namespace std;

struct scontrini{
	int importo;
	string data;
	string genere_prodotto;
};

void carica(struct scontrini s[], int conteggio){

	ifstream myfile("registratore_di_cassa.txt", ios::in);
	if(!myfile){
		cout<<"errore in fase di lettura..."<<endl;
		exit(1);
	}
	while(!myfile.eof()){
		
		for(int i=0; i<100; i++){
		myfile>>s[i].genere_prodotto;
		myfile>>s[i].data;
		myfile>>s[i].importo;
		conteggio++;
		
		}
	}
	
	myfile.close();
	
	cout<<"lettura correttamente eseguita..."<<endl;
	
}

int main(){
	
	int conteggio=0;
	struct scontrini s[1000];
	carica(s, conteggio);
	
		for(int i=0; i<conteggio; i++){
		cout<<s[i].genere_prodotto<<" "<<s[i].data<<" "<<s[i].importo<<endl;
	}
	 
}

6 Risposte

  • Re: Problema lettura File c++

    E il file di testo come è fatto?
  • Re: Problema lettura File c++

    oregon ha scritto:


    E il file di testo come è fatto?
    una lista di cose:
    cibo 30/05/2000 23
    farmaco 17/09/1999 34
  • Re: Problema lettura File c++

    Perché ne leggi 100? E se non ce ne sono 100? Comprendi che quel ciclo for non ha senso?

    E poi, la variabile conteggio passata in quel modo non sarà mai modificata. Sai perché?
  • Re: Problema lettura File c++

    oregon ha scritto:


    Perché ne leggi 100? E se non ce ne sono 100? Comprendi che quel ciclo for non ha senso?

    E poi, la variabile conteggio passata in quel modo non sarà mai modificata. Sai perché?
    è proprio quello che mi interessa...come devo passarla in maniera corretta??
  • Re: Problema lettura File c++

    La variabile va passata per puntatore. Oppure non la passi proprio e la funzione carica non deve essere void ma restituire quel valore.

    E quel ciclo for, ripeto, non ha senso.

    P.S. Il titolo delle discussioni deve avere un senso, correggila.
  • Re: Problema lettura File c++

    oregon ha scritto:


    La variabile va passata per puntatore. Oppure non la passi proprio e la funzione carica non deve essere void ma restituire quel valore.

    E quel ciclo for, ripeto, non ha senso.

    P.S. Il titolo delle discussioni deve avere un senso, correggila.
    ti ringrazio, provvederò a correggere il titolo
Devi accedere o registrarti per scrivere nel forum
6 risposte