Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти та науки України
НУ “Львівська політехніка”
Лабораторна робота №8
“Створення багатомодульних програм.”
Львів 2005
Назва роботи: Створення багатомодульних програм.
Мета роботи: Закріпити теоретичні знання та оволодіти практичними навиками створення багатомодульних програм. Засвоїти техніку передавання даних функціям через параметри.
Завдання на лабораторну роботу.
Розробити багатомодульне програмне забезпечення для опрацювання структурованих даних відповідно до заданого варіанту.
Для створення багатомодульного програмного забезпечення використовувати файл проекту. У вигляді окремої функції (оформляється як окремий модуль) реалізувати підкреслену частину варіанту завдання. Даними з підпрограмами (функціями) обмінюватися через параметри функцій.
Функції, що реалізовані в окремих модулях, повинні описуватися в файлах заголовків.
Для внутрішнього представлення даних, що опрацьовуються, розробити відповідні структури даних.
Під зберігання символьних рядків виділяти тільки мінімальні об’єми пам’яті.
Прямокутники (у межах даних задач) однозначно представляються координатами верхнього лівого та нижнього правого кутів.
Кількість записів передавати програмі через аргументи функції main().
Дані вводити зі стандартного пристрою вводу а результати виводити на стандартний пристрій виводу.
Забезпечити коректне звільнення динамічно виділеної пам’яті при завершенні використання даних під які вона виділена.
Звернути особливу увагу на обробку помилок, які користувач може зробити при використанні програми.
При вирішенні задач забезпечити дружній інтерфейс з користувачем.
Файл Sort.c:
#include <stdio.h> // підключення необхідних бібліотек
#include <conio.h>
#include <alloc.h>
#include "StrSort.h"
int n=5;
int main(int argc,char* argv[]) // головна функція
{
int i,j,max; \\ об’ява змінних
struct student *st;
int *sort,t;
// перевірка навведення початкових даних (кількість студентів)
if(argc!=2){printf("Error");return 1;}
sscanf(argv[1],"%d",&max); // зчитування із строки значення змінної згідно заданого формату
st=(struct student*)calloc(max,sizeof(struct student));// виділення пам’яті під структуру
sort=(int*)calloc(max,sizeof(int));
clrscr();
printf("Enter surname,name,and Nzal. For example (Petrov,Petro,01994436):\n");
for(i=0;i<max;i++){
printf("**************************************************\n");
printf("Surname:");scanf("%s",st[i].surname);
printf("Name:");scanf("%s",st[i].name);
printf("Nzal:");scanf("%d",&st[i].zal);
}
printf("\n");
printf("-----------------------------------------------------\n");
printf("| Sorted information about students |\n");
sort(st,max);
printf("-----------------------------------------------------\n");
printf("| surname | name | zalikova |\n");
printf("-----------------------------------------------------\n");
for(i=0;i<max;i++){printf("|%11s|%14s|%24d|\n",st[sort[i]].surname,st[sort[i]].name,st[sort[i]].zal);}
printf("-----------------------------------------------------\n");
return 0;
}
Текст StrSort.h:
struct student {
char surname[20];
char name[20];
int zal;
};
void sort(struct student* mas,int size);
Текст StrSort.c
#include "StrSort.h"
//функція сортування масиву
void sort(struct student* mas,int size)
{
struct student temp;
int i,j,max;
for(i=0;i<size-1;i++)
for(j=i+1;j<size;j++)
if(mas[i].name[0]>mas[j].name[0])
{
temp=mas[j];mas[j]=mas[i];mas[i]=temp;
}
}
Результат роботи програми:
Surname:Morozko
Name:Petro
Nzal:01222333
***********************************
Surname:Sidirov
Name:Ivan
Nzal:01232323
***********************************
Surname:Sokolov
Name:Muhajlo
Nzal:01233222
***********************************
-----------------------------------------------------
| Sorted information about student |
-----------------------------------------------------
| surname | name | zalikova |
-----------------------------------------------------
| Morozko| Petro| 01222333 |
| Sokolov| Muhajlo| 01232323 |
| Sidirov| Ivan| 01232323 |
-----------------------------------------------------
Алгоритм програми
Висновок: Ознайомились з структурами. Створили масив на основі структур та навчились його опрацьовувати. Організували програму і вигляді декількох файлів.
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!