Студопедия КАТЕГОРИИ: АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
II. Экспериментальный раздел работы
Пример 1. Ввода - вывода простейшей структуры на дисплей. #include <iomanip.h> #include <conio.h> #include <stdlib.h> #include <iostream.h> struct Vkladchik { // определение структуры "Вкладчик" int account; // номер счета char name[10]; // имя float suma; // сумма вклада }; void main(void) { clrscr(); Vkladchik к ; // создание экземпляра объекта cout«"Введите счет, имя , сумму \n"; cin»k.account»k.name»k.suma; cout«"Cчёт"«setw(9 )«"Имя" <<setw(16) <<"Cyммa"«endl; cout<<k.account<<k.name<<k.suma; cout«"\n\n"; getch(); }
Пример 2. Ввода - вывода массива структур на дисплей. #include <iomanip.h> #include <conio.h> #include <stdlib.h> #include <iostream.h> struct Vkladchik { // определение структуры "Вкладчик" int account; // номер счета char name [10]; // имя float suma; // сумма вклада }; void main(void) { int i, n; сlrscr(); соut«"Введите число записей п= "; cin»n; Vkladchik к [10]; // создание массива экземпляров объектов соut«"Введите счет, имя, сумму \n"; for(i=0;i<n; i++){ cin»k[i].account»k[i].name»k[i].suma; cout«"?"«endl; } cout«"Cчёт"«setw(9)«"Имя" <<setw(16) <<"Cyммa"«endl; for(i=0;i<n; i++) cout<<k[i].account<<k[i].name<<k[i].suma<<endl; cout«"\n\n"; cout«"\nHажмите любую клавишу..."; getch(); }
Пример 3. Cоставить программу, с помощью которой можно расположить фамилии студентов Вашей группы в порядке убывания среднего балла, полученного по результатам сдачи зимней экзаменационной сессии. Программа состоит из трех процедур: ReadData – формирование исходных данных; WriteData – вывод результатов; SortChoice – сортировка фамилий студентов согласно среднего балла. Подробности работы программы разберите по тексту, используя комментарии. Для простоты представлены данные по трем студентам, сдававшим четыре экзамена. Использовался алгоритм сортировки выбором. #include <iomanip.h> #include <conio.h> #include <stdlib.h> #include <iostream.h> int n=3; int m=4; typdef struct student_one { /* для данных по одному студенту */ char fio[30]; /*поле формирования фамилии и имени студента*/ int marks[m]; /*поле подмассив оценок, полученных в сессию*/ double sb; {поле для среднего балла } } typdef student_one student_all[n]; { массив для формирования данных по всем студентам Вашей группы } student_all group; void ReadData(student_all r); {Процедура ввода данных и вычисления среднего балла для каждого студента группы} int i,k,s; { r[1].fio =« Иванов Андрей»; /*формирование данных по первому студенту*/ r[1].marks[1]=4; r[1].marks[2]=5; r[1].marks[3]=3; r[1].marks[4]=3; r[2].fio =« Мунтян Светлана»; /* формирование данных по второму студенту */ r[2].marks[1]=4; r[2].marks[2]=4; r[2].marks[3]=5; r[2].marks[4]=3; r[3].fio =« Бойко Вячеслав»; /* формирование данных по третьему студенту */ r[3].marks[1]=4; r[3].marks[2]=5; r[3].marks[3]=5; r[3].marks[4]=5; for (i=1; i< n; i++) /* вычисление среднего балла для каждого студента*/ { s=0; for (k=1; k< m; i++; s=s+ r[i].marks[k]); r[i].sb=s/m; }; };
void WriteData(sstudent_all r); /*процедура вывода результатов*/ int i; { for (i=1; i< n; i++) cin<< r[i].fio<<” “<<r[i].sb; };
void SortChoice(student_allgr); /*процедура сортировки методом выбора*/ int i,k,kmax; double xmax; student_one st; { for (i=1; i< (n-1); i++) /* шаг сортировки */ { kmax=i; xmax=gr[i].sb; st=gr[i]; for (k=i+1; i< n; i++) /* поиск максимального элемента*/ { if gr[k].sb > xmax { kmax=k; xmax=gr[k].sb; st= gr[k] }; gr[kmax]=gr[i]; gr[i] =st; /*обмен местами максимального и I -элемента*/ } };
{ /*Основная программа*/ ReadData(group); cout<<”несортированные данные”<<endl; WriteData(group); SortChoice(group); cout<<”сортированные данные”<<endl; WriteData(group); getch(); }
Введите программу и проведите ее отладку и тестирование. Проведите сортировку фамилий по алфавиту, по результатам первого экзамена. Поэкспериментируйте с программой.
|
||
Последнее изменение этой страницы: 2018-05-10; просмотров: 201. stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда... |