Автор работы: Пользователь скрыл имя, 16 Мая 2013 в 14:18, курсовая работа
В деканате факультета журналистики имеются списки студентов разных групп. В сессию сотрудники деканата печатают ведомости для каждой дисциплины для сдачи студентами экзаменов и зачетов. Написать программу, создающие ведомости для каждой группы по всем дисциплинам с указанием формы контроля (зачет, экзамен). Списки студентов упорядочить по алфавит.
Задача………………………………………………………………………3
Описание функций…...……………………………………………………4
Результаты тестирования программы…………………………...……….5
Разработанное программное средство……………….……….…….……6
Министерство образования и науки Российской Федерации
Федеральное агентство образования
ФЕДЕРАЛЬНОЕ
ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ
“ОРЕНБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ”
Факультет информационных технологий
Кафедра программного обеспечения средств вычислительной техники
и автоматизированных систем
ОТЧЕТ
по курсовой работе
по курсу “Программирование ”
Ведомости на факультете журналистики.
ОГУ 230100.62.9012.171 К
Руководитель
_________________ Юркевская Л.А.
"____" ___________________ 2013г.
Исполнитель
студент гр. 11ИВТ(б)ПОВТ
___________________ Муканаев Р.Н.
"____" ___________________ 2013г.
Оренбург 2013
Содержание
Задача………………………………………………………………
Описание функций…...…………………………
Результаты тестирования программы…………………………...……….5
Разработанное программное средство……………….……….…….……6
Задача
В деканате факультета журналистики
имеются списки студентов разных
групп. В сессию сотрудники деканата
печатают ведомости для каждой дисциплины
для сдачи студентами экзаменов
и зачетов. Написать программу, создающие
ведомости для каждой группы по всем
дисциплинам с указанием формы
контроля (зачет, экзамен). Списки студентов
упорядочить по алфавит.
Описание функций.
1.Функция ввода значений в массивы.
На входе:
Указатели на массивы содержащий символьные элементы, количество элементов в массиве.
По очереди вводим все элементы массивов.
2. Функция определения номера для выбора той или иной группы/предмета/формы контроля и т.д.
На входе: Указатель на массив, три целочисленных переменные присвоенные названиям групп/предметов/формы контроля
Пока не закончим просмотр ведомостей, повторяем вывод информации на экран с помощью оператора while. Все входные данные считываются с файла. В файле содержаться количество групп, их названия, сдающие ими предметы и форма контроля (экзамен/зачет) по этим предметам. Каждый блок данных заполняется в соответствующий массив. Далее реализуем выбор нужных нам данных для ведомости. Выбираем нужные нам данные из массивов и смотрим ведомость.
На выходе: Зачетная/Экзаменационная ведомость, заполненная данными из массивов.
Результаты тестирования программы.
Весь ход выолнения программы выглядит следующим образом:
Блок схема:
Разработанное программное средство
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
struct groups
{
string name;
int colStudents;
string fioStudents[50];
};
struct predmets
{
string name;
string prepod;
};
int main()
{
setlocale(0,"Rus");
int i, j, nGroups, nPredmets, group, predmet, tmp;
string typeVed;
ifstream in("groups.txt", ios::in);
ifstream in2("predmets.txt", ios::in);
in>>nGroups;
groups *arrG = new groups[nGroups];
for(i=0; i<nGroups; i++)
{
in>>arrG[i].name;
in>>arrG[i].colStudents;
for(j=0; j<arrG[i].colStudents; j++)
{
in>>arrG[i].fioStudents[j];
}
cout<<"Группа "<<arrG[i].name<<" успешно сохранена!"<<endl<<endl;
}
in2>>nPredmets;
predmets *arrP = new predmets[nPredmets];
for(i=0; i<nPredmets; i++)
{
in2>>arrP[i].name;
in2>>arrP[i].prepod;
cout<<"Предмет "<<arrP[i].name<<" успешно сохранён!"<<endl<<endl;
}
while (true)
{
cout<<"\n\nВыберите тип ведомости (0 - зачёт, 1 - экзамен): "; cin>>tmp;
if(tmp) typeVed = "экзамен"; else typeVed = "зачёт";
for(i=0; i<nGroups; i++)
{
cout<<i<<": "<<arrG[i].name<<endl;
}
cout<<"Выберите выберите группу, сдающую "<<typeVed<<": "; cin>>group;
for(i=0; i<nPredmets; i++)
{
cout<<i<<": "<<arrP[i].name<<endl;
}
cout<<"Выберите предмет, который сдаёт группа "<<arrG[group].name<<": "; cin>>predmet;
if(typeVed=="экзамен") cout<<"Экзаменационная ведомость"<<endl; else cout<<"Зачётная ведомость"<<endl;
cout<<"Преподаватель: "<<arrP[predmet].prepod<<endl;
cout<<"Группа: "<<arrG[group].name<<endl;
cout<<"Предмет: "<<arrP[predmet].name<<endl;
cout<<"Список студентов:"<<endl;
for(j=0; j<arrG[group].colStudents; j++)
{
cout<<"- "<<arrG[group].fioStudents[j]<
}
cout<<"Роспись преподавателя: _______________"<<endl;
}
system("pause");
return 0;
}