Advertisement
Guest User

Untitled

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