Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- /*
- Hozz létre egy Telefon osztályt, ami egy telefont reprezentál.
- A telefonnak legyen száma (9 jegyû szám, vagy 9 karakteres tömb), valamint felhasználható internet mennyiségét (double, megabájtban számolva).
- Az osztálynak legyen:
- Egy olyan konstruktora, ami a paraméterként várja a számot, és a felhasználható internet mennyiségét
- Egy olyan konstruktora, ami a konzolról olvassa be az adatokat.
- Egy internetHasznál() függvénye, amely a paraméterben megadott számmal csökkenti a felhasználható internet mennyiségét.
- Amennyiben paraméter nélkül hívjuk meg a függvényt, pontosan 1.2 megabájttal csökkenjen a felhasználható keret.
- Egy feltölt() függvény, amely pontosan 500 megabájtot ad hozzá a felhasználható internethez,
- de ügyelj rá, hogy a felhasználható keret legfeljebb 1500 megabájt legyen. Ezen érték felé ne emelkedhessen a szám!
- Egy adatok() függvény, ami kiírja az alapértelmezett kimenetre a számot és a felhasználható internet mennyiségét.
- Származtass le az Telefon osztályból egy SzuperNetezõTelefon osztályt, ami tárolja magáról, hogy használhat-e 4G-t vagy sem (bool).
- Az osztálynak legyen:
- Egy olyan konstruktora, ami a paraméterként várja a számot, a felhasználható internet mennyiségét, és azt, hogy használhat-e 4G-t.
- Egy save függvénye, ami a paraméterül kapott fájlba elmenti az adatokat.
- Felüldefiniált internetHasznál() függvénye, amely a paraméterben megadott számmal csökkenti a felhasználható internet mennyiségét.
- Amennyiben paraméter nélkül hívjuk meg a függvényt, pontosan 23.5 megabájttal csökkenjen a felhasználható keret.
- Felüldefiniált feltölt() függvénye, amely pontosan 500 megabájtot ad hozzá a felhasználható internethez, korlátozás nélkül.
- Készíts egy main függvényt, ami az elkészült osztályokat (függvényeivel együtt) teszteli!
- */
- using namespace std;
- class Telefon{
- protected:
- int number[9];
- double data;
- public:
- Telefon(int[],double);
- Telefon();
- void internetHasznal();
- void internetHasznal(double);
- void feltolt();
- void adatok();
- };
- Telefon :: Telefon(int number[9], double data){
- cout << "A megadott telefonszám: ";
- for(int i = 0; i<9; i++){
- this->number[i] = number[i];
- cout << number[i];
- }
- cout << endl;
- this->data = data;
- cout << "A megadott felhasználható adatmennyiség: " << data << " MB" << endl;
- }
- Telefon :: Telefon(){
- cout << "Adja meg a 9 jegyű telefonszámot, szóközzel elválasztva!" << endl;
- for(int i = 0; i<9; i++){
- cin >> number[i];
- }
- cout << "Adja meg a felhasználható internet mennyiségét megabájtban!" << endl;
- cin >> data;
- }
- void Telefon :: internetHasznal(double hasznal){
- if((data-hasznal) <= 0){
- data = 0;
- } else data-=hasznal;
- if(data == 0){
- cout << "Nincs felhasználható adatkeret az internet eléréséhez!" << endl;
- }else cout << "Felhasználást követő adatkeret: " << data << endl;
- }
- void Telefon :: internetHasznal(){
- if((data-1.2) <= 0){
- data = 0;
- } else data-=1.2;
- if(data == 0){
- cout << "Nincs felhasználható adatkeret az internet eléréséhez!" << endl;
- }else cout << "Felhasználást követő adatkeret: " << data << endl;
- }
- void Telefon :: feltolt(){
- if((data+500)>=1500){
- data = 1500;
- }else data+=500;
- cout << "Feltöltés utáni aktuális adatkereted: " << data << " MB" << endl;
- }
- void Telefon :: adatok(){
- cout << "Telefonszám: ";
- for(int i = 0; i<9; i++){
- cout << number[i];
- }
- cout << endl;
- cout << "Adatkeret: " << data << " MB" << endl;
- }
- class SzuperNetezoTelefon : public Telefon{
- bool negyG;
- public:
- SzuperNetezoTelefon(int[],double,bool);
- void save(char*);
- void internetHasznal();
- void internetHasznal(double);
- void feltolt();
- };
- SzuperNetezoTelefon :: SzuperNetezoTelefon(int number[9], double data, bool negyG): Telefon(number,data) {
- this->negyG = negyG;
- }
- void SzuperNetezoTelefon ::save (char* fname){
- ofstream o(fname);
- for(int i = 0; i<9; i++){
- o << number[i];
- }
- o << endl << data << endl;
- o.close();
- }
- void SzuperNetezoTelefon :: internetHasznal(double hasznal){
- if((data-hasznal) <= 0){
- data = 0;
- } else data-=hasznal;
- if(data == 0){
- cout << "Nincs felhasználható adatkeret!" << endl;
- }else cout << "Felhasználást követő adatkeret: " << data << endl;
- }
- void SzuperNetezoTelefon :: internetHasznal(){
- if((data-23.5) <= 0){
- data = 0;
- } else data-=23.5;
- if(data == 0){
- cout << "Nincs felhasználható adatkeret!" << endl;
- }else cout << "Felhasználást követő adatkeret: " << data << endl;
- }
- void SzuperNetezoTelefon :: feltolt(){
- data+=500;
- cout << "Feltöltés utáni aktuális adatkereted: " << data << " MB" << endl;
- }
- int main()
- {
- setlocale(LC_ALL,"hun");
- int telefonszam[9] = {1,2,3,4,5,6,7,8,9};
- /*
- Telefon *t = new Telefon(telefonszam,1500.0);
- // Telefon *t = new Telefon();
- t->internetHasznal(500.0);
- // t->internetHasznal();
- t->feltolt();
- t->adatok();
- delete t;
- */
- SzuperNetezoTelefon *t = new SzuperNetezoTelefon(telefonszam,3000.0,true);
- t->save("num_dat.txt");
- t->internetHasznal(1000.0);
- // t->internetHasznal();
- t->feltolt();
- delete t;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement