Program

kris269

Użytkownik
Dołączył
Listopad 22, 2005
Posty
66
Witam mam takie zadanie do zrobienia czy ktos by mogł mi w tym pomoc?? :

class Plik
{
char* sciezka;//zawiera sciezkę do pliku
char* zawartosc;//zawartosc pliku dowolnego

Plik();//konstruktor domyslny. Otwiera i wczytuje plik do zmiennej "zawartosc" z bieżącej lokalizacji z ustaloną nazwą pliku np. //"test.txt"

Plik(char*_sciezka);//konstruktor, który czyta plik z podanej sciezki i umieszcza zawartość w zmiennej "zawartosc"

Plik( const Plik &);//konstruktor kopiujący

~Plik();//destruktor

operator == //operator porównujący zawartość dwóch plików. Oczywiście zawartość pliku po wczytaniu jest w zmiennej "zawartość" w //tej klasie.
operator = //operator przypisania

void czestosc();// metoda, która przedstawia listę znaków z pliku, krotność oraz częstość. Duże i małe litery nie są rozróżnialne np. A - 23 (0.17), czyli litera A występuje w pliku 23 razy i jej częstość to 0.17
}; tworzenie pliku tekstowego z przeliczaniem znakow to mam tylko jak to zapisac z konstruktorami i co z reszta??
 

D.F.

Były Moderator
Dołączył
Listopad 4, 2009
Posty
493
Wrzuć kod, który stworzyłeś to poprawimy, przeważnie nikt tu nie daje gotowców.
 

kris269

Użytkownik
Dołączył
Listopad 22, 2005
Posty
66
No wlasnie o to chodzi ze nie mam calego programu tylko te zliczanie liter oraz tworzenie pliku z gotowym tekstem i teraz jak to zapisac w postaci konstruktora...

#include<iostream.h>
#include<fstream.h>
#include <stdio.h>
#include <stdlib.h>

int main ()
{

FILE *fp; long int counter = 0;
char *zawartosc="hello world";
if ((fp=fopen("test.txt", "a+t"))==NULL)
{
printf ("Nie mogę otworzyć pliku \n");
exit(1);
}
while( ! feof( fp ) )
{
putchar( fgetc( fp ) );
counter++;
}
fprintf(fp,"%s", zawartosc);
fclose (fp);
printf( "\nLiczba znakow w pliku: %ld", counter - 1 );

getchar();
return 0;
};
 

loganek

Były Moderator
Dołączył
Listopad 11, 2006
Posty
563
nie wiesz jak tworzyć konstruktor?
Kod:
Plik::Plik()
{
//treść konstruktora
}
 

Czepek221

Użytkownik
Dołączył
Maj 18, 2010
Posty
26
Kod:
//.cpp:
Plik::Plik(const char* nazwaPliku)
{
	_plik = fopen(nazwaPliku, "a+");
}

Plik::~Plik()
{
	fclose(_plik);
}

void Plik::dodajTresc(std::string tresc)
{
	fprintf(_plik, "%s", tresc.c_str());
}

// .h:
class Plik
{
	public:
		Plik(const char* nazwaPliku);
		~Plik();

		void dodajTresc(std::string tresc);

	private:
		FILE* _plik;
};

// użycie:
int main()
{
	Plik* nowyPlik = new Plik("Jakiś plik.txt");
	nowyPlik->dodajTresc("Jakaś tam dodana treść\n");
	delete nowyPlik;

	return 0;
}

O coś takiego Ci chodzi? : O

Pozdrawiam, Czepek!
 
Do góry Bottom