Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Навчальна практика.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
1 Мб
Скачать
☆

Результати роботи програми Завдання 6 Обробка типізованих файлів

Файл Студент

Структура запису:

• ПІБ (40 знаків);

• номер курсу (1 знак);

• номер групи (3 знаки);

• успішність - 5 іспитів у кожній з 10 сесій;

• форма навчання (цільова, договірна) (1 знак);

• іспит:

• Найменування предмета (10 знаків);

• Оцінка (1 знак).

Записи впорядковані за номером курсу, всередині курсу - за номером групи, в групі по ПІБ.

Створіть файл Студент. Підрахуйте кількість студентів, що мають добрі та відмінні оцінки за весь період навчання, з кожного курсу, за кожною формою навчання.

Лістинг програми

#include "stdafx.h"

#include <locale>

#include <iostream>

#include <fstream>

#include <string>

using namespace std;

int menu=1;

struct STUDENT

{

char p[40],i[40],b[40],predm[40],forma;

int numc,numg,yspish,bal;

};

void add()

{

STUDENT student1;

cout<<"===============================================================\nДобавление данных о студенте в базу данных\n ===============================================================\n";

ofstream out("students.txt", ios::out | ios::app);

cout<<"Номер курса: ";

cin>>student1.numc;

out<<student1.numc<<" ";

cout<<"Номер группы: ";

cin>>student1.numg;

out<<student1.numg<<" ";

cout<<"ПIБ: ";

cin>>student1.p;

cin>>student1.i;

cin>>student1.b;

out<<student1.p<<" "<<student1.i<<" "<<student1.b<<" ";

cout<<"Форма обучения (c(англ.)-дневная;d(англ.)-заочная): ";

cin>>student1.forma;

out<<student1.forma<<" ";

cout<<"Успеваемость (средний бал): ";

cin>>student1.yspish;

out<<student1.yspish<<" ";

cout<<"Спецпредмет: ";

cin>>student1.predm;

out<<student1.predm<<" ";

cout<<"Оценка по спецпредмету: ";

cin>>student1.bal;

out<<student1.bal<<"\n";

system("PAUSE");

system("cls");

out.close();

}

void show()

{

STUDENT student1;

int i=0,j=0,x=0,kol=0;

cout<<"===============================================================\nСписок студентов\n ==================== ====== =====================================\n";

ifstream in("students.txt");

while (!in.eof())

{

in>>student1.numc;

in>>student1.numg;

in>>student1.p;

in>>student1.i;

in>>student1.b;

in>>student1.forma;

in>>student1.yspish;

in>>student1.predm;

in>>student1.bal;

if (in.eof()==true){break;}

else {

if (student1.numc<0) {cout<<"Данные о студентах отстутствуют \n" ; break;}

else {

if (student1.yspish>6) kol++;

cout<<"Номер курса: "<<student1.numc<<endl;

cout<<"Номер группы: "<<student1.numg<<endl;

cout<<"ПIБ: "<<student1.p<<" "<<student1.i<<" "<<student1.b<<endl;

cout<<"Форма обучения (c\d): "<<student1.forma<<endl;

cout<<"Успеваемость (средний бал): "<<student1.yspish<<endl;

cout<<"Спецпредмет: "<<student1.predm<<endl;

cout<<"Оценка по спецпредмету: "<<student1.bal<<endl;

cout<<endl;

i++;

}

}

}

in.close();

cout<<"Успевающих студетов: "<<kol<<endl;

system("PAUSE");

system("cls");

}

void autor()

{

STUDENT student1;

cout<<"===============================================================\nАвторы:\n===============================================================\nПапирный Владислав\nГруппа 26-РПО-11-а\nМК ДГМА\n2013 год\nВсе права защищены\n";

system("PAUSE");

system("cls");

}

int main()

{

setlocale(LC_ALL,"Russian");

STUDENT student1;

for (;menu;)

{

cout<<"Меню\n1. Добавить студента\n2. Показать список студентов\n3. Авторы\n4. Выйти\nВведите соответсвующий пункт меню для выбора действия: ";

cin>>menu;

cout<<endl;

switch(menu)

{

case 1: {add();break;};

case 2: {show();break;};

case 3: {autor();break;};

case 4: {menu=0;cout<<"===============================================================\nВыход\n===============================================================\n";break;};

default: {cout<<"Неверный номер пункта меню\n";system("pause");system("cls");break;};

}

}

system("PAUSE");

return 0;

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]