Advertisement
Guest User

lab 7.2

a guest
Dec 8th, 2019
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.88 KB | None | 0 0
  1. #include <iostream>
  2. #include <string.h>
  3. using namespace std;
  4. struct date
  5. {
  6. int day;
  7. int month;
  8. int year;
  9. };
  10. struct sklad
  11. {
  12. char naim[40];
  13. int kol;
  14. double price;
  15. date data;
  16. };
  17. int GetDays(int dnow, int mnow, int ynow, date curDate) //функция для вычисления сколько дней товар лежит на складе
  18. {
  19. return ((mnow - curDate.month) * 31 + dnow - curDate.day);
  20. }
  21. int main()
  22. {
  23. int n;
  24. cout << "Vvedite n(razmer massiva structur)" << endl;
  25. cin >> n;
  26.  
  27. int dnow = 22; //текущая дата
  28. int mnow = 11;
  29. int ynow = 2019;
  30.  
  31. sklad *stov = new sklad[n]; //массив структур
  32. int tov, i, j; //tov- кол-во товаров; i,j- счетчики /* , dni[50];*/
  33. cout << "Vvedite kol-vo tovarov" << endl;
  34. cin >> tov;
  35. for (i = 0; i < tov; i++)
  36. {
  37. cout << "Vvedite naimenovanie tovara ";
  38. cin >> stov[i].naim;
  39. cout << "Vvedite kolichestvo edinic tovara ";
  40. cin >> stov[i].kol;
  41. cout << "Vvedite cenu ";
  42. cin >> stov[i].price;
  43. cout << "Vvedite chislo postuplenia ";
  44. cin >> stov[i].data.day;
  45. cout << "Vvedite mesyac postuplenia ";
  46. cin >> stov[i].data.month;
  47. cout << "Vvedite god postuplenia ";
  48. cin >> stov[i].data.year;
  49. cout << endl;
  50. }
  51.  
  52. for (i = 0; i < tov; i++)
  53. {
  54. //cout << stov[i].price << " : " << GetDays(dnow, mnow, ynow, stov[i].data) << endl;
  55. if (stov[i].price > 100000 && GetDays(dnow, mnow, ynow, stov[i].data) > 32)
  56. {
  57. for (int a = 0; a < tov - 1; a++)
  58. for (j = i + 1; j < tov; j++)
  59. {
  60. if (strcmp(stov[a].naim, stov[j].naim) == 1)
  61. {
  62. sklad temp = stov[a];
  63. stov[a] = stov[j];
  64. stov[j] = temp;
  65. }
  66. }
  67. }
  68. }
  69.  
  70. for (i = 0; i < tov; i++)
  71. {
  72. if (stov[i].price > 100000 && GetDays(dnow, mnow, ynow, stov[i].data) > 30)
  73. {
  74. cout << stov[i].naim << endl;
  75. }
  76. }
  77. system("pause");
  78. return 0;
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement