Advertisement
Guest User

Untitled

a guest
Dec 19th, 2014
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.06 KB | None | 0 0
  1. #include "stdafx.h"
  2. #pragma warning(disable: 4996)
  3. #include <windows.h>
  4. #include <fstream>
  5. #include <string>
  6. #include <iostream>
  7. using namespace std;
  8. struct igruschka
  9. {
  10. char name [15];
  11. int stoimost;
  12. int min;
  13. int max;
  14. };
  15. //ВВОД N====================================
  16. void vvod(int &n)
  17. {
  18. cout << " Vvedite kol-vo igruschek ";
  19. cin >> n;
  20. }
  21. //КОНЕЦ ВВОДА N=============================
  22. //БИНАРНЫЙ ФАЙЛ===============================
  23. void myfile (int n)
  24. {
  25. //ЗАПИСЬ БИНАРНОГО ФАЙЛА==================
  26. igruschka perem;
  27. FILE * f;
  28. f=fopen ("file.bin", "wb");
  29. if (f== NULL)
  30. {
  31. cout << "Oschibka otkritiya faila dlya zapisi" << endl;
  32. exit(EXIT_FAILURE);
  33. }
  34. for (int i=0; i<n; i++)
  35. {
  36. cout << "Nazvanie igrushki - "; cin >> perem.name;
  37. cout << "Stoimost - "; cin >> perem.stoimost;
  38. cout << "Min vozrast - "; cin >> perem.min;
  39. cout << "Max vozrast - "; cin >> perem.max;
  40. }
  41. fwrite(&perem,sizeof(igruschka),1,f);
  42. fclose(f);
  43. //ЧТЕНЕ БИНАРНОГО ФАЛЙА=============================
  44. f=fopen ("file.bin", "rb");
  45. if (f== NULL)
  46. {
  47. cout << "Oschibka otkritiya faila dlya zapisi" << endl;
  48. exit(EXIT_FAILURE);
  49. }
  50. for (int i=0; i<n; i++)
  51. {
  52. fread (&perem, sizeof(igruschka),1,f);
  53. if ((perem.stoimost <= 400) && (perem.min <= 5) && (perem.max <=5))
  54. cout << perem.name << endl;
  55. }
  56. fclose(f);
  57. }
  58. //КОНЕЦ БИНАРНОГО ФАЙЛА============================
  59. //ТЕХТОВЫЙ ФАЙЛ==================================
  60. void myfile (double n)
  61. {
  62. //ЗАПИСЬ ТЕКСТОВОГО ФАЙЛА=======================
  63. FILE * f;
  64. f=fopen ("text.txt", "w");
  65. if (f== NULL)
  66. {
  67. cout << "Oschibka oktritiya faila dlya zapisi" << endl;
  68. exit(EXIT_FAILURE);
  69. }
  70. char name [15];
  71. char stoimost[15];
  72. char min [15];
  73. char max [15];
  74. for (int i=0; i<n; i++)
  75. {
  76. cout << "Nazvanie igrushki - "; cin >>name;
  77. cout << "Stoimost - "; cin >> stoimost;
  78. cout << "Min vozrast - "; cin >> min;
  79. cout << "Max vozrast - "; cin >> max;
  80. fputs (name,f);
  81. fputs ("\n",f);
  82. fputs (stoimost,f);
  83. fputs ("\n",f);
  84. fputs (min,f);
  85. fputs ("\n",f);
  86. fputs (max,f);
  87. fputs ("\n",f);
  88. }
  89. fclose(f);
  90. //ЧТЕНИЕ ТЕКСТОВОГО ФАЙЛА==========================
  91. f=fopen ("text.txt", "r");
  92. if (f== NULL)
  93. {
  94. cout << "Oschibka otkritiya faila dlya zapisi" << endl;
  95. exit(EXIT_FAILURE);
  96. }
  97. for (int i=0; i<n; i++)
  98. {
  99. fgets(name,15,f);
  100. OemToAnsi (name,name);
  101. fgets(stoimost,15,f);
  102. fgets(min,15,f);
  103. fgets(max,15,f);
  104. int stoimost1 = atoi(stoimost);
  105. int min1 = atoi(min);
  106. int max1 = atoi(max);
  107. if ((stoimost1 <= 400) && (min1 <= 5) && (max1 <=5))
  108. cout << name << endl;
  109. }
  110. fclose(f);
  111. }
  112. // КОНЕЦ ТЕКСТОВОГО ФАЙЛА======================
  113. int main()
  114. {
  115. int n,menu;
  116. cout << "Viberiti punkt menu: \n 1) binarniy \n 2) text" << endl; cin >> menu;
  117. switch (menu){
  118. case 1:
  119. { vvod(n); myfile (n); break;}
  120. default :
  121. { vvod(n); double n1=n; myfile (n1); break; }
  122. }
  123. system("pause");
  124. return 0;
  125. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement