Advertisement
Guest User

Untitled

a guest
Oct 14th, 2019
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.84 KB | None | 0 0
  1. #include <iostream>
  2. #include <stdio.h>
  3. #include <conio.h>
  4. #include <stdlib.h>
  5. #include <fstream>
  6. #include <vector>
  7.  
  8. using namespace std;
  9.  
  10. struct scan_info {
  11. char model[25]; // наименование модели
  12. int price; // цена
  13. double x_size; // горизонтальный размер области сканирования
  14. double y_size; // вертикальный размер области сканирования
  15. int optr; // оптическое разрешение
  16. int grey; // число градаций серого
  17. };
  18. void in_scan(int mm, const char* way);
  19. void out_scan (int mm, const char* way, int key);
  20. int main() {
  21. setlocale(LC_ALL, "Russian");
  22. cout << "Введите количество сканеров: ";
  23. int n;
  24. cin >> n;
  25. const char* Path = "D:\Textfiles\TextFile1.txt"; // путь до файла
  26. in_scan(n, Path);
  27. cout << "Введит номер строки, которую необходимо вывести: ";
  28. int k;
  29. cin >> k; k--;
  30. // out_scan(n, Path, k);
  31. return 0;
  32. }
  33. void in_scan(int mm, const char* way) {
  34. vector <scan_info> group(mm);
  35. //vector <scan_info> summ(mm);
  36.  
  37. for (int i = 0;i < mm;i++) { //запоняем вектор структуры данными
  38. cout << "\nВведите данные по " << i + 1 << " Сканер:";
  39. cout << "\nНаименование модели: ";
  40. cin >> group[i].model;
  41. cout << "\nВведите цену: ";
  42. cin >> group[i].price;
  43. cout << "\nГоризонтальный размер области сканирования: ";
  44. cin >> group[i].x_size;
  45. cout << "\nВертикальный размер области сканирования: ";
  46. cin >> group[i].y_size;
  47. cout << "\nОптическое разрешение: ";
  48. cin >> group[i].optr;
  49. cout << "\nЧисло градаций серого: ";
  50. cin >> group[i].grey;
  51. }
  52.  
  53. ofstream out (way, ios::binary); // записываем данные в файл
  54. out.write((char*)&mm, sizeof(mm));
  55. out.write((char*)&group, sizeof(group));
  56. out.close();
  57.  
  58.  
  59. return;
  60. }
  61. void out_scan(int mm, const char* way, int key) {
  62. vector <scan_info> summ(mm);
  63. int num;
  64. num = 0;
  65.  
  66. ifstream fr(way, ios::binary);
  67. //fr.read((char*)&num, sizeof(num));
  68. fr.read((char*)&summ, sizeof(summ));
  69. fr.close();
  70. cout << "\nИскомая строка: ";
  71. cout << "\nНаименование модели: " << summ[key].model << "\nЦена: " << summ[key].price << "\nГоризонтальный размер области сканирования: " << summ[key].x_size << "\nВертикальный размер области сканирования: " << summ[key].y_size << "\nОптическое разрешение: " << summ[key].optr << "\nЧисло градацей серого: " << summ[key].grey;
  72.  
  73. return;
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement