Практические / Отчеты студентов 2011-2012 / ВТ-12 ЛР / Федюкин / Структуры
.docМосковский Государственный Университет Леса
Факультет ЭСТ
Тема: “Структуры”
Выполнил: Федюкин А.А.
Проверил: Ларионов Н.В.
Москва 2012.
Задание:
Описать структуру с именем STUDENT, содержащую следующие поля:
-фамилия и инициалы;
- номер группы;
- успеваемость (массив из пяти элементов).
2. Написать программу, выполняющую следующие действия:
- ввод с клавиатуры данных в массив, состоящий из десяти структур типа
STUDENT; записи должны быть упорядочены по возрастанию номера группы;
- вывод на дисплей фамилий и номеров групп для всех студентов, включенных
в массив, если средний балл студента больше 4,0;
- если таких студентов нет, вывести соответствующее сообщение.
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
struct student
{
char fio[30];
int ng;
int kurs[5];
};
int main()
{
clrscr();
void scanstu(student &stud);
void printstu(student &stud);
void printstum(student &stud);
void sortirovka(student fes[],int n);
float sbal(student &stud);
student stu, fest[10];
int i,n,nmax;
float sball;
printf("Vvesti k-vo studentov \n");
scanf("%i",&n);
for(i=0;i<n;i++)
{
scanstu(stu);
fest[i]=stu;
}
for(i=0;i<n-1;i++)
{
stu= fest[i];
printstu(stu);}
sortirovka(fest,n);
for(i=0;i<n;i++)
{
stu= fest[i];
printstu(stu);}
int j=0;
for (i=0; i<n; i++){
stu=fest[i];
sball= sbal(stu);
if(sball>3.5){
printstum(stu);
j++;}
//printf("%i",j);
// else printf("net norm stud \n ");
}
if(j==0)printf("Net studentov imeythih CB > 4\n");
system("pause");
return 0;
}
void scanstu(student &stud)
{
printf("\n Vvedite studenta\n");
printf("\n Vvecti FIO ");
scanf("%s",stud.fio);
printf("\n Vvesti N G ");
scanf("%i",&stud.ng);
printf("\n Vvesti 5 ozenok ");
for (int i=0;i<5;i++) scanf("%i",&stud.kurs[i]);
}
void printstum(student &stud)
{
printf(" FIO nomer gruppy \n");
printf("%s %i \n",stud.fio, stud.ng);
}
void printstu(student &stud)
{
printf(" FIO nomer gruppy Ozenki\n");
printf("%s %i %i %i %i %i %i\n",stud.fio, stud.ng,stud.kurs[0],stud.kurs[1],stud.kurs[2],stud.kurs[3],stud.kurs[4]);
}
void sortirovka(student fes[],int n)
{
student stu;
int i,j;
for (i=0;i<n-1;i++)
for(j=0;j<n-1;j++)
if (fes[j].ng>fes[j+1].ng)
{stu=fes[j];
fes[j]=fes[j+1];
fes[j+1]=stu;
}
}
float sbal(student &stud)
{float sb=0;
for (int i=0;i<5;i++)
sb+=stud.kurs[i];
sb=sb/5;
// printf("Sredny ball= %f\n",sb);
return (sb);
}