Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
15
Добавлен:
17.04.2015
Размер:
4.12 Кб
Скачать

Московский государственный университет леса

Факультет ЭСТ

Кафедра " Вычислительной техники"

Лабораторная работа №9.

Структуры.

Студент: Снегирев Н.В.

Группа: Вт-12

Принял: Ларионов Н.В.

Задание:

Вариант 2

1. Описать структуру с именем STUDENT, содержащую следующие поля:

• фамилия и инициалы;

• номер группы;

• успеваемость (массив из пяти элементов).

2. Написать программу, выполняющую следующие действия:

• ввод с клавиатуры данных в массив, состоящий из десяти структур типа

STUDENT; записи должны быть упорядочены по возрастанию среднего балла;

• вывод на дисплей фамилий и номеров групп для всех студентов, имеющих

оценки 4 и 5;

• если таких студентов нет, вывести соответствующее сообщение.

Структура

1.

Программа:

#include <stdio.h>

#include <math.h>

#include <stdlib.h>

#include <string.h>

struct STUDENT{

char Inicialbl[20];

unsigned NUMR;

char YSPEX[5];

} SPIS[5],T;

int main()

{

int i,j,k=0;

unsigned Num;

for (i=0; i<5; i++)

{

printf ("\nnapisatb inicialbl");

scanf ("%s",&SPIS[i].Inicialbl);

if(strlen(SPIS[i].Inicialbl)==0) break;

printf ("\nGryppa");

scanf ("%u",&SPIS[i].NUMR);

printf ("\nYSPEX");

scanf ("%s",SPIS[i].YSPEX);

k++;

}

for(i=0; i<k; i++)

for(j=0; j<k-i-1; j++)

if (SPIS[i].Inicialbl<SPIS[j].Inicialbl)

{

T=SPIS[i];

SPIS[j]=SPIS[j+1];

SPIS[j+1]=T;

}

printf ("Studs Grypa Yspex\n");

for (i=0; i<k; i++)

printf ("%-19s #%3u %4s\n",SPIS[i].Inicialbl,SPIS[i].NUMR,SPIS[i].YSPEX);

while (1)

{

printf ("vvesti nomer");

scanf ("%i",&Num);

j=0;

for (i=0; i<k; i++)

if (Num==SPIS[i].NUMR)

{

printf ("\n 1p: %s\n 2p: %u\n 3p: %s\n\n",SPIS[i].Inicialbl,SPIS[i].NUMR,SPIS[i].YSPEX);

j=1;

}

if(i<j)

printf ("net takix");

system ("pause");

return 0;

}

}

Соседние файлы в папке Снегирев