Материал: Курсовая работа. Матвиенко. Вариантk 018__

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

int Kolichestvo; – кількість структур в базі даних.

int i,j; – лічильники циклу.

int NomProf; – номер професії (для виведення на екран).

int konec; – ознака кінця роботи підпрограми.

char bufer[4]; – тимчасова структура для перекладання при сортуванні.

char Professiya[28]; – вказана користувачем професія.

Zapis Spisok[100]; – допоміжний масив, що містить записи тільки з вказаною користувачем професією.

3.1.3.8 Підпрограма-процедура Menu7

int Kolichestvo; – кількість структур в основній базі Baza.

int i,j; – лічильники циклу.

int K; – кількість структур в допоміжній базі Spisok.

Zapis Spisok[100]; – допоміжна база, в якій рядки з однаковими професіями об'єднані, а кількість робочих місць підсумована.

Zapis bufer; – тимчасова структура для перекладання при сортуванні.

3.1.3.9 Підпрограма-процедура Menu8

int Kolichestvo; – кількість структур в базі даних.

int i,j; – лічильники циклу.

int NomProf; – номер професії для виводу на екран.

3.1.3.10 Підпрограма-процедура Menu9

int Kolichestvo; – кількість структур в базі даних.

int i; – порядковий номер структури, котра виводиться.

3.1.3.11 Підпрограма-процедура Nachalo

Змінні не використовуються. Процедури одразу отримують числа та текст.

3.1.3.12 Підпрограма-процедура Konec

Змінні не використовуються. Процедури одразу отримують числа та текст.

3.1.3.13 Підпрограма-процедура VvodStrockiSEkrana()

char bufer[29]; – змінна для початкового введення всіх значень (до перевірки їх коректності).

char dengi[6]; – зарплата в текстовому форматі без крапки.

int kolichestvo; – кількість символів, пройшли перевірку (використовується під час перевірки чисел).

int i; – лічильники циклу.

3.1.3.14 Підпрограма-функція ChtenieMassivaIzFayla()

int i; – номер запису.

Функція не отримує ніяких даних, а вертає назад величину (i-1), яка показує кількість зчитаних з файлу структур. Зауваження: основне призначення підпрограми, як у процедури – завантажити з файлу в глобальний масив базу даних. Підпрограма оформлена функцією, оскільки одразу підраховує і повертає кількість записів в базі.

3.1.3.14 Подпрограмма-процедура ZapisMassivaVFayl (int N)

int N; – кількість записів в масиві (передається цій процедурі при її виклику).

int i; – лічильники циклу.

3.1.3.14 Подпрограмма-процедура Sortirovka(int Nomer, int Kolich)

int Nomer; – номер поля, по якому потрібно сортувати (передається цій процедурі під час її виклику).

int Kolich; – кількість структур в базі (передається цій процедурі під час її виклику).

3.2 Опис файлів та їх призначення

Центр зайнятості 0018 (К.П.) Матвієнко.cpp – файл з основною програмою.

Центр зайнятості 0018 (К.П.) Матвієнко.exe – відкомпільований файл з програмою.

baza.dat – файл бази даних (якщо база даних не створена, то файл відсутній).

3.3 Опис процедур

Nachalo(); – процедура заставка на початку виконання програми.

Menu1(); – процедура меню 1: Створення та заповнення нової бази даних.

Menu2(); – процедура меню 2: Додавання запису в існуючу базу даних.

Menu3(); – процедура меню 3: Зміна запису в базі даних.

Menu4(); – процедура меню 4: Видалення запису з бази даних.

Menu5(); – процедура меню 5: Виведення бази даних на екран.

Menu6(); – процедура меню 6: Виведення списку роботодавців та середньої зарплати за професією.

Menu7(); – процедура меню 7: Виведення списку професій в порядку зростання робочих місць.

3.4 Опис стандартних функцій та процедур, що використовуються в програмі

Основні

printf – вивід з пам'яті на екран.

scanf – ввід з екрану.

if-else – умовний оператор.

Switch-case – багаторазовий вибір.

for – цикл с відомою кількістю кроків.

while – цикл с умовою.

do-while – цикл с післяумовою.

break – вихід із циклу.

continue – переривання виконання тіла циклу з переходом на наступну ітерацію циклу.

_getch – затримка до натискання будь-якої клавіші і повернення коду натиснутої клавіші.

system(“pause”) – затримка до натискання будь-якої клавіші.

Робота із рядковими величинами

strlen – довжина рядка (функція яка визначає скільки символів в переданої їй рядку, не рахуючи '\0').

isdigit – функція приймає значення «істина», якщо символ є десятичною цифрою.

gets – введення рядка цілком, включаючи пробіли.

strcmp – посимвольне порівняння рядків, різниця кодів перших різних символів.

atoi – перетворює рядок у значення типу int.

strrchr – пошук підрядка в рядку починаючи з кінця рядка.

Робота з файлами

fopen – відкриття файлу.

fclose – закрити файл.

fprintf – запис даних у файл.

fscanf – введення з файлу.

fgets – читання рядку цілком з пробілами з файлу.

Графіка

initwindow – відкриття графічного вікна із заданими розмірами

setcolor – вибір кольору для заливки

floodfill – зафарбовування вибраним кольором до кордону заданого кольору

setbkcolor – вибір кольору заливки фону наступних об'єктів

settextstyle – вибір параметрів напису (шрифт, стиль, коефіцієнт збільшення шрифту)

outtextxy – створення напису в зазначених координатах

closegraph – закриття графічного вікна

4 Інструкція для роботи з програмою

Для запуску програми необхідно запустити файл «Центр зайнятості 0018 (К.П.) Матвієнко.exe». Після запуску файлу з’являється заставка програми, де виводиться вікно в графічному режимі. При натисненні будь-якої клавіші з’являється меню. В меню вибираємо необхідний пункт за допомогою введення відповідного номера і натискаємо Enter.

Після введення номеру пункту меню користувач має можливість попрацювати з програмою. Після завершення роботи з програмою виводиться вікно в графічному режимі з повідомленням про закінчення роботи з програмою.

5 Приклад тестування та результату роботи програми

На початку роботи з програмою виводиться таке вікно:

Після натиснення клавіші Enter виводиться основне меню, яке має такий вигляд:

Перший пункт меню має такий вигляд:

Другий пункт має такий вигляд:

Третій пункт меню виглядає так:

Menu8(); – процедура меню 8: Виведення списку роботодавців та кількості робочих місць за спеціальностями.

Menu9(); – процедура меню 9: Висновок пропозицій про працевлаштування по заробітній платі.

Vihod(); – процедура заставка при закінченні роботи програми.

VvodStrockiSEkrana(); – процедура Заповнення з екрану глобальної змінної Strochka.

ChtenieMassivaIzFayla(); – функція копіювання даних з файлу у глобальний масив і визначення кількості структур.

ZapisMassivaVFayl(int Kolichestvo); – процедура запису масиву в файл, передається кількість структур в масиві.

Sortirovka(int Pole, int Kolichestvo); – процедура сортування масиву по заданому полю.

Література

1. Андрей Богатырев. Руководство по программированию на языке С.

2. Герберт Шілдт. C для початківців. Пер. з англ. – М.: ЕКОМ Паблішерз, 2007.

3. Герберт Шілдт. Повний довідник по C. – 4-е видання. Пер. з англ. – М.: видавничий дім «Вільямс», 2010.

4. Громов Ю.Ю. Татаренко С.И. Программирование на языке Си: Учебное пособие. – Тамбов, 1995. – 169 с.

5. К. Поляков. Программирование на языке Си.

6. Керниган, Ричи. Язык C. Пер. з англ. – М.: ЕКОМ Паблішерз, 2003.

7. M. Уэйт, С. Прата, Д. Мартин. Язык Си. Руководство для начинающих.

8. С. Саммит. Язык С в вопросах и ответах. Перевод с английского.

9. Филипп Н. Хислей. Генерация высококачественного кода для программ, написанных на Си.

10. Язык программирования Си. М.: 1988.

Додаток а (Обов’язковий) Лістинг основної програми

#include<stdio.h>

#include<conio.h>

#include<string.h>

#include<windows.h>

#include<graphics.h>

#include<stdlib.h>

//*********************************************************************************

// Объявление глобальной переменной (База данных) и глобального указателя файла

// Создаю структуру, соответствующую одной строчке в базе данных

struct Zapis // Имя структуры "Запись" потому, что она соответствует одной записи в базе

{

char Rabotodatel[28]; // ФИО работодателя

char Professiya[28]; // Профессия

int KolRabMest; // Количество рабочих мест

float Zarplata; // Средняя заработная плата

};

Zapis Strochka; // Объявляю глобальную переменную "Строчка" для работы только с одной записью (когда не нужна вся база)

Zapis Baza[100]; // Объявляю глобальную переменную "База", рассчитанную на 100 записей (в задании – "не меньше 10")

FILE *fp; // указатель файла (файл будет указан в подпрограммах)

//*********************************************************************************

// Объявление подпрограмм

// Объявляю основные подпрограммы (те, которые будут вызываться из основной программы)

// Тексты подпрограмм стоят после основной программы

void Nachalo(); // Заставка в начале выполнения программы

void Menu1(); // Меню 1: Создание и заполнение новой базы данных.

void Menu2(); // Меню 2: Добавление записи в существующую базу данных.

void Menu3(); // Меню 3: Изменение записи в базе данных.

void Menu4(); // Меню 4: Удаление записи из базы данных.

void Menu5(); // Меню 5: Вывод базы данных на экран.

void Menu6(); // Меню 6: Вывод списка работодателей и средней зарплаты по профессии.

void Menu7(); // Меню 7: Вывод списка профессий в порядке возрастания рабочих мест.

void Menu8(); // Меню 8: Вывод списка работодателей и количества рабочих мест по специальностям.

void Menu9(); // Меню 9: Вывод предложений о трудоустройстве по заработной плате.

void Vihod(); // Заставка при окончании работы программы

Четвертий пункт меню відображається так:

Таким чином п’ятий пункт буде виглядати так:

Для шостого пункту та останніх пунктів буде виводитися база даних, яку я створив сам з більшою кількістю розмірів бази даних (за для комфорту перегляду курсового проекту). Отже шостий пункт виглядає так:

Сьомий пункт такий:

Восьмий пункт меню виглядає так:

Передостанній, дев’ятий пункт меню виглядає так:

Останній пункт меню виглядає так:

Висновок

Коли я виконував курсовий проект, я придбав багато навичок роботи в середовищі Сі. Хоча мову Сі було розроблено для написання системного програмного забезпечення, наразі вона досить часто використовується для написання прикладного програмного забезпечення. Я ознайомився з багатьма елементами цієї мови.

Сі – мінімалістична мова програмування. Її основними можливостями є – прямолінійна реалізації компіляції, використовуючи відносно простий компілятор, забезпечення низькорівневого доступ до оперативної пам'яті, формування лише декількох інструкцій машинної мови для кожного елементу мови.

Також, підводячи підсумки, можна сказати, що Сі є гнучкою алгоритмічною мовою програмування, яка може бути корисна як недосвідченому користувачу, щоб вивчити ази програмування, так і може стати корисною для досвідченого програміста. Широкий набір різних корисних підпрограм, процедур та функцій дозволяє створити за невеликий відрізок часу дійсно якісний програмний продукт, який в подальшому може навіть потрапити в комерційну індустрію та дати змогу заробляти собі на життя.