Програма вилучає з рядка початкові пробили.
#include <stdio.h>
#include <conio.h>
#define n 80
#define m 0
void main()
{ unsigne char st[n];
int i;
printf(„ввести рядок”);
gets(st);
i=m;
while(st[i]){
if((st[i]>=’a’&&st[i]<=’z’) || (st[i]>=’a’&&st[i]<=’n’))
st[i]-=32;
else if (st[i]>=’p’&&st[i]<=’я’) || (st[i]>=’a’&&st[i]<=’n’)) st[i]-=n;
i++;} printf(“%s”,st);
getch();}
Контрольні запитання
1. Для чого використовуються макроси?
2. Що таке макровизначення та макропідстановка?
3. Як працюють макрофункції?
Лабораторна робота №18
Тема : Розробка програм з використанням масиву структур.
Мета : Набуття практичних навичок з використання структур в системи програмування С.
Завдання
В середовищі С створити програми, які створюють та обробляють структури.
Хід роботи
1. Завантажити систему програмування.
Розробити програму з використанням структури. Для цього потрібно:
· Визначити шаблон структури для об’єкту згідно варіанту.
· Визначити область пам’яті ( як масив) для розташування значень полів структури.
· Внести дані в поля структури.
· Для кожній структури вивести на екран монітору вхідні дані.
· Для кожного варіанту зробити один запит. Результати запиту вивести на екран монітору.
2. Якщо є помилки, відредагуйте програму.
3. Покажіть одержані результати викладачу.
4. Складіть звіт.
Варіанти
1. Магазин. За назвою товару визначити його ціну. Знайти загальну вартість товару.
2. Лікарня. За кодом медичної картки знайти прізвище пацієнта. Визначити його адресу. Підрахувати загальну кількість пацієнтів.
3. Аптека. За назвою ліків визначити його ціну. Знайти загальну вартість ліків, у яких строк збереження був до 2006р.
4. Залізничні каси. За номером квітку визначити приз віще пасажира, № потягу та № вагону. Вивести на екран монітору всіх пасажирів потягу №х.
5. Прокат автомобілів. Знайти за номером машини її тип, рік випуску, марку. Підрахувати скільки літрів пального було втрачено за весь час її експлуатації (вважаємо, що нам відомо показник спідометру).
6. Ломбард. За номером квитанції визначити власника закладної, його адресу, суму залогу, дату повернення залогу. Розрахувати суму прострочи залогу, враховуючи, що один тиждень коштуватиме 1% від залогу.
7. Успішність студентів. За прізвищем студента визначити його адресу, № телефону, середній бал. Вивести список студентів за рейтингом.
8. Готель. За прізвищем гостя вивести № кімнати, де він поселився. Вивести вартість заселення кімнати за добу та вартість проживання за весь час.
9. Видавництво. За прізвищем автора вивести назву книги, її вартість та тираж. Підрахувати заробіток автора, як що відомо, що він отримав 65% від загальної вартості.
10. Технічне обслуговування автомобілів. За номером автомобіля вивести його марку, № двигуна, вид та вартість ремонту та технічного обслуговування. Знайти загальну вартість обслуговування машини.
Приклад:
Typedef struct{ char name(30);
float sr_bal;}student;
main()
{
student st[5]; int I;
for (i=0;i<=5;i++){
scanf(“%s”,st[i].name);
scanf(“%f”,st[i].sr_bal);
}
}
Контрольні запитання
1. Як визначається область пам’яті під структуру?
2. Що описує структура?
3. Як звертатися до поля структури?
Лабораторна робота №19
Тема : Розробка програм з використанням структур як полів структур.
Мета : Набуття практичних навичок з використання структур в системи програмування С.
Теоретичні відомості
Оголошення структури:
struct Employee { // основна структура char name[64]; int age; char ssan[ll]; struct Date { //вкладена структура int day; int month; int year; } hire_date;// Виділення пам’яті для вкладеній структури int pay_grade; float salary; unsigned employee_number; } new_employee; // Виділення пам’яті для основній структуриЗвернення до члена вкладеної структури.
Спочатку вказується сначала указывается член основної структури, потім – вкладеній.
new_employee.hire_date.month = 12;Завдання
В середовищі С створити програми, які створюють та обробляють структури. Визначити поле структури як структуру. Ввести дані та вивести на екран монітору.
Хід роботи
1. Завантажити систему програмування.
Розробити програму з використанням структури. Для цього потрібно:
· Визначити шаблон структури для об’єкту згідно варіанту.
· Визначити область пам’яті ( як масив) для розташування значень полів структури.
· Внести дані в поля структури.
· Для кожній структури вивести на екран монітору вхідні дані.
2. Якщо є помилки, відредагуйте програму.
3. Покажіть одержані результати викладачу.
4. Складіть звіт.
Варіанти
1. Співробітники (Код співробітника, ПІП, Вік, Стать, Адреса, Телефон, Паспортні дані, Посада (Код посади, Найменування, Оклад, Обов’язки, Вимоги).
2. Читачи(Код читача, ПІП, Дата нарождення, Стать, Адреса, Телефон, Паспортні дані, Видані книги (Код книги, Код читача, Дата видачи, Дата повернення ) .
3. Аптека ( Назва ліків, Країна виробник, Ціна, Призначення, Дата випуску( День, Місяц, Рік).
4. Залізничні каси(Номер квітку, Прізвище пасажира, № потягу, № вагону, Дата виїзду ( День, Місяц, Рік).
5. Прокат автомобілів(Номером машини , Тип( Форма кузову, Кількість дверів), Рік випуску, Марка.
6. Ломбард ( Номером квитанції, Власника закладної, Адресу( Країна, місто, Вулиця, будинок), Сума залогу Дата повернення залогу.
7. Успішність студентів. Прізвищем студента Адресу, № телефону, Дата атестації (Назва місяцу, Середній бал).
8. Готель (Прізвищем гостя, № кімнати, Вартість заселення кімнати за добу, Дата ( День, Місяц, Рік)
9. Видавництво( Прізвище автора, Назва книги, Вартість, Тираж, Видавництво (Назва, Країна, Власник)
10. Технічне обслуговування автомобілів (Номер автомобіля, Марка, № двигуна, Вид Ремонту (Вартість ремонту , Дата технічного обслуговування).
Контрольні запитання
1. Як визначається область пам’яті під вкладену структуру?
2. Що описує структура?
3. Як звертатися до поля вкладеній структури?
Лабораторна робота №20
Тема : Робота з файлами.
Мета : Набуття практичних навичок зі створення файлів в системи програмування С.
Завдання
В середовищі С зробить програму, яка створює та обробляє файли.
Хід роботи
1. Завантажити систему програмування.
Розробити програму зі створення файлу. Для цього потрібно:
· Визначити шаблон структури файлу згідно варіанту.
· Визначити файлову змінну .
· Внести дані в поля файлу.
· Для кожного варіанту обробки файлу зробити один запит. Для цього виявити ключовий елемент, та за ключовим елементом відшукати дані. Результати запиту вивести на екран монітору.
· Вивести файл на екран монітору.
2. Якщо є помилки, відредагуйте програму.
3. Покажіть одержані результати викладачу.
4. Складіть звіт.
Варіанти.
Мовою програмування С створити:
1.Телефоній довідник з полями: № телефону, прізвище власника, його адреса.
2.Бібліотечний каталог : назва книга, автор, кількість сторінок, рік видання, тираж.
3.Прокат кінострічок: назва фільму, режисер, країна, рік створення, кіностудія.
4.Каталог комплектуючих до ПК: назва пристрою, ціна, фірма-виробник, ціна, вид оплати.
5.Каталог гірських вершин: назва гірського піку, його категорія, висота, гірський масив, куди він входить, країна.
6.Каталог річок: назва, довжина, країна, материк, напрямок руху.
7.Описати таблицю Менделєєва: назва елементу, його валентність, атомна вага, в яку групу входить.
8.Каталог періодичних видань: назва журналу, видавництво, ціна, періодичність видання, головний редактор, країна видання.
9.Облік матеріальних ресурсів: номер, назва, ціна, дата інвентаризації, амортизація.
10. Каталог виставки : назва експонату, матеріал виготовлення, ціна, автор, країна.
Приклад програми:
#include<stdio.h>
char *str=”Цей рядок вводиться в файл”;
main()
{ FILE *fl; int a,b;
fl=fopen(“outfile.txt”,”w”);
fprintf(fl,”%s”,str);
printf(“введить два числа”);
scanf(“%d%d”,&a,&b);
fprintf(fl,a=%d,b=%d,a=b=%d”,a,b,a+b);
fclose(fl);}
Контрольні запитання
1. Чім файл відрізняється від масиву?
2. Що таке вказівник на файл?
3. Що буває, якщо не виконати функцію fclose()?
4. Як визначається в програмі вид роботи зфайлом?.
Лабораторна робота №21
Тема : Малювання статичних об’єктів.
Мета : Набуття практичних навичок зі створення графічних зображень в системи програмування С.
Завдання
В середовищі С зробить програму, яка створює графічне зображення.
Хід роботи
1. Завантажити систему програмування.
2. Створити малюнки по варіантах. Розфарбувати об’єкт малювання та фон .
1. Хатинка. 2. Самольот.
3. Ппрапор олімпійських ігор. 4. Зірочка.
5 Корабель. 6. Машина.
7 Паровоз. 8 Пароплав.
9. Ракета. 10. Супутник.
Приклад
Шаблон графічної програми:
#include <graphics.h>
#include <conio.h>
void main(void)
{ int driver=DETECT;
int gmode;
int errorcode;
initgraph(&driver,& gmode,path_to_driver);
errorcode=graphrezalt();
if(errorcode != grOK)
{printf(„Помилка %d”, errorcode);
getch();
return:} closegraph();}
Контрольні запитання
1. Яку бібліотеку треба підключати для малюнків?
2. Що позначає driver?
3. Що позначає gmode?
4. Що таке closegraph()?
Лабораторна робота №22
Тема : Створення меню.
Мета : Набуття практичних навичок зі створення інтерфейсу роботи з програмою.
Література: Б.И.Березин, С.Б. Березин, Навчальний курс С и С++
Теоретичні відомості
Оператор switch відноситься до операторів множинного вибору. Вид оператору:
switch (вираз) {
case constant1:
послідовність операторів
break;
case constant2:
послідовність операторів
break;
case constant3:
послідовність операторів
break;
...
case constantN:
послідовність операторів
break;
default
послідовність операторів
}
Постановка задачі
У програмі розробити інтерфейс управління роботою програми за допомогою оператору вибору. В меню включити всі лабораторні роботи, які були зроблені на протязі вивчення курсу «Основи програмування та алгоритмічні мови»
Програма повинна припиняти роботу при натисканні клавіші Enter на пункті
меню " Вихід з програми ".