Guest User

Untitled

a guest
Dec 10th, 2018
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.55 KB | None | 0 0
  1. // Siuvykla
  2. #include <iostream>
  3. #include <string>
  4. #include <fstream>
  5. #include <iomanip>
  6. using namespace std;
  7.  
  8. #include "Kostiumas.h"
  9.  
  10. //-----------------------------------------------------------
  11. void ĮvestiDuomenis(string fv, Kostiumas Mas[], int & kiek);
  12. //-----------------------------------------------------------
  13. void SpausdintiDuomenis(string fv, Kostiumas Mas[], int kiek);
  14. //------------------------------------------------------------
  15. double VisoAtraizu(Kostiumas Mas[], int kiek);
  16. //-----------------------------------------------------------
  17. int main()
  18. {
  19.     setlocale(LC_ALL, "Lithuanian");
  20.     Kostiumas Mas[100]; // Kostiumu duomenys
  21.     int na = 0;  // Kostiumu kiekis
  22.     ofstream fr("Rezultatai.txt");
  23.     fr.close();
  24.     ĮvestiDuomenis("Duomenys.txt", Mas, na);
  25.     SpausdintiDuomenis("Rezultatai.txt", Mas, na);
  26.     return 0;
  27.     }
  28.  
  29. // Skaičiuoja ir grąžina objektų masyvo A(kiek) lauko sąnaudos vidutinę reikšmę
  30. double VisoAtraizu(Kostiumas Mas[], int kiek)
  31. {
  32.     double sum = 0;
  33.     for (int i=0; i<kiek; i++) {
  34.       sum = sum + Mas[i].atrz;
  35.     }
  36.     return sum;
  37. }
  38. // Skaičiuoja kiek išviso reikia medžiagos kostiumams
  39. double VisoMedžiagos(Kostiumas Mas[], int kiek)
  40. {
  41.     double sum1 = 0;
  42.     for (int i=0; i<kiek; i++) {
  43.       sum1 = sum1 + ( Mas[i].ilgis * Mas[i].plotis ) - ( Mas[i].ilgis * Mas[i].plotis  * Mas[i].atrz / 100 );
  44.     }
  45.     return sum1;
  46.  
  47. }
  48. // Iš failo fv įveda duomenis į objektų masyvą A(kiek).
  49. void ĮvestiDuomenis(string fv, Kostiumas Mas[], int & kiek)
  50. {
  51.     ifstream fd("Duomenys.txt");
  52.     fd >> kiek; fd.ignore();
  53.     for (int i = 0; i < kiek; i++) {
  54.     fd >> Mas[i].mpav;
  55.     fd >> Mas[i].mdpav;
  56.     fd >> Mas[i].ilgis;
  57.     fd >> Mas[i].plotis;
  58.     fd >> Mas[i].atrz;
  59.     fd.ignore();
  60.     }
  61. fd.close();
  62. }
  63. // Objektų masyvo A(kiek) reikšmes spausdina lentele į failą fv
  64. void SpausdintiDuomenis(string fv, Kostiumas Mas[], int kiek)
  65. {
  66. ofstream fr("Rezultatai.txt");
  67. fr.setf(ios::fixed); fr.setf(ios::left);
  68. fr << "Kostiumų skaičius: " << kiek << endl;
  69. fr << "Kostiumų sąrašas:\n";
  70. fr << "---------------------------------------------------------------------\n";
  71. fr << "| Pavadinimas     | Medžiaga        | Medžiagos reikės |\n";
  72. fr << "--------------------------------------------------------------------- \n";
  73. for (int i = 0; i < kiek; i++) {
  74. fr << "| " << setw(15) << Mas[i].mpav << " | " << setw(15) << Mas[i].mdpav
  75. << " | " << setprecision(2) << VisoMedžiagos(Mas, &na) << " m. | " << " | "
  76. << VisoAtraizu(Mas, &na) << endl;
  77. }
  78. fr << "-----------------------------------------------------------------------\n";
  79. fr.close();
  80. }
Add Comment
Please, Sign In to add comment