laba_66
.docГУАП
КАФЕДРА №2
ОТЧЕТ ЗАЩИЩЕН С ОЦЕНКОЙ
ПРЕПОДАВАТЕЛЬ
Доцент, канд. техн. наук |
|
|
|
В.А.Галанина |
должность, уч. степень, звание |
|
подпись, дата |
|
инициалы, фамилия |
ОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ №6 |
Обработка ведомости студенческой группыпо курсу: Информатика |
|
РАБОТУ ВЫПОЛНИЛ
СТУДЕНТ ГР. |
М461 |
|
12.03.2015 |
|
Пахомов В.А. |
|
|
|
подпись, дата |
|
инициалы, фамилия |
Санкт-Петербург
2015
Цель работы:
а) ознакомление с возможностями языка С++ при решении задач, связанных с использованием таких структур данных, как записи и файлы;
б) углубление знаний по алгоритмизации вычислительных процессов и модульному принципу программирования;
в) приобретение практических навыков обработки сложных структур данных на примере решения задачи обработки ведомости студенческой группы.
Содержание работы:
а) описание задачи;
б) построение схем алгоритмов решения задачи в соответствии с заданием;
в) составление программы согласно алгоритмам;
г) откладка программы и получение результатов;
д) составление отчета о работе и его защита.
Задание вариант №20
Составить и вывести раздельно списки студентов, набравших при поступлении в вуз менее 20 и более 20 баллов
Ведомость студенческой группы
Ф.И.О. |
Пол |
Что окончил |
Адрес |
Получает стипендию |
Дата рождения |
Оценки за сессию |
Кол-во баллов |
Григорьева И.А. |
Ж |
Л |
П |
Д |
07.01.1996 |
5 4 4 5 |
22 |
Гулимова Е.И. |
Ж |
Ш |
И |
Н |
30.11.1996 |
4 4 4 4 |
21 |
Коростелев В.И. |
М |
К |
И |
Н |
12.05.1996 |
4 3 4 3 |
19 |
Попов Д.А. |
М |
Ш |
П |
Д |
19.08.1996 |
4 4 4 4 |
22 |
Романова К.В. |
Ж |
Ш |
И |
Н |
02.03.1996 |
4 5 5 4 |
21 |
Павленко Ю.В. |
М |
К |
П |
Н |
13.08.1996 |
4 3 3 4 |
18 |
Скочко А.Ю. |
Ж |
Ш |
И |
Д |
18.05.1996 |
5 5 5 5 |
23 |
С
i=0…NS-1
i=0…NS-1
j=0…4
j
i
j=0…4
j
i
Схема процедуры Otbor
i=1…NS
Group1[i]=Group[i]
i
i=1…NS
Group1[i]
i
#include <stdio.h>
#include <math.h>
#include <conio.h>
#include <string.h>
#define NFIO 15
#define NS 6
typedef struct
{
int Day, Month, Year;
}
Date;
typedef struct
{
char FIO [NFIO];
char Pol;
char Obr;
char Adress;
char Stip;
Date DateR;
int Ocen [4];
int KB;
}
stud;
void otbor (stud Group[NS],stud Group1[NS],int*N)
{
int i;
*N=0;
for (i=0; i<NS; i++)
if (Group[i].Obr=='s')
if(Group[i].DateR.Month==3 || Group[i].DateR.Month==4 || Group[i].DateR.Month==5)
{
Group1[*N]=Group[i];
*N=1+*N;
}
}
int main ()
{
int i,j,N;
stud Group[NS], Group1[NS];
printf ("xxxxxxxxxxxxxx x x x x 1 11 1996 5 4 4 5 203\n");
/*printf ("Gulimova_E.I. w s i n 30 11 1996 4 4 4 4 186\n ");
printf ("Korostelev_V.I.m c i n 12 5 1996 4 3 4 3 170\n ");
printf ("Popov_D.A. m s p y 19 8 1996 4 4 4 4 169\n ");
printf ("Romanova_K.V. w s i y 2 3 1996 4 5 5 4 193\n ");
printf ("Skochko_A.Y. w s i y 18 5 1996 5 5 5 5 207\n ");
*/
for (i=0; i<NS; i++)
{
scanf("%s %c %c %c %c%i%i%i", Group[i].FIO,&Group[i].Pol,&Group[i].Obr,&Group[i].Adress,&Group[i].Stip,&Group[i].DateR.Day,&Group[i].DateR.Month,&Group[i].DateR.Year);
for (j=0;j<4;j++)
scanf("%i",&Group[i].Ocen[j]);
scanf("%i",&Group[i].KB);
}
otbor (Group, Group1,&N);
for (i=0; i<N; i++)
{
printf("%s %c %c %c %c %i %i %i ", Group1[i].FIO,Group1[i].Pol,Group1[i].Obr,Group1[i].Adress,
Group1[i].Stip,Group1[i].DateR.Day,Group1[i].DateR.Month,Group1[i].DateR.Year);
for (j=0;j<4;j++)
printf("%i ",Group1[i].Ocen[j]);
printf("%i\n",Group1[i].KB);
}
printf("N=%i\n",N);
getch();
return 0;
}
Вывод:
Я ознакомилась с возможностями языка С++ при решении задач, связанных с использованием таких структур данных, как записи и файлы;
приобретение практических навыков обработки сложных структур данных на примере решения задачи обработки ведомости студенческой группы.