bsuir.info
БГУИР: Дистанционное и заочное обучение
(файловый архив)
Вход (быстрый)
Регистрация
Категории каталога
Другое [157]
АВС [6]
КПиЯП [80]
ОАиП [305]
ОКТ [79]
СиСПО [8]
Форма входа
Логин:
Пароль:
Поиск
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Файловый архив
Файлы » ПОИТ » КПиЯП

ЯП С
Подробности о скачивании 24.07.2013, 14:06
БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ
Кафедра программного обеспечения информационных технологий



Факультет НиДО
Специальность ПОИТ



Контрольная работа 2
по дисциплине «Языки программирования ч1»
Вариант № 12




Выполнил студент:
группа
Зачетная книжка №

Минск 2013

Задание
12. Дан файл, содержащий информацию об успеваемости студентов, где содержится фамилия, номер группы, средний балл за последнюю сессию. Переписать в другой файл студентов, в порядке уменьшения среднего балла.
Программа

//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

//---------------------------------------------------------------------------

#pragma argsused
#include <stdio.h>
#include <conio.h>
void main(void)
{
struct man //Объявление структуры
{
char fam[10];
double sr;
int gr;
};

struct man mas[3]; //объявление массива структур
char temp1[20], s3[10];
int i, j, temp2, k, s2;
double s1, temp;
FILE *out, *out1;
clrscr();

puts("Reading from file");

// Открытие текстового файла для чтение
out = fopen("d:\\Ex2.txt", "rt");
for (i = 0; i < 3; i++)
{
fscanf(out, "%lf", &s1);
mas[i].sr = s1;
printf("%.3lf \n", s1);

fscanf(out, "%d", &s2);
mas[i].gr = s2;
printf("%d \n", s2);

fscanf(out, "%s", &s3);
printf("%s \n", s3);
strcpy(mas[i].fam,s3);

}

puts("massiv\n");
for (i = 0; i < 3; i++)//вывод массива средних значений
printf("%lf ",mas[i].sr);
for (i = 0; i < 3; i++) //сортировка
{
for(j = 0; j < 2; j++)
{
if (mas[j].sr < mas[j+1].sr)
{
temp = mas[j].sr;
mas[j].sr = mas[j+1].sr;
mas[j+1].sr = temp;

strcpy(temp1,mas[j].fam);
strcpy(mas[j].fam,mas[j+1].fam);
strcpy(mas[j+1].fam,temp1);

temp2 = mas[j].gr;
mas[j].gr = mas[j+1].gr;
mas[j+1].gr = temp2;

}

}
}

puts("massiv\n");
for (i = 0; i < 3; i++) //вывод отсортированных данных
{
printf("%lf \n",mas[i].sr);
printf("%d \n",mas[i].gr);

printf("%s \n",mas[i].fam);

}

fclose(out);

out1 = fopen("d:\\Ex1.txt", "wt"); //открывается файл для записи
for (int i = 0; i < 3; i++)
{

s1 = mas[i].sr;
fprintf(out,"%lf\n", s1);

s2 = mas[i].gr;
fprintf(out,"%d\n", s2);

strcpy(s3,mas[i].fam);
fprintf(out,"%s\n", s3);
}
getch();
fclose(out1); // открытый файл закрывается

getch();
}
//---------------------------------------------------------------------------
Категория: КПиЯП | Добавил: emptyqwest
Просмотров: 1464 | Загрузок: 26 | Комментарии: 1
Всего комментариев: 1
0  
1 antimosg   (15.12.2017 21:11) [Материал]
biggrin

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]