Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define _CRT_SECURE_NO_WARNINGS
- #include<iostream>
- #include<string>
- #include<fstream>
- #include<ctype.h>
- using std::ofstream;
- using std::ifstream;
- using std::string;
- using std::cout;
- using std::cin;
- using std::endl;
- /*Структура студента*/
- struct Student
- {
- char second_name[24];
- int group_num = 0;
- int marks[3] = { 0,0,0 };
- double average_mark = 0;
- /*Вывод данных, 2 опция*/
- void show(ifstream& fin)
- {
- Student student;
- if (fin.is_open()) { //Проверка на то, открыт ли файл
- while (fin.read((char*)&student, sizeof(Student))){ //Вывод данных о студенте
- cout << "Second name: " << student.second_name;
- cout << "Group number: " << student.group_num;
- cout << "Marks (physics, math, informatics) ";
- for (int i = 0; i < 3; i++)
- {
- cout << student.marks[i] << ' ';
- }
- cout << endl;
- cout << "Average mark: " << student.average_mark;
- cout << "====================================================================" << endl;
- }
- }
- else {
- cout << "The file wasn't created or opened" << endl;
- }
- }
- /*Добавление данных, 3 опция*/
- void add(ofstream& fout)
- {
- Student student;
- if (fout.is_open()) { //Проверка на то, открыт ли файл
- /*Запись фамилии*/
- cout << "Enter a second name" << endl;
- cin >> student.second_name;
- /*Запись номера группы*/
- cout << "Enter a group number" << endl;
- cin >> student.group_num;
- /*Запись оценок*/
- cout << "Enter a marks (physics, math, informatics)" << endl;
- for (int i = 0; i < 3; i++)
- {
- cin >> student.marks[i];
- }
- /*Вычисление среднего балла*/
- for (int i = 0; i < 3; i++)
- {
- student.average_mark += marks[i];
- }
- average_mark = average_mark / 3;
- fout.write((char*)&student, sizeof(Student)); //Непосредственно запись
- }
- else {
- cout << "The file wasn't created or opened" << endl;
- }
- }
- /*Решение инд. задания, 4 опция*/
- void individual(ofstream& fout, ifstream& fin)
- {
- if (fout.is_open() && fin.is_open()) { //Проверка на то, открыт ли файл
- }
- else {
- cout << "The file wasn't created or opened" << endl;
- }
- }
- /*Редактирование данных, 5 опция*/
- void edit(ofstream& fout, ifstream& fin)
- {
- if (fout.is_open() && fin.is_open()) { //Проверка на то, открыт ли файл
- }
- else {
- cout << "The file wasn't created or opened" << endl;
- }
- }
- /*Удаление данных, 6 опция*/
- void delete_student(ofstream& fout, ifstream& fin)
- {
- if (fout.is_open() && fin.is_open()) { //Проверка на то, открыт ли файл
- }
- else {
- cout << "The file wasn't created or opened" << endl;
- }
- }
- /*Сортировка данных, 7 опция*/
- void sort(ofstream& fout, ifstream& fin)
- {
- if (fout.is_open() && fin.is_open()) { //Проверка на то, открыт ли файл
- }
- else {
- cout << "The file wasn't created or opened" << endl;
- }
- }
- };
- int main() {
- ofstream fout;
- ifstream fin;
- Student student;
- bool cont = true;
- int answer;
- while (cont) {
- cout << "What you want to do?\n1.Create or open file\n2.Show all data\n3.Add a new student" << endl;
- cout<<"4.Solve an individual problem\n5.Edit a data about on of students\n6.Delete one of students\7.Sort our students\nTip:If you don't choose any, the programm will stop" << endl;
- cin >> answer;
- cout << endl;
- switch (answer) {
- case 1:
- fout.open("dataBase.txt");
- fin.open("dataBase.txt");
- break;
- case 2:
- student.show(fin);
- break;
- case 3:
- student.add(fout);
- break;
- case 4:
- student.individual(fout, fin);
- break;
- case 5:
- student.edit(fout, fin);
- break;
- case 6:
- student.delete_student(fout, fin);
- break;
- case 7:
- student.sort(fout, fin);
- break;
- default:
- cont = false;
- break;
- }
- fout.close();
- fin.close();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement