Hej mam program który liczy mi znak po znaku z pliku i wyswietla mi ile jest danych znakow w tym pliku. I musze go przerobic aby.. liczyl mi normalnie znak po znaku wszystkie a nie jakis konkretny ktory ja chce, jak to robi teraz tylko, ze gdy napotka pierwsza cyfre ma mi od razu wyswietlic cala zawartosc pliku.
O to program ! potrzebuje pilnie. !!
[code] #include<iostream> #include<fstream> using namespace std; ifstream wp; // Odpowiada za operacje IO (zapis, odczyt itd.. ) char z; void sciezkadopliku(char[]); // funkcja otwiera plik wybrany przez użytkownika i sprawdza czy ten plik istnieje void znak(void); //funkcja wczytuje znaki z klawiatury void ile(char,ifstream&);// funkcja oblicza ilość znaków int main(void){ char plik[500];
cout<<"Podaj plik: "<<endl;//Pyta o plik cin>>plik;//wczytuje nazwe pliku sciezkadopliku(plik);//wywolanie funkcji otwierajacej plik znak();//wywolanie funkcji wczytujacej znak ile(z,wp);//wywolanie funkcji liczacej znaki system("PAUSE"); return 0; } void znak() { cout<<"Wpisz znak: "<<endl;//pyta o znak cin>>z;//wczytuje znak z klawiatury } void sciezkadopliku(char plik[]) { wp.open(plik);//otwiera plik if(!wp){//sprawdza czy plik istnieje cout<<"Blad otwarcia pliku!"<<endl;//wyswietla komunikat o bledzie system("PAUSE"); exit(0) ; //zamkniecie programu } } void ile(char z, ifstream &wp) { char a; int i=0; while(wp.get(a)&&!wp.eof()){//funkcja while odczytuje kolejne znaki z klawiatury dopóki nie osiagnie konca pliku if(a==z){//jesli funkcja osiaga znak wczytany z klawiatury, to wartosc i zwieksza sie o 1 i++; } } cout<<"Ilosc znakow: "<<z<<" w pliku, to "<<i<<endl;//wyswietla komunikat o ilosci znakow w pliku }
[\code]
ArekMichowski
#include<iostream> #include<fstream> using namespace std; ifstream wp; // Odpowiada za operacje IO (zapis, odczyt itd.. ) void sciezkadopliku(char[]); // funkcja otwiera plik wybrany przez użytkownika i sprawdza czy ten plik istnieje void znak(void); //funkcja wczytuje znaki z klawiatury void ile(ifstream&);// funkcja oblicza ilość znaków int main(void){ char plik[500];
cout<<"Podaj plik: "<<endl;//Pyta o plik cin>>plik;//wczytuje nazwe pliku sciezkadopliku(plik);//wywolanie funkcji otwierajacej plik ile(wp);//wywolanie funkcji liczacej znaki system("PAUSE"); return 0; } void sciezkadopliku(char plik[]) { wp.open(plik);//otwiera plik if(!wp){//sprawdza czy plik istnieje cout<<"Blad otwarcia pliku!"<<endl;//wyswietla komunikat o bledzie system("PAUSE"); exit(0) ; //zamkniecie programu } } void ile(ifstream &wp) { char a; int i=0; while(wp.get(a)&&!wp.eof()){//funkcja while odczytuje kolejne znaki z klawiatury dopóki nie osiagnie konca pliku i++; } } cout<<"Ilosc znakow: "<<z<<" w pliku, to "<<i<<endl;//wyswietla komunikat o ilosci znakow w pliku }
#include<fstream>
using namespace std;
ifstream wp; // Odpowiada za operacje IO (zapis, odczyt itd.. )
void sciezkadopliku(char[]); // funkcja otwiera plik wybrany przez użytkownika i sprawdza czy ten plik istnieje
void znak(void); //funkcja wczytuje znaki z klawiatury
void ile(ifstream&);// funkcja oblicza ilość znaków
int main(void){
char plik[500];
cout<<"Podaj plik: "<<endl;//Pyta o plik
cin>>plik;//wczytuje nazwe pliku
sciezkadopliku(plik);//wywolanie funkcji otwierajacej plik
ile(wp);//wywolanie funkcji liczacej znaki
system("PAUSE");
return 0;
}
void sciezkadopliku(char plik[])
{
wp.open(plik);//otwiera plik
if(!wp){//sprawdza czy plik istnieje
cout<<"Blad otwarcia pliku!"<<endl;//wyswietla komunikat o bledzie
system("PAUSE");
exit(0) ; //zamkniecie programu
}
}
void ile(ifstream &wp)
{
char a;
int i=0;
while(wp.get(a)&&!wp.eof()){//funkcja while odczytuje kolejne znaki z klawiatury dopóki nie osiagnie konca pliku
i++;
}
}
cout<<"Ilosc znakow: "<<z<<" w pliku, to "<<i<<endl;//wyswietla komunikat o ilosci znakow w pliku
}