Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstdio>
- #include <cstdlib>
- using namespace std;
- typedef unsigned int uint;
- struct Ut {
- uint nap; // 1-7
- uint fuvarszam; // 1-40
- uint tav; // km; max 30
- };
- Ut *utak;
- uint utc = 0;
- void feladat1();
- void feladat2();
- void feladat3();
- void feladat4();
- void feladat5();
- void feladat6();
- void feladat7();
- void feladat8();
- uint utErtek(uint tav);
- int main(int argc, char **args) {
- feladat1();
- feladat2();
- feladat3();
- feladat4();
- feladat5();
- feladat6();
- feladat7();
- feladat8();
- return 0;
- }
- void feladat1() {
- cout << "1. feladat: Adatok beolvasa" << endl;
- FILE *f;
- f = fopen("tavok.txt", "r");
- if( f == NULL ) {
- cout << "Nem lehet megnyitni a fajlt!" << endl;
- return;
- }
- utak = (Ut*) malloc(sizeof(Ut) * 7 * 40);
- while( !feof(f) ) {
- Ut ut;
- uint r = fscanf(f, "%d %d %d\n",
- &ut.nap,
- &ut.fuvarszam,
- &ut.tav);
- if( r == -1 )
- break;
- utak[utc++] = ut;
- }
- fclose(f);
- cout << endl;
- }
- void feladat2() {
- cout << "2. feladat" << endl;
- Ut ut;
- ut.nap = 7;
- ut.fuvarszam = 40;
- ut.tav = 0;
- for(uint i = 0; i < utc; i++) {
- if( utak[i].nap < ut.nap ) {
- ut = utak[i];
- continue;
- }
- if( utak[i].nap == ut.nap && utak[i].fuvarszam < ut.fuvarszam ) {
- ut = utak[i];
- }
- }
- cout << "A het legelso utja " << ut.tav << " km hosszu volt!" << endl;
- cout << endl;
- }
- void feladat3() {
- cout << "3. feladat" << endl;
- Ut ut;
- for(uint i = 0; i < utc; i++) {
- if( utak[i].nap > ut.nap ) {
- ut = utak[i];
- continue;
- }
- if( utak[i].nap == ut.nap && utak[i].fuvarszam > ut.fuvarszam )
- ut = utak[i];
- }
- cout << "A het utolso utja " << ut.tav << " km hosszu volt!" << endl;
- cout << endl;
- }
- void feladat4() {
- cout << "4. feladat" << endl;
- bool munkaNap[] = {false, false, false, false, false, false, false};
- for(uint i = 0; i < utc; i++) {
- munkaNap[utak[i].nap-1] = true;
- }
- for(uint i = 0; i < 7; i++) {
- if( !munkaNap[i] ) {
- cout << "A het "<< (i+1) << ". napjan a futar NEM dolgozott!" << endl;
- }
- }
- cout << endl;
- }
- void feladat5() {
- cout << "5. feladat" << endl;
- uint tavok[] = {0, 0, 0, 0, 0, 0, 0};
- for(uint i = 0; i < utc; i++) {
- tavok[utak[i].nap-1] += utak[i].tav;
- }
- for(uint i = 0; i < 7; i++) {
- cout << (i+1) << ". nap: " << tavok[i] << " km " << endl;
- }
- cout << endl;
- }
- uint utErtek(uint tav) {
- if( tav >= 1 && tav <= 2 )
- return 500;
- else if( tav >= 3 && tav <= 5 )
- return 700;
- else if( tav >= 6 && tav <= 10 )
- return 900;
- else if( tav >= 11 && tav <= 20 )
- return 1400;
- else if( tav >= 21 && tav <= 30 )
- return 2000;
- }
- void feladat6() {
- cout << "6. feladat" << endl;
- uint tav;
- cout << "Adjon meg egy tavot km-ben (egesz szam): ";
- cin >> tav;
- cout << endl;
- uint fizetes = utErtek(tav);
- cout << tav << " km tav utan a ceg " << fizetes << " Ft-ot fizetne!" << endl;
- cout << endl;
- }
- void feladat7() {
- cout << "7. feladat" << endl;
- Ut sUtak[utc];
- uint c = 0;
- while( c < utc ) {
- Ut ut;
- ut.nap = 8;
- ut.fuvarszam = 41;
- for(uint i = 0; i < utc; i++) {
- if( c == 0 ) {
- if( ut.nap > utak[i].nap ) {
- ut = utak[i];
- continue;
- }
- if( ut.nap == utak[i].nap && ut.fuvarszam > utak[i].fuvarszam )
- ut = utak[i];
- } else {
- if( sUtak[c-1].nap < utak[i].nap ) {
- if( ut.nap > utak[i].nap )
- ut = utak[i];
- if( ut.nap == utak[i].nap && ut.fuvarszam > utak[i].fuvarszam )
- ut = utak[i];
- }
- if( sUtak[c-1].nap == utak[i].nap && sUtak[c-1].fuvarszam < utak[i].fuvarszam ) {
- if( ut.nap > utak[i].nap )
- ut = utak[i];
- if( ut.nap == utak[i].nap && ut.fuvarszam > utak[i].fuvarszam )
- ut = utak[i];
- }
- }
- }
- sUtak[c++] = ut;
- }
- for(uint i = 0; i < c; i++) {
- cout << sUtak[i].nap << ". nap " << sUtak[i].fuvarszam << ". ut: " << utErtek(sUtak[i].tav) << " Ft" << endl;
- }
- cout << endl;
- }
- void feladat8() {
- cout << "8. feladat" << endl;
- uint fizetes;
- for(uint i = 0; i < utc; i++) {
- fizetes += utErtek(utak[i].tav);
- }
- cout << "A futar a heti munkajaert "<< fizetes << " Ft-ot kap!" << endl;
- cout << endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement