Hirdetés
- Yettel topik
- Google Pixel topik
- Xiaomi 14 - párátlanul jó lehetne
- Apple Watch Ultra - első nekifutás
- iPhone topik
- Android alkalmazások - szoftver kibeszélő topik
- EarFun Air Pro 4+ – érdemi plusz
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Huawei P30 Pro - teletalálat
- Amazfit Bip 6 - jót olcsón
Új hozzászólás Aktív témák
-
choco01
addikt
Most ilyen speedrun megy mert holnap írunk ZH-t és leragadtam a struktúráknál, de elvileg kötelező lesz osztályokat használni..
úgy hogy amennyit csak tudok olvasok..A gyakorló feladat ilyesmi volt, végülis értem, csak pár apró része nem világos hogy miért oda miért nem, eddig úgy gondoltam hogy a private/protected rész arra kell hogy mások elől védjem az ott lévő dolgokat és akkor valahogy publicba tudok infót adni a védett részbe is..de aztán lehet nem..

#include <iostream>
#include <fstream>
#include <iomanip>
#include <string>
using namespace std;
/*Készítsen programot, melyben a Kétkerék nevű kerékpár kölcsönző adatait tudja kezelni.A kölcsönzőben kétféle
típusú kerékpár van, melyek kölcsönzési óradíja különböző.A magellan 1200 Ft / óra, a median 1000 Ft / óra.
A kolcsonzo.txt szöveges állomány első sorában a kölcsönzések számát, a kölcsönzések adatait a következő struktúra szerint tartalmazza:
struct kolcsonzes
{
string; //a kölcsönzés napja
string tipus; //a kerékpár típusa
int sorszam; //a kerékpár sorszáma
int ido; //a kölcsönzés ideje
};
Készítse el az alábbi függvényeket, mindegyik függvény vegye át az állomány nevét :
Getdb() Adja vissza az adatok számát.
GetMagellan() Adja vissza a magellan kerékpárok számát.
GetMedian() Adja vissza a median kerékpárok számát.
MedianBevetel() Adja vissza a median kerékpárokkal szerzett bevétel összértékét.
OsszBevetel() Adja vissza a bevétel összértékét.
LeghosszabbKolcsonzes() Adja vissza a leghosszabb kölcsönzés adatait tartalmazó struktúrát.
Kiir() A függvény minden adatot sorszámozva, az kiíratja a képernyőre táblázatos formában, minden struktúra egy
sorba kerüljön(a sorszám 1 - ről indul).
*/
struct kolcsonzes
{
string datum;
string tipus;
int sorszam;
int ido;
};
class kolcsonzo
{
private:
kolcsonzes *k;
int db;
public:
kolcsonzo(char fnev[]);
~kolcsonzo();
int Getdb();
int GetMagellan();
int GetMedian();
int MedianBevetel();
int Osszbevetel();
int LeghosszabbKolcsonzes();
void Kiir();
};
//kolcsonzo.txt beolvasasa
kolcsonzo::kolcsonzo(char fnev[])
{
ifstream be(fnev);
if (be.fail()) { cerr<<"hiba fajlnyitas"; system("pause"); exit(-1);}
be >> db;
k = new kolcsonzes[db];
if (k == 0) { cerr << "hiba2";system("pause");exit(-2);}
for (int i = 0; i < db; i++)
{
be >> k[i].datum;
be >> k[i].tipus;
be >> k[i].sorszam;
be >> k[i].ido;
}
be.close();
}
kolcsonzo::~kolcsonzo()
{
if (k != 0)
delete[]k;
}
int kolcsonzo::Getdb()
{
return db;
}
int kolcsonzo::GetMagellan()
{
int m = 0;
for (int i = 0; i < db; i++)
{
if (k[i].tipus=="magellan")
{
m++;
}
}
return m;
}
int kolcsonzo::GetMedian()
{
int m = 0;
for (int i = 0; i < db; i++)
{
if (k[i].tipus=="median")
{
m++;
}
}
return m;
}
int kolcsonzo::MedianBevetel()
{
int mbev = 0;
for (int i = 0; i < db; i++)
{
if (k[i].tipus=="median")
{
mbev += k[i].ido * 1000;
}
}
return mbev;
}
int kolcsonzo::Osszbevetel()
{
int bev = 0;
for (int i = 0; i < db; i++)
{
if (k[i].tipus=="median")
{
bev += k[i].ido * 1000;
}
else
{
bev += k[i].ido * 1200;
}
}
return bev;
}
int kolcsonzo::LeghosszabbKolcsonzes()
{
int l = k[0].ido;
for (int i = 0; i < db; i++)
{
if (k[i].ido > l)
{
l = k[i].ido;
}
}
return l;
}
void kolcsonzo::Kiir()
{
cout << setw(14) << "datum" << setw(20) << "tipus" << setw(10) << "sorszam" << setw(10) << "kolcsido" << endl;
for (int i = 0; i < db; i++)
{
cout << i + 1 << "." << setw(12) << k[i].datum << setw(20) << k[i].tipus << setw(10) << k[i].sorszam << setw(10) << k[i].ido << endl;
}
}
int main()
{
kolcsonzo ketkerek("kolcsonzo.txt");
cout << "Az allomanyban levo adatok:\n";
ketkerek.Kiir();
cout << endl;
cout << "A kolcsonzesek szama: " << ketkerek.Getdb() << endl;
cout << "A magellan kolcsonzesek szama: " << ketkerek.GetMagellan() << endl;
cout << "A median kolcsonzesek szama: " << ketkerek.GetMedian() << endl;
cout << "A median kerekparokkal szerzett bevetel: " << ketkerek.MedianBevetel() << endl;
cout << "A kerekparokkal szerzett osszbevetel: " << ketkerek.Osszbevetel() << endl;
cout << "A leghosszabb kolcsonzes ideje: " << ketkerek.LeghosszabbKolcsonzes() << endl;
cout << endl << endl;
cout << "***************** dinamikus objektum *****************\n\n";
kolcsonzo *kektura = new kolcsonzo("kolcsonzo.txt");
if (kektura == 0)
{
cerr << "keves a memoria 2";
return 2;
}
cout << "Az allomanyban levo adatok:\n";
(*kektura).Kiir();
cout << endl;
cout << "A kolcsonzesek szama: " << kektura->Getdb() << endl;
cout << "A magellan kolcsonzesek szama: " << kektura->GetMagellan() << endl;
cout << "A median kolcsonzesek szama: " << kektura->GetMedian() << endl;
cout << "A median kerekparokkal szerzett bevetel: " << kektura->MedianBevetel() << endl;
cout << "A kerekparokkal szerzett osszbevetel: " << kektura->Osszbevetel() << endl;
cout << "A leghosszabb kolcsonzes ideje: " << kektura->LeghosszabbKolcsonzes() << endl;
cout << "Az 5 oranal hosszabb kolcsonzesek:\n";
delete kektura;
system("pause");
return 0;
}
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Samsung Galaxy Z Flip 5 512GB, Kártyafüggetlen, 1 Év Garanciával
- WYBOT C2 Vision AI vezérelt medenceporszívó
- HIBÁTLAN iPhone 13 Pro 128GB Alphine Green -1 ÉV GARANCIA - Kártyafüggetlen, MS3024, 100% Akksi
- magyar billentyűzet - 162 - 163 - Lenovo LOQ (15ARP9) - AMD Ryzen 7 7435HS, RTX 4060
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7800X3D 32/64GB RAM RX 9070 16GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
úgy hogy amennyit csak tudok olvasok..


