Advertisement
Johurt

[C++] SD1

Jan 3rd, 2018
247
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 16.50 KB | None | 0 0
  1. // Užkrauna bibliotekas
  2. #include <cstdlib>
  3. #include <iostream>
  4. #include <string>
  5. #include <fstream>
  6. #include <windows.h>
  7. #include <stdlib.h>
  8.  
  9. #define PREKIU_SKAICIUS 10 // makrosas prekių sk. nustatyti
  10.  
  11. using namespace std; // nustatoma vardų "erdvė"
  12.  
  13. // Funkcijų prototipai
  14. void clear(); // Išvalo langą
  15. void pagr(); // Parodo pagrindinį menių
  16. void modulis1(); // Matematinių skaičiavimų modulis
  17. void modulis2(); // Teksto šifravimo modulis
  18. void modulis3(); // Skaičiavimų su prekių sąrašais modulis
  19. void ApkeistiPrekes(int nr1, int nr2); // Apkeičia prekių informaciją
  20. void IrasytiPrekes(); // Prekių įrašymas į failą
  21. void PrekiuAtvaizdavimas(); // Prekių sąrašo atvaizdavimas
  22.  
  23.  
  24. struct Preke { // Struktūrinis duomenų tipas
  25.     string pavadinimas;
  26.     int kiekis;
  27.     int kaina;
  28.     int suma;
  29. };
  30. Preke N[PREKIU_SKAICIUS];
  31.  
  32. // Masyvai, skirti prekių inf. įrašyti paleidžiant programą
  33. string P[PREKIU_SKAICIUS] = {"ANGLIŠKOS SALOTOS", "TRAŠKIOJI VIŠTIENA", "AITRI KIAULIENOS SPRANDINĖ", "GRUZDINTA ŽUVIS IR BULVYTĖS", "MĖLYNIEJI MOLIUSKAI",
  34. "VEGETARIŠKAS ŠNICELIS", "ITALIŠKA VIŠTIENA", "VIŠTIENA SU GRYBŲ PADAŽU", "PALTUSO KEPSNYS", "ANTIES KRŪTINĖLĖ APELSINŲ PADAŽE"};
  35. int K[PREKIU_SKAICIUS] = {rand() % 15 + 1, rand() % 15 + 1, rand() % 15 + 1, rand() % 15 + 1, rand() % 15 + 1, rand() % 15 + 1, rand() % 15 + 1, rand() % 15 + 1, rand() % 15 + 1, rand() % 15 + 1};
  36. int K2[PREKIU_SKAICIUS] = {rand() % 7 + 1, rand() % 7 + 1, rand() % 7 + 1, rand() % 7 + 1, rand() % 7 + 1, rand() % 7 + 1, rand() % 7 + 1, rand() % 7 + 1, rand() % 7 + 1, rand() % 7 + 1};
  37.  
  38. main() { // pagrindinė funkcija
  39.     setlocale(LC_ALL, "Lithuanian"); // Nustatoma locale, lietuvių kl., lietuviškų raidžių palaikymui
  40.    
  41.     /*
  42.         * Sukuriami kintamieji
  43.         * Įrašoma informacija iš masyvų
  44.     */
  45.    
  46.     int i = 0, j = 0;
  47.    
  48.     for(i = 0; i < PREKIU_SKAICIUS; i++) {
  49.         N[i].suma = -77;
  50.     }
  51.    
  52.     /*for(i = 0; i < PREKIU_SKAICIUS; i++) {
  53.         //if(i == 3) {
  54.         //  N[i].suma = -77;
  55.         //  continue;
  56.         //}
  57.         N[i].pavadinimas = P[i];
  58.         N[i].kiekis = K[i];
  59.         N[i].kaina = K2[i];
  60.         N[i].suma = (N[i].kiekis * N[i].kaina);
  61.     }*/
  62.    
  63.     pagr(); // iškviečiama funkcija su pagrindinio meniu kodu
  64.     system("pause>nul"); // Užlaiko iki tol, kol nebus suvesta informacija
  65.     return EXIT_SUCCESS; // funkcija gražina EXIT_SUCCESS, reiškia, kad funkcija suveikė gerai
  66. }
  67.  
  68. void clear() { // Funkcija langui išvalyti
  69.     system("cls");
  70. }
  71.  
  72. void pagr() {
  73.     cout << "PASIRINKITE MODULĮ (ĮRAŠYKITE MODULIO NR.):\n\n\t1. Matematinių skaičiavimų modulis\n\t2. Teksto šifravimo modulis\n\t3. Skaičiavimų su prekių sąrašais modulis\n\n\t[!] Norėdami užbaigti, suveskite „0“\n\n\n";
  74.    
  75.     int m;
  76.     do {
  77.         cin >> m;
  78.         switch(m) {
  79.             case 0: {
  80.                 clear();
  81.                 cout << "MODULIO PASIRINIKIMAS:\n\n\tVeiksmas nutraukiamas!\n\n\n";
  82.                 return;
  83.             }
  84.             case 1: modulis1(); break;
  85.             case 2: modulis2(); break;
  86.             case 3: modulis3(); break;
  87.             default: {
  88.                 cout << "Klaida, modulio su tokiu nr. nėra! Bandykite dar kartą!\n";
  89.                 break;
  90.             }
  91.         }
  92.     }
  93.     while (!cin.good());
  94. }
  95.  
  96. void modulis1() {
  97.     clear();
  98.     cout << "MATEMATINIŲ SKAIČIAVIMŲ MODULIS:\n\n\tĮrašykite 2 skaičius:\n\n\n";
  99.    
  100.     int sk1, sk2;
  101.     cin >> sk1 >> sk2;
  102.    
  103.     clear();
  104.     cout << "MATEMATINIŲ SKAIČIAVIMŲ MODULIS/REZULTATAS:\n\n";
  105.     cout << "\t" << sk1 << " + " << sk2 << " = " << sk1 + sk2 << endl;
  106.     cout << "\t" << sk1 << " - " << sk2 << " = " << sk1 - sk2 << endl;
  107.     cout << "\t" << sk1 << " * " << sk2 << " = " << sk1 * sk2 << endl;
  108.     cout << "\t" << sk1 << " / " << sk2 << " = " << float(sk1) / float(sk2) << " (" << sk1 % sk2 << ") " << "\n\n\n";
  109. }
  110.  
  111. void modulis2() {
  112.     clear();
  113.     cout << "TEKSTO ŠIFRAVIMO MODULIS:\n\nPASIRINKITE SUB-MODULĮ (ĮRAŠYKITE SUB-MODELIO NR.)\n\n";
  114.     HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
  115.     SetConsoleTextAttribute(hConsole, FOREGROUND_GREEN);
  116.     cout << "\t1. Nuskaityti tekstinį failą su tekstu ir jį užšifruojant išsaugoti į atskirą užšifruoto teksto failą\n\t2. Nuskaityti užšifruoto teksto failą jį iššifruojant ir parodant rezultatą ekrane\n\t3. Nuskaityti užšifruoto teksto failą jį iššifruojant ir įrašant rezultatą tekstiniame faile\n\t4. „abcd“ užšifravimas\n\n\n";
  117.     SetConsoleTextAttribute(hConsole, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
  118.    
  119.     int sb;
  120.     do {
  121.         cin >> sb;
  122.     }
  123.     while (!cin.good() || !(sb == 1 || sb == 2 || sb == 3 || sb == 4));
  124.    
  125.     clear();
  126.     switch(sb) {
  127.         case 1: {
  128.             cout << "TEKSTO ŠIFRAVIMO MODULIS/1 SUB-MODULIS\n\nĮrašykite failo pavadinimą, iš kurio bus skaitomas tekstas, ir failo pavadinimą, į kurį bus įrašytas užšifruotas tekstas:\n\n[!] Failas atidaromas ir sukuriamas „txt“ aplankale\n\n\n";
  129.             string i, o;
  130.             do {
  131.                 cin >> i >> o;
  132.                
  133.                 clear();
  134.                 int s = -1;
  135.                 char sim;
  136.                 string n, h;
  137.                 i.insert(0, "txt/");
  138.                 o.insert(0, "txt/");
  139.                 cout << "TEKSTO ŠIFRAVIMO MODULIS/1 SUB-MODULIS\n\nFailų pavadinimai:\n" << i << endl << o << "\n__________\n" << endl;
  140.                 ifstream fs(i.c_str());
  141.                 if (!fs.is_open()) {
  142.                     cout << "Failas, pavadinimu: " << i << " nerastas, programa nutraukia veiksmą.";
  143.                     return;
  144.                 }
  145.                 while (fs.get(sim)) {
  146.                     s++;
  147.                     n.insert(s, 1, char(sim));
  148.                     h.insert(s, 1, char(sim+7));
  149.                 }
  150.                 fs.close();
  151.                
  152.                 ofstream fr(o.c_str());
  153.                 if (!fr.is_open()) return;
  154.                 fr << h;
  155.                 fr.close();
  156.                
  157.                 cout << "Paprastas tekstas iš failo: " << n << endl;
  158.                 cout << "Užkoduotas tekstas: " << h << "\n\n\n";
  159.             }
  160.             while (!cin.good());
  161.             break;
  162.         }
  163.         case 2: {
  164.             cout << "TEKSTO ŠIFRAVIMO MODULIS/2 SUB-MODULIS\n\nĮrašykite failo pavadinimą, iš kurio bus skaitomas užšifruotas tekstas:\n\n[!] Failas atidaromas „txt“ aplankale\n\n\n";
  165.             string i;
  166.             do {
  167.                 cin >> i;
  168.                
  169.                 clear();
  170.                 int s = -1;
  171.                 char sim;
  172.                 string n, h;
  173.                 i.insert(0, "txt/");
  174.                 cout << "TEKSTO ŠIFRAVIMO MODULIS/2 SUB-MODULIS\n\nFailo pavadinimas: " << i << "\n__________\n" << endl;
  175.                 ifstream fs(i.c_str());
  176.                 if (!fs.is_open()) {
  177.                     cout << "Failas, pavadinimu: " << i << " nerastas, programa nutraukia veiksmą.";
  178.                     return;
  179.                 }
  180.                 while (fs.get(sim)) {
  181.                     s++;
  182.                     n.insert(s, 1, char(sim-7));
  183.                     h.insert(s, 1, char(sim));
  184.                 }
  185.                 fs.close();
  186.                
  187.                 cout << "Užkoduotas tekstas: " << h << endl;
  188.                 cout << "Paprastas tekstas iš failo: " << n << "\n\n\n";
  189.             }
  190.             while (!cin.good());
  191.             break;
  192.         }
  193.         case 3: {
  194.             cout << "TEKSTO ŠIFRAVIMO MODULIS/3 SUB-MODULIS\n\nĮrašykite failo pavadinimą, iš kurio bus skaitomas tekstas, ir failo pavadinimą, į kurį bus įrašytas iššifruotas tekstas:\n\n[!] Failas atidaromas ir sukuriamas „txt“ aplankale\n\n\n";
  195.             string i, o;
  196.             do {
  197.                 cin >> i >> o;
  198.  
  199.                 clear();
  200.                 int s = -1;
  201.                 char sim;
  202.                 string n, h;
  203.                 i.insert(0, "txt/");
  204.                 o.insert(0, "txt/");
  205.                 cout << "TEKSTO ŠIFRAVIMO MODULIS/3 SUB-MODULIS\n\nFailų pavadinimai:\n" << i << endl << o << "\n__________\n" << endl;
  206.                 ifstream fs(i.c_str());
  207.                 if (!fs.is_open()) {
  208.                     cout << "Failas, pavadinimu: " << i << " nerastas, programa nutraukia veiksmą.";
  209.                     return;
  210.                 }
  211.                 while (fs.get(sim)) {
  212.                     s++;
  213.                     n.insert(s, 1, char(sim-7));
  214.                     h.insert(s, 1, char(sim));
  215.                 }
  216.                 fs.close();
  217.                
  218.                 ofstream fr(o.c_str());
  219.                 if (!fr.is_open()) return;
  220.                 fr << n;
  221.                 fr.close();
  222.                
  223.                 cout << "Užkoduotas tekstas: " << h << endl;
  224.                 cout << "Iššifruotas tekstas: " << n << "\n\n\n";
  225.             }
  226.             while (!cin.good());
  227.             break;
  228.         }
  229.         case 4: {
  230.             cout << "TEKSTO ŠIFRAVIMO MODULIS/4 SUB-MODULIS\n\n\n";
  231.             char r[5] = "abcd";
  232.             cout << "„" << char(r[0]) << char(r[1]) << char(r[2]) << char(r[3]) << "“" << " tekstas užkoduotas atrodo štai taip: " << "„" << char(r[0] + 7) << char(r[1] + 7) << char(r[2] + 7) << char(r[3] + 7) << "“" << "\n\n\n";
  233.             break;
  234.         }
  235.     }
  236. }
  237.  
  238. void modulis3() {
  239.     clear();
  240.     cout << "SKAIČIAVIMŲ SU PREKIŲ SĄRAŠAIS MODULIS:\n\nPASIRINKITE SUB-MODULĮ (ĮRAŠYKITE SUB-MODULIO NR.)\n\n\t1. Į esamą sąrašą pridėti papildomas prekes\n\t2. Įrašyti turimą prekių sąrašą į tekstinį failą\n\t3. Atidaryti prekių sąrašą nuskaitant jį iš tekstinio failo\n\t4. Atvaizduoti esamų prekių sąrašą ekrane\n\t5. Atvaizduoti prekių sąrašą jį surūšiavus pagal vieną iš kintamųjų (prekių pavadinimą, kiekį arba kainą, sumą)\n\t6. Ištrinti pasirinktą prekių sąraše esančią prekę\n\t7. Apskaičiuoti bendrą visų prekių sumą\n\n\n";
  241.  
  242.     int sb;
  243.     do {
  244.         cin >> sb;
  245.     }
  246.     while (!cin.good() || !(sb > 0 && sb << 8));
  247.    
  248.     switch(sb) {
  249.         case 1: {
  250.             clear();
  251.             cout << "SKAIČIAVIMŲ SU PREKIŲ SĄRAŠAIS MODULIS/PREKĖS (-IŲ) PRIDĖJIMAS:\n\n\tĮrašykite prekės pavadinimą, kiekį ir kainą:\n\n\n";
  252.             string name;
  253.             int q, price;
  254.             do {
  255.                 cin >> name >> q >> price;
  256.                
  257.                 for(int c = 0; c < PREKIU_SKAICIUS; c++) {
  258.                     if(N[c].suma != -77) continue;
  259.                     clear();
  260.                     N[c].pavadinimas = name;
  261.                     N[c].kiekis = q;
  262.                     N[c].kaina = price;
  263.                     N[c].suma = (N[c].kiekis * N[c].kaina);
  264.                     cout << "SKAIČIAVIMŲ SU PREKIŲ SĄRAŠAIS MODULIS/PREKĖS (-IŲ) PRIDĖJIMAS:\n\nPRIDĖJOTE PREKĘ:\n\tPavadinimas: " << name << "\n\tKiekis: " << q << "\n\tKaina: " << price << "\n\tSuma: " << q * price << "\n\n\n";
  265.                     return;
  266.                 }
  267.                 cout << "Nepavyko pridėti prekės, todėl, kad masyve nėra vietos.\n\n\n";
  268.                 return;
  269.             }
  270.             while (!cin.good());
  271.             break;
  272.         }
  273.         case 2: {
  274.             clear();
  275.             cout << "SKAIČIAVIMŲ SU PREKIŲ SĄRAŠAIS MODULIS/PREKIŲ ĮRAŠYMAS Į FAILĄ:\n\nPrekės įrašytos į failą.\n\n\n";
  276.             IrasytiPrekes();
  277.             break;
  278.         }
  279.         case 3: { // Prekių sąrašo nuskaitymas iš failo
  280.             clear();
  281.             cout << "SKAIČIAVIMŲ SU PREKIŲ SĄRAŠAIS MODULIS/PREKIŲ ĮRAŠYMAS IŠ FAILO:\n\n";
  282.        
  283.             ifstream f("txt/prekes.txt");
  284.             int k = -1, r = 0, s = -1, d[4];
  285.             if(f.is_open()) {
  286.                 string temp;
  287.                 string kiekis;
  288.                 while(getline(f, temp)) {
  289.                     cout << k + 2 << ") " << temp << endl;
  290.                     k++;
  291.                     s = -1;
  292.                     for(r = 0; r < temp.length(); r++) {
  293.                         if(temp[r] == '\n') break;
  294.                         if(temp[r] == '|') {
  295.                             s++;
  296.                             d[s] = r;
  297.  
  298.                             if(s == 2) {
  299.                                
  300.                                 N[k].pavadinimas.append(temp, 0, d[0]);
  301.                                 cout << "Pav.: " << N[k].pavadinimas << endl;
  302.                                
  303.                                 kiekis.append(temp, d[0] + 1, (d[1] - d[0] - 1));
  304.                                 N[k].kiekis = atoi(kiekis.c_str());
  305.                                 cout << "Kiekis.: " << N[k].kiekis << endl;
  306.                                 kiekis.clear();
  307.                                
  308.                                 kiekis.append(temp, d[1] + 1, (d[2] - d[1] - 1));
  309.                                 N[k].kaina = atoi(kiekis.c_str());
  310.                                 cout << "Kaina.: " << N[k].kaina << endl;
  311.                                 kiekis.clear();
  312.  
  313.                                 kiekis.append(temp, d[2] + 1, temp.length());
  314.                                 N[k].suma = atoi(kiekis.c_str());
  315.                                 cout << "Suma.: " << N[k].suma << endl;
  316.                                 kiekis.clear();
  317.                                
  318.                                 s = -1;
  319.                                 break;
  320.                             }
  321.                         }
  322.                        
  323.                     }
  324.                     cout << "____________________\n\n\n";
  325.                 }
  326.             }
  327.             f.close();
  328.            
  329.             cout << "SKAIČIAVIMŲ SU PREKIŲ SĄRAŠAIS MODULIS/ĮRAŠYTŲ PREKIŲ IŠ FAILO, ATVAIZDAVIMAS IŠ KINTAMŲJŲ:\n\n";
  330.             PrekiuAtvaizdavimas();
  331.             break;
  332.         }
  333.         case 4: {
  334.             clear();
  335.             cout << "SKAIČIAVIMŲ SU PREKIŲ SĄRAŠAIS MODULIS/ESAMŲ PREKIŲ SĄRAŠO ATVAIZDAVIMAS:\n\n";
  336.            
  337.             int k = 0;
  338.             for(int c = 0; c < PREKIU_SKAICIUS; c++) {
  339.                 if(N[c].suma == -77) continue;
  340.                 k++;
  341.                 if(k == 1) {
  342.                     cout << "ESAMŲ PREKIŲ SĄRAŠAS:\n"; 
  343.                 }
  344.                 cout << "Pavadinimas: " << N[c].pavadinimas << ", Kiekis: " << N[c].kiekis << ", Kaina: " << N[c].kaina << ", Suma: " << N[c].suma << endl;
  345.             }
  346.             if(k == 0) {
  347.                 cout << "Esamų prekių sąrašas: PREKIŲ NĖRA.\n\n\n";  
  348.             }
  349.             else {
  350.                 cout << "\n\n";
  351.             }
  352.             break;
  353.         }
  354.         case 5: {
  355.             clear();
  356.             cout << "SKAIČIAVIMŲ SU PREKIŲ SĄRAŠAIS MODULIS/PREKIŲ SĄRAŠO RŪŠIAVIMAS:\n\nPasirinkite kintamąjį, pagal kurį prekės bus surūšiuotos:\n\t1. Pavadinimą\n\t2. Kiekį\n\t3. Kainą\n\t4. Sumą\n\n\n";
  357.            
  358.             int sb, i = 0, j = 0;
  359.             do {
  360.                 cin >> sb;
  361.                 if(0 < sb < 5) {
  362.                     switch(sb) {
  363.                         case 1: { // Rūšiavimas pagal pavadinimą
  364.                             clear();
  365.                             cout << "SKAIČIAVIMŲ SU PREKIŲ SĄRAŠAIS MODULIS/PREKIŲ SĄRAŠO RŪŠIAVIMAS/1:\n\n";
  366.                             for(i = 0; i < PREKIU_SKAICIUS; i++) {
  367.                                 for(j = 0; j < PREKIU_SKAICIUS; j++) {
  368.                                     if((i != j) && (N[i].suma != -77 && N[j].suma != -77)) {
  369.                                         if(N[i].pavadinimas < N[j].pavadinimas) {
  370.                                             ApkeistiPrekes(i, j);
  371.                                         }
  372.                                     }
  373.                                 }
  374.                             }
  375.                             PrekiuAtvaizdavimas();
  376.                             break;
  377.                         }
  378.                         case 2: { // Rūšiavimas pagal kiekį
  379.                             clear();
  380.                             cout << "SKAIČIAVIMŲ SU PREKIŲ SĄRAŠAIS MODULIS/PREKIŲ SĄRAŠO RŪŠIAVIMAS/2:\n\n";
  381.                             for(i = 0; i < PREKIU_SKAICIUS; i++) {
  382.                                 for(j = 0; j < PREKIU_SKAICIUS; j++) {
  383.                                     if((i != j) && (N[i].suma != -77 && N[j].suma != -77)) {
  384.                                         if(N[i].kiekis > N[j].kiekis) {
  385.                                             ApkeistiPrekes(i, j);
  386.                                         }
  387.                                     }
  388.                                 }
  389.                             }
  390.                             PrekiuAtvaizdavimas();
  391.                             break;
  392.                         }
  393.                         case 3: { // Rūšiavimas pagal kaina
  394.                             clear();
  395.                             cout << "SKAIČIAVIMŲ SU PREKIŲ SĄRAŠAIS MODULIS/PREKIŲ SĄRAŠO RŪŠIAVIMAS/3:\n\n";
  396.                             for(i = 0; i < PREKIU_SKAICIUS; i++) {
  397.                                 for(j = 0; j < PREKIU_SKAICIUS; j++) {
  398.                                     if((i != j) && (N[i].suma != -77 && N[j].suma != -77)) {
  399.                                         if(N[i].kaina > N[j].kaina) {
  400.                                             ApkeistiPrekes(i, j);
  401.                                         }
  402.                                     }
  403.                                 }
  404.                             }
  405.                             PrekiuAtvaizdavimas();
  406.                             break;
  407.                         }
  408.                         case 4: { // Rūšiavimas pagal sumą
  409.                             clear();
  410.                             cout << "SKAIČIAVIMŲ SU PREKIŲ SĄRAŠAIS MODULIS/PREKIŲ SĄRAŠO RŪŠIAVIMAS/4:\n\n";
  411.                             for(i = 0; i < PREKIU_SKAICIUS; i++) {
  412.                                 for(j = 0; j < PREKIU_SKAICIUS; j++) {
  413.                                     if((i != j) && (N[i].suma != -77 && N[j].suma != -77)) {
  414.                                         if(N[i].suma > N[j].suma) {
  415.                                             ApkeistiPrekes(i, j);
  416.                                         }
  417.                                     }
  418.                                 }
  419.                             }
  420.                             PrekiuAtvaizdavimas();
  421.                             break;
  422.                         }
  423.                     }
  424.                 }
  425.             }
  426.             while (!cin.good());
  427.             break;
  428.         }
  429.         case 6: {
  430.             clear();
  431.             cout << "SKAIČIAVIMŲ SU PREKIŲ SĄRAŠAIS MODULIS/PREKĖS IŠTRINIMAS:\n\nPrekių sąrašas:\n";
  432.             int k = 0, var[PREKIU_SKAICIUS];
  433.             for(int c = 0; c < PREKIU_SKAICIUS; c++) {
  434.                 var[c] = -77;
  435.                 if(N[c].suma == -77) continue;
  436.                 k++;
  437.                 var[k-1] = c;
  438.                 cout << k << ". Pavadinimas: " << N[c].pavadinimas << ", Kiekis: " << N[c].kiekis << ", Kaina: " << N[c].kaina << ", Suma: " << N[c].suma << endl;
  439.             }
  440.             if(k == 0) {
  441.                 cout << "Esamų prekių sąrašas: PREKIŲ NĖRA.\n";
  442.                 return;
  443.             }
  444.             else
  445.             {
  446.                 int nr;
  447.                 do {
  448.                     cout << "\nĮrašykite prekės nr., kuria norite ištrinti:\n";
  449.                     cin >> nr;
  450.                     nr = var[nr-1];
  451.                     if(!(nr < 0 || nr > PREKIU_SKAICIUS-1)) {
  452.                         clear();
  453.                         cout << "SKAIČIAVIMŲ SU PREKIŲ SĄRAŠAIS MODULIS/PREKĖS IŠTRINIMAS:\n\n";
  454.                         cout << "Prekė ištrinta (" << "Pavadinimas: " << N[nr].pavadinimas << ", Kiekis: " << N[nr].kiekis << ", Kaina: " << N[nr].kaina << ", Suma: " << N[nr].suma << ")" << "\n\n\n";
  455.                         N[nr].pavadinimas = " ";
  456.                         N[nr].kiekis = 0;
  457.                         N[nr].kaina = 0;
  458.                         N[nr].suma = -77;
  459.                         break;
  460.                     }
  461.                 }
  462.                 while (!cin.good() || (nr < 0 || nr > PREKIU_SKAICIUS-1));
  463.             }
  464.             break;
  465.         }
  466.         case 7: {
  467.             clear();
  468.             cout << "SKAIČIAVIMŲ SU PREKIŲ SĄRAŠAIS MODULIS/BENDRA PREKIŲ SUMA:\n\n";
  469.             int sum = 0;
  470.             for(int c = 0; c < PREKIU_SKAICIUS; c++) {
  471.                 if(N[c].suma == -77) continue;
  472.                 sum += N[c].suma;
  473.             }
  474.             cout << "Bendrą visų prekių sumą yra: " << sum << " (valiuta)\n";  
  475.             break;
  476.         }
  477.     }
  478. }
  479.  
  480. void ApkeistiPrekes(int nr1, int nr2) { // Apkeičia prekės tarpusavyje, masyve
  481.     swap(N[nr1].pavadinimas, N[nr2].pavadinimas);
  482.     swap(N[nr1].kiekis, N[nr2].kiekis);
  483.     swap(N[nr1].kaina, N[nr2].kaina);
  484.     swap(N[nr1].suma, N[nr2].suma);
  485. }
  486.  
  487. void IrasytiPrekes() { // Įrašo prekių informaciją į failą
  488.     ofstream fr("txt/prekes.txt");
  489.     if (!fr.is_open()) return;
  490.     for(int c = 0; c < PREKIU_SKAICIUS; c++) {
  491.         if(N[c].suma == -77) continue;
  492.         fr << N[c].pavadinimas << "|" << N[c].kiekis << "|"  << N[c].kaina << "|"  << N[c].suma << endl;
  493.     }
  494.     fr.close();
  495. }
  496.  
  497. void PrekiuAtvaizdavimas() { // Atvaizduoja prekes
  498.     int k = 0;
  499.     for(int c = 0; c < PREKIU_SKAICIUS; c++) {
  500.         if(N[c].suma == -77) continue;
  501.         k++;
  502.         cout << k << ". Pavadinimas: " << N[c].pavadinimas << ", Kiekis: " << N[c].kiekis << ", Kaina: " << N[c].kaina << ", Suma: " << N[c].suma << endl;
  503.     }
  504.     cout << "\n\n";
  505. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement