Advertisement
Guest User

Untitled

a guest
Feb 25th, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.71 KB | None | 0 0
  1. #include <fstream>
  2. #include <string>
  3. using std::string;
  4. using std::ifstream;
  5. using std::endl;
  6. using std::ofstream;
  7.  
  8. const char Dfailas[] = "Duom.txt";
  9. const char Rfailas[] = "Rez.txt";
  10. const int MaxProd = 10; // Maksimalus produktø skaièius
  11. const int MaxPat = 12; // Maksimalus patiekalø skaièius
  12. const int MaxPav = 15;
  13.  
  14. struct Patiekalas {
  15. string pav;
  16. int Prod[MaxProd];
  17. int k; // patiekalo kaina centais
  18. };
  19.  
  20. void Skaitymas(Patiekalas Pietus[], int& P, int Kainos[], int& N);
  21. int PatiekaloKaina(Patiekalas Pietus, int N, int Kainos[]);
  22. int VienuPietuKaina(Patiekalas Pietus[], int P);
  23. void Spausdinimas(Patiekalas Pietus[], int P, int pKaina);
  24.  
  25. int main()
  26. {
  27. setlocale(LC_ALL, "Lithuanian");
  28. Patiekalas Pietus[MaxPat]; // Patiekalø masyvas, kuris sudaro pietus
  29. int Kainos[MaxProd];
  30. int N; // Produktø skaièius reikalingas pagaminti visus patiekalus
  31. int P; // Patiekalø skaièius sudarantis pietus
  32. int pKaina; // vieno þmogaus pietø kaina
  33.  
  34. Skaitymas(Pietus, P, Kainos, N);
  35.  
  36. for (int i = 0; i < P; i++)
  37. Pietus[i].k = PatiekaloKaina(Pietus[i], N, Kainos);
  38.  
  39. pKaina = VienuPietuKaina(Pietus, P);
  40.  
  41. Spausdinimas(Pietus, P, pKaina);
  42.  
  43. return 0;
  44. }
  45.  
  46. void Skaitymas(Patiekalas Pietus[], int& P, int Kainos[], int& N) {
  47. char eil[MaxPav + 1];
  48. ifstream fd(Dfailas);
  49. fd >> N >> P;
  50. for (int i = 0; i < N; i++) {
  51. fd >> Kainos[i];
  52. }
  53. fd.ignore(80, '\n');
  54. for (int i = 0; i < P; i++) {
  55. fd.get(eil, MaxPav);
  56. Pietus[i].pav = eil;
  57. for (int j = 0; j < N; j++)
  58. fd >> Pietus[i].Prod[j];
  59. fd.ignore(80, '\n');
  60. }
  61. fd.close();
  62. }
  63.  
  64. int PatiekaloKaina(Patiekalas Pietus, int N, int Kainos[]) {
  65. int sum = 0; // Patiekalo kaina
  66. for (int i = 0; i < N; i++)
  67. sum += Pietus.Prod[i] * Kainos[i];
  68. return sum;
  69. }
  70.  
  71. int VienuPietuKaina(Patiekalas Pietus[], int P) {
  72. int sum = 0;
  73. for (int i = 0; i < P; i++)
  74. sum += Pietus[i].k;
  75. return sum;
  76. }
  77.  
  78. void Spausdinimas(Patiekalas Pietus[], int P, int pKaina) {
  79. ofstream fr(Rfailas);
  80. for (int i = 0; i < P; i++)
  81. fr << Pietus[i].pav << Pietus[i].k << endl;
  82. fr << pKaina/100 << " " << pKaina%100 << endl;
  83. fr.close();
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement