Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cmath>
- #include <stdio.h>
- #include <fstream>
- using namespace std;
- string dis[3] = { "Физика", "Математика", "Информатика" };
- struct baza {
- int numb;
- string name;
- string gr;
- int esm[3];
- };
- void chtenie(baza data[10]) {
- string str;
- ifstream f("wedomost.txt");
- for (int i = 0; i < 10; i++) {
- f.read((char*)&data[i].numb, sizeof(data[i].numb));
- f.read((char*)&data[i].name, sizeof(data[i].name));
- f >> str;
- data[i].name = data[i].name + " " + str;
- cout << data[i].numb << " " << data[i].name << "\n";
- for (int j = 0; j < 3; j++) {
- f.read((char*)&data[i].esm[j], sizeof(data[i].esm[j]));
- cout << dis[j] << " = " << data[i].esm[j] << " ";
- }
- cout << "\n";
- }
- }
- void zapis(baza data[10]) {
- ofstream a("wedomost.dat", ios::binary);
- int k = 0, n = 0;
- cout << "\nДанные о студентах, имеющих хотя бы одну 2\n";
- for (int i = 0; i < 10; i++) {
- for (int j = 0; j < 3; j++) {
- if (data[i].esm[j] == 2)
- k++;
- }
- if (k > 0) {
- n++;
- cout << data[i].numb << " " << data[i].name << "\n";
- a.write((char*)&data[i].numb, sizeof(data[i].numb));
- a.write((char*)&data[i].name, sizeof(data[i].name));
- for (int j = 0; j < 3; j++) {
- a.write((char*)&data[i].esm[j], sizeof(data[i].esm[j]));
- cout << dis[j] << " = " << data[i].esm[j] << " ";
- }
- }
- k = 0;
- cout << "\n";
- }
- if (n == 0)
- cout << "\nТаких студентов нет\n";
- }
- int main() {
- setlocale(LC_ALL, "rus");
- baza data[10];
- cout << "База данных студентов\n";
- chtenie(data);
- zapis(data);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement