Advertisement
Argerd14

SPO_Lab0 v1.0

Feb 22nd, 2017
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.14 KB | None | 0 0
  1. #include "stdafx.h"
  2. #include <iostream>
  3. #include <clocale>
  4. #include <string>
  5. #include <vector>
  6. #include <Windows.h>
  7. #include <fstream>
  8.  
  9. using namespace std;
  10.  
  11. // Структура данных
  12. struct Schoolboy {
  13.     string name;
  14.     string lastname;
  15.     unsigned short int age;
  16. };
  17.  
  18. // Функция записи информации в структуру данных
  19. vector<Schoolboy> AddData() {
  20.     cout << "Введите количество школьников, данные которых Вы хотите записать: " << endl;
  21.     unsigned short int count = 0;
  22.     cin >> count;
  23.     vector<Schoolboy> schoolboy(count);
  24.  
  25.     cout << "Заполните поля данных:" << endl;
  26.     for (unsigned short int i = 0; i < count; i++) {
  27.         cout << "Введите данные о " << i + 1 << " школьнике:" << endl << "Введите имя: " << endl;
  28.         cin >> schoolboy[i].name;
  29.         cout << "Введите фамилию: " << endl;     
  30.         cin >> schoolboy[i].lastname;      
  31.         cout << "Введите возраст: " << endl;
  32.         cin >> schoolboy[i].age;
  33.     }
  34.     cout << "Введенная Вами структура: " << endl;
  35.     for (unsigned short int i = 0; i < count; i++) {
  36.         cout << i + 1 << " " << schoolboy[i].name << " " << schoolboy[i].lastname << " " << schoolboy[i].age << endl;
  37.     }
  38.     return schoolboy;
  39. }
  40.  
  41. // Функция записи стурктуры в файл по условию отбора "Возраст менее..."
  42. void AddDataToFile(vector<Schoolboy> vector) {
  43.     unsigned short int border;
  44.     cout << "Введите верхнюю границу возраста, выше которой в файл запись не будет осуществлена: " << endl;
  45.     cin >> border;
  46.     ofstream fout("spo.text", ios:: trunc);
  47.     cout << "В файл будут записаны следующие данные: " << endl;
  48.     for (unsigned short int i = 0; i < vector.size(); i++) {
  49.         if (vector[i].age <= border) {
  50.             cout << vector[i].name << " " << vector[i].lastname << " " << vector[i].age << endl;
  51.             fout << vector[i].name << " " << vector[i].lastname << " " << vector[i].age << endl;
  52.         }
  53.     }
  54.     fout.close();
  55. }
  56.  
  57. // Главная функция
  58. int main(int argc, _TCHAR* argv[])
  59. {  
  60.     // Русификация
  61.     SetConsoleCP(1251);
  62.     SetConsoleOutputCP(1251);
  63.  
  64.     // Задание 2.2
  65.     unsigned short int num = 4;
  66.     char lastname[] = { "Батейщиков" };
  67.     char lastname1[] = { "Симонов" };
  68.  
  69.     // Задание 2.3
  70.     cout << "Номер бригады: " << num << "\nФамилии студентов: " << endl <<
  71.         lastname << ", " << lastname1 << endl;
  72.  
  73.     // Задание 2.4
  74.     printf_s("%4d %25s, %25s\n", num, lastname, lastname1);
  75.  
  76.     // Задание 2.5  
  77.     unsigned short int mas[3] = { 1, 2, 3 };
  78.     unsigned short int mmm[3] = { 4, 5, 6 };
  79.  
  80.     // Задание 2.6
  81.     for (unsigned short int i = 0; i < sizeof(mas) / sizeof(mas[0]); i++) {
  82.         printf_s("%4d %4d\n", mas[i], mmm[i]);
  83.     }  
  84.  
  85.     // Вызов функций, работающих с заданием, цель которого реализация структуры данных
  86.     AddDataToFile(AddData());
  87.    
  88.     system("pause");
  89.     return 0;
  90. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement