Курсовая работа: Розробка програм мовою С++
Компілятор може ігнорувати модифікатор inline , якщо вбудований код надто великий, компілятор згенерує звичайний виклик функції.
1.9 Перевантажені функції
С++ дозволяє визначати функції з однаковими іменами, але унікальними типами аргументів. У цьому разі про функції кажуть, що вони перевантажені. Перевантаження функції використовується звичайно для створення кількох функцій з однаковим ім’ям, призначених для виконання схожих задач, але з різними типами даних. Наприклад,
#include <iostream.h>
int fun (int х, int у)
{ return (х*х+у*у);}
float fun (float х, float у)
{ return (х*х+у*у); }
main( )
{ int x1 = 10, y2 = 3; float x2 = 13.75, y2 = 11.25
cout << endl <<"Сума квадратів чисел " << x1<< " і " << y1 << "дорівнює "
<< fun(x1, y1)
<< endl <<"Сума квадратів чисел " << x2<< " і " << y2 << "дорівнює "
<< fun(x2, y2)
return 0;
}
Перевантажені функції розрізняються за допомогою сигнатури — комбінації імені функції і типів її параметрів. Компілятор кодує ідентифікатор кожної функції за числом і типом її параметрів, це називається декорируванням імені, щоб мати можливість здійснювати надійне зв’язування типів. Надійне зв’язування типів гарантує, що викликається належна функція і що аргументи узгоджуються з параметрами. Компілятор виявляє помилки зв’язування і видає повідомлення про них. Кожне декороване ім’я починається з символу @, який передує імені функції. Закодований список параметрів починається з символів $g. Типи значень функцій, що повертаються, не відбиваються в декорованих іменах. Перевантажені функції можуть мати різні або однакові типи значень, що повертаються, і обов’язково повинні мати різні списки параметрів. Дві функції, відмінні лише за типами значень, що повертаються, викличуть помилку компіляції.
РОЗДІЛ 2 . Програмні модулі
2.1 Завдання 1 Структури
2.1.1 Постановка завдання
У файлі оперативної систекми «Task.in» зберігається в текстовій формі відмість з відомостями про продукти. Кожен рядок цього файлу містить відо-мості про один вид продукту, представлені у такому форматі: 1…2 – порядковий номер продукту; позиція 3 – пробільних літера; позиції 4…15 – назва продукту довжиною не більше 11 имволів, в довільному місці поля; позиція 16 – пробільних літера; позиції 17…19 – вміст білка в 100 грамах продукту (ціле).
Кількість продуктів у відомості дорівнює 16. Приклад зазначеного файлу:
01 щука 20
02 сом 16
Написати:
1) визначення масиву структур для зберігання зазначеної відомості і фрагмент програми, який заповнить відомість даними, вводяться з файлу операційної системи «Task.in» (введення даних повинно здійснюватися в текстовому режимі);
2) фрагмент програми для знаходження і друку (у файл «Task.out») інформацію про продукт з найбільшим вмістом білка.
2.1.2 Програма та програмна реалізація
Дане завдання реалізоване у модулі TASK1.CPP (TASK1.EXE)
Для опису даної програми була введена структура (struct Tbook ) та заданий масив (char name[20]) для зберігання даних даного типу. Реалізація програми здійснюється за допомогою файлів “Task_in” та “Task_out”. Зчитування проводиться стандартною функцією scanf згідно визначеного формату даних вхідного файлу «Task_in». Під час роботи програма визначає продукт з найбільшим вмістом білка. Результатом виконання є вивід інформації про продукт та її запис у вихідний файл «Task_out». Тіло програми повністю побудоване згідно алгоритму(додаток 7 ). Розглянемо програму: