- •Лабораторна робота №1
- •Теоретичні відомості
- •Завдання для виконання
- •Int main()
- •Int main()
- •Лабораторна робота №2
- •Теоретичні відомості
- •Void main()
- •Int k,m; //опис змінних
- •Void main()
- •Int k,m; //опис змінних
- •Void main()
- •Int k,m; //опис змінних
- •Void main()
- •Int k,m; //опис змінних
- •Void main()
- •Завдання для виконання
- •Лабораторна робота №3
- •Теоретичні відомості
- •Приклади виконання завдання
- •Void main()
- •Void main()
- •Int main()
- •Завдання для виконання
- •Лабораторна робота №4
- •Теоретичні відомості
- •Приклади виконання завдання
- •Void main ( )
- •Void main ( )
- •Завдання для виконання
- •Лабораторна робота №5
- •Теоретичні відомості
- •Void main()
- •Void main()
- •Приклади виконання завдання
- •Void main ( )
- •Void main ( )
- •Завдання для виконання
- •Лабораторна робота №6
- •Теоретичні відомості
- •Приклади виконання завдання
- •Void main ( )
- •Void main ( )
- •Void main ( )
- •Завдання для виконання
- •Лабораторна робота №7
- •Теоретичні відомості
- •Void fact(int k);
- •Void fact(k);
- •Int *I; //Вказівник - змінна на дані типу int
- •Int k, *vk; //Опис змінної - вказівника *vk
- •Приклади виконання завдання лабораторної роботи
- •Int fact(int n)// Функція, що обчислює n!
- •Void dryk(int Cnm) /* Функція, що виводить на екран значення Cnm */
- •Void main ( )
- •Int Factorial(int n) /*Рекурсивна функція,що обчислює n! */
- •Void main()
- •Void Vs(double &V, double &s, double r)
- •Void main ( )
- •Void Vs(double *V, double *s, double r)
- •Void main ( )
- •Void main()
- •Завдання для виконання
- •Лабораторна робота №8
- •Теоретичні відомості
- •Приклади виконання завдання
- •Void main()
- •Void main()
- •Void main()
- •Завдання для виконання
- •Лабораторна робота №9
- •Теоретичні відомості
- •Приклади виконання завдання
- •Void main()
- •If (!feof(f1))
- •Void main()
- •Void main()
- •Void main()
- •Void main ()
- •Void main ()
- •Ifstream in( "vvid" );
- •In.Close();
- •Завдання для виконання
- •Лабораторна робота №10
- •Теоретичні відомості
- •Char st[40]
- •Char st3[100]
- •Char str4[100]
- •Приклади виконання завдання
- •Void main()
- •Void insert (char *str, int p, char c)
- •Void main()
- •Insert(s,n,c);
- •Void main()
- •Завдання для виконання
- •Лабораторна робота 11
- •Теоретичні відомості
- •If(!strcmp(ms[I].Ngr,"m21"))
- •Завдання для виконання
- •Приклади виконання завдання
- •Void main()
- •Лабораторна робота 12
- •Теоретичні відомості
- •Void show_complex() /*вивід комплекснеого числа на екран */
- •Void show_complex();
- •Void complex::show_complex()
- •Void main()
- •Приклади виконання завдання
- •Завдання для виконання
- •Лабораторна робота 13
- •Теоретичні відомості
- •Приклади виконання завдання
- •Void operator --();
- •Void operator --(int);
- •Void show_complex();
- •Завдання для виконання
- •Завдання для самостійного виконання
- •Додаток №2. Базові типи даних
- •Додаток №3. Основні специфікатори формату функції printf
- •Додаток №5. Основні математичні функції бібліотеки math.H
- •Додаток №6.
- •Додаток №7. Можливі специфікатори аргументу mode
- •Додаток №8. Основні функції для роботи із рядковими змінними бібліотеки string.H
- •Додаток №9. Основні функції для роботи із символами бібліотеки ctype.H
- •Література
- •Ткачук Валерій Михайлович
- •Лабораторний практикум
- •76000, М. Івано-Франківськ, вул. С. Бандери, 1
Приклади виконання завдання
Приклад №1
Створити масив структур, що мітить наступну інформацію про студента: прізвище; ім’я; по батькові; номер групи; чотири оцінки здачі сесійних екзаменів; середній бал за результатами сесії. Дані структури зчитуються із файлу (створеного за допомогою Блокнота). Вивести на екран інформацію про середній бал студентів групи М21 у порядку спадання.
#include <iostream>
#include<stdio.h>
#include <fstream>
#include <string.h>
#include <windows.h>
using namespace std;
Void main()
{
struct strc{
char f[15];
char i[15];
char o[15];
char ngr[7];
int otc[4];
double sb;
}
ms[1000];
int nst,i,j;
SetConsoleOutputCP(1251);
SetConsoleCP(1251);
FILE *f1;
/* Відкриття файлу для вводу даних та перевірка, чи вдалося його відкрити */
if ((f1=fopen("struct", "rt"))==NULL)
{
printf("Файл відкрити не вдалося\n");
return;
}
cout<<"\n";
i=0;
// Читання даних з файлу до досягнення його кінця
while (!feof(f1))
{
i++;
// Форматний ввід даних з файлу
fscanf(f1,"%s%s%s%s%i%i%i%i",ms[i].f,ms[i].i,ms[i].o,ms[i].ngr ,&ms[i].otc[0],&ms[i].otc[1],&ms[i].otc[2],&ms[i].otc[3]);
// Обчислення середнього балу
ms[i].sb=(ms[i].otc[0]+ms[i].otc[1]+ms[i].otc[2]+ms[i].otc[3])/4.;
}
nst=i;
cout<<"\n Загальна кількість студентів ="<<nst<<"\n";
cout<<"\n";
cout<<"\nСтуденти групи m21 у порядку спадання середнього балу\n";
/* Впорядкування студентів групи m21 у порядку спадання */
for(i=0;i<nst-1;i++)
for(j=i+1;j<nst;j++)
if(ms[i].sb<ms[j].sb
&& !strcmp(ms[i].ngr,"m21")
&& !strcmp(ms[j].ngr,"m21"))
{
ms[999]=ms[i];
ms[i]=ms[j];
ms[j]=ms[999];
}
int k=0;
/* Перегляд масиву структури та вивід на екран тільки студентів групи m21 */
for(i=0;i<nst;i++)
If(!strcmp(ms[I].Ngr,"m21"))
{k++;
printf("%i\t%15s%15s%15s\t%15.6f\n",k,ms[i].f,ms[i].i,ms[i].o,ms[i].sb);
}
cout<<"\n";
fclose(f1);
}
Результат роботи програми:
Вхідний файл struct для вводу даних:
Результат роботи програми:
Завдання для виконання
Написати програму розв’язку задачі. Розробити контрольні приклади та протестувати за їх допомогою програму. Вхідні дані оформити у вигляді окремого файлу.
Масив структур мітить інформацію про 23 студентів: прізвище, ім’я та по батькові; стать;номер групи; оцінка за здачу екзамену з інформатики в стобальній системі. Зчитати дані із файлу та вивести прізвища студентів чоловічої статі, що мають відмінну оцінку.
Масив структур мітить інформацію про 25 людей: прізвище; ім’я; по батькові; стать; сімейний стан; відомості про кількість дітей. Зчитати дані із файлу та вивести прізвища всіх жонатих чоловіків, що мають дітей.
Масив структур мітить інформацію про 25 клієнтів пункту прокату: прізвище; ім’я; домашня адреса; номер телефону; назва речі, взятої напрокат. Зчитати дані із файлу та вивести прізвища та телефони всіх клієнтів , що взяли на прокат телевізор.
Масив структур мітить інформацію 22 клієнтів пункту прокату: прізвище; ім’я; назва речі, взятої напрокат; домашня адреса; номер телефону. Зчитати дані із файлу та вивести прізвища всіх клієнтів, телефони яких починаються цифрою 7.
Масив структур мітить інформацію про 25 клієнтів пункту прокату: прізвище; ім’я; назва речі, взятої напрокат; домашня адреса; номер телефону. Зчитати дані із файлу та вивести прізвища всіх клієнтів, що проживають на введеній із клавіатури вулиці.
Масив структур мітить інформацію про 30 студентів: прізвище; ім’я; місце проживання (гуртожиток або дома); номер телефону (якщо він є). Зчитати дані із файлу та вивести прізвища тих студентів, що проживають дома та мають домашній телефон.
Масив структур мітить інформацію про 30 студентів: прізвище; ім’я; номер групи; місце проживання (гуртожиток або дома). Зчитати дані із файлу та вивести прізвища студентів заданої із клавіатури групи, що проживають у гуртожитку.
Масив структур мітить інформацію про 30 студентів: прізвище; ім’я; стать; номер групи; місце проживання (гуртожиток або дома). Зчитати дані із файлу та підрахувати загальну кількість студентів жіночої статі, що проживають дома.
Масив структур мітить інформацію про 30 студентів: прізвище; ім’я; номер групи; адреса прописки; стать. Зчитати дані із файлу та підрахувати кількість студентів, що прописані на заданій із клавіатури вулиці.
Масив структур мітить інформацію про 25 студентів: прізвище; ім’я; номер групи; адреса прописки, стать. Зчитати дані із файлу та підрахувати загальну кількість студентів чоловічої та жіночої статі.
Масив структур мітить інформацію про 10 автомобілів: модель; вартість; рік випуску, розхід пального на 100 кілометрів шляху. Зчитати дані із файлу та вивести автомобілі, які не старші 5 років та мають розхід пального, що не перевищує вказану із клавіатури величину.
Масив структур мітить інформацію про 12 автомобілів: модель; рік випуску;вартість; розхід пального на 100 кілометрів шляху. Зчитати дані із файлу та вивести автомобілі, вартість яких не перевищує вказану із клавіатури величину, а розхід пального менше 7 літрів на 100 кілометрів.
Масив структур мітить інформацію про 15 міст України: назва міста; кількість населення; рік заснування; середньорічна температура. Зчитати дані із файлу та вивести назви міст, старших 300 років, кількість населення в яких перевищує введену із клавіатури величину.
Масив структур мітить інформацію про 12 міст України: назва міста; кількість населення; середньорічна температура. Зчитати дані із файлу та впорядкувати дані по спаданню середньорічої температури. Вивести міста, в яких вона не перевищує введену із клавіатури величину.
Масив структур мітить інформацію про 20 людей: прізвище; ім’я; стать; вага; ріст. Зчитати дані із файлу і вивести на екран середній ріст людей чоловічої статі.
Масив структур мітить інформацію про 22 людей: прізвище; ім’я; стать; ріст; вага. Зчитати дані із файлу і вивести на екран прізвища осіб жіночої статі, вага яких перевищує середнє значення.
Масив структур мітить інформацію про 17 людей: прізвище; ім’я; стать; ріст; вага. Зчитати дані із файлу та вивести на екран прізвища всіх осіб, вага яких не перевищує норму (ріст – вага < 100).
Масив структур мітить інформацію про 26 людей: прізвище; ім’я; стать; ріст; вага. Зчитати дані із файлу та вивести на екран прізвища всіх осіб чоловічої статі, вага та ріст яких перевищує введені із клавіатури значення.
Масив структур мітить інформацію про 15 працівників фірми: прізвище; ім’я; рік народження; рік, із якого працює на фірмі; оклад. Зчитати дані із файлу і вивести на екран прізвища всіх осіб жіночої статі, що працюють на фірмі не менше 2 років та мають оклад, що не перевищує середнього по фірмі.
Масив структур мітить інформацію про 15 працівників фірми: прізвище; ім’я; по батькові; оклад; рік народження;. Зчитати дані із файлу і вивести на екран прізвища всіх працівників, оклад яких перевищує середнє по фірмі значення.
Масив структур мітить інформацію про 25 жителів населеного пункту: прізвище; ім’я; адреса проживання; номер телефону. Зчитати дані із файлу та вивести номер телефону людини, прізвище якої введено із клавіатури. Якщо такої людини немає, то видати відповідне повідомлення.
Масив структур мітить інформацію про 23 жителів населеного пункту: адреса проживання; прізвище; ім’я; номер телефону. Зчитати дані із файлу та вивести на екран прізвище людини за введеним із клавіатури номером телефону. Якщо такого номера телефону немає, то видати відповідне повідомлення.
Масив структур мітить інформацію про 35 абітурієнтів: прізвище; ім’я; адреса проживання; три оцінки за зовнішнє незалежне оцінювання. Зчитати дані із файлу та вивести прізвища та адреси абітурієнтів, середній бал яких перевищує середній по університету.
Масив структур мітить інформацію про 35 абітурієнтів: спеціальність; прізвище; ім’я; адреса проживання; три оцінки за зовнішнє незалежне оцінювання. Зчитати дані із файлу та вивести прізвище та стать абітурієнтів, впорядкувавши їх по спаданню середнього балу – від найбільшого до найменшого.
Масив структур мітить інформацію про 35 абітурієнтів: прізвище; ім’я; три оцінки за зовнішнє незалежне оцінювання; стать. Зчитати дані із файлу та вивести прізвища та стать абітурієнтів, впорядкувавши їх по спаданню середнього балу – від найбільшого до найменшого. На початку розмістити всіх пільговиків.
Масив структур мітить інформацію про відправлення поїздів: номер поїзда; пункт призначення; час відправлення; кількість вільних місць. Зчитати дані із файлу та вивести номери тих поїздів, на які є не менше 25 вільних місць.
Масив структур мітить інформацію про виліт літаків: номер рейсу; пункт призначення; час вильоту; наявність вільних місць (є або нема). Зчитати дані із файлу та вивести всі номери рейсів та пунктів призначення, на які є вільні місця, впорядкувавши їх за зростанням часу вильоту.
Масив структур мітить інформацію про каталог книг: реєстраційний номер книги; назва; автор; видана, чи знаходиться у книгосховищі. Зчитати дані із файлу та вивести всі книги автора, прізвище якого введене із клавіатури якщо вона не видана.
Масив структур мітить інформацію про студентів: прізвище; ім’я; номер групи; середній дохід на члена сім’ї. Зчитати дані із файлу та вивести всіх студентів, у яких середній дохід не перевищує заданої з клавіатури величини, впорядкувавши їх у порядку його спадання.
Масив структур мітить інформацію про каталог книг: реєстраційний номер книги; видана, чи знаходиться у книгосховищі; якщо видана, то якого числа; прізвище студента, якому видана книга. Зчитати дані із файлу та вивести всіх студентів, яким книги видані більше терміну, заданого із клавіатури.
