PDA

Visualizza la versione completa : c++ funzione ricorsiva su file


wgd-developer
24-04-2008, 14:02
salve, ho dei problemi con questo programma
leggo da file i caratteri uno alla volta,
ma ho difficoltà nel fare il controllo
dopo aver risolto dovrei passarla in procedura ricorsiva.

aiuti?

grazie




/*
Testo : Assegnato un file di testo con stringhe lunghe N per ogni rigo,
determinare quante sono le occorrenze di un carattere preassegnato
con una funzione ricorsiva.
*/


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

using namespace std;
int main () {
int occorrenze=0;
char occ;

char tmp[1];
char vispa[400];
ifstream file;
cout << "Nome File : ";
cin >> vispa; // nome file esterno conservato nella memoria secondaria
file.open("vispa.txt"); // collegamento tra file (logico) e Nomefile(fisico)
if (!file){
cerr<<"Non si puo’ aprire il file"<<endl;
system("pause");
return -1; // esce dal main con errore
}

char ch;
while(file.get(ch)){
cout.put(ch);

// difficoltà
if((file.put(ch))=='e')
occ++;
}

file.close();
cout<<endl;
cout<<occ;
cout<<endl;
system("pause");
}

mondobimbi
24-04-2008, 15:41
con get(ch) prelevi il carattere ch dal file e sposti di un carattere il file pointer, che punta al successivo.
Prelevato il caratte è sufficiente fare il controllo
if (ch == carattere_da_controllare) togliendo i vari put che non si capisce cosa ti servano.
ciao

Loading