МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
Кафедра САПР
РОЗРАХУНКОВА РОБОТА
з курсу:
“ Проблемно-орієнтоване програмування ”
Варіант - 18
Програма №1
Написати програму, що використовує функцію, яка повертає з переданого їй рядка кількість пробілів у рядку.
Код програми:
#include <stdio.h>
#include <string.h>
#include <conio.h>
void Last_Letters(char* s1, char* s2) {
int l = strlen(s1);
for (int i = 0; i < 3; i++)
s2[i] = s1[l - 3 + i];
s2[3] = '\0';
}
int main(void) {
char s1[100], s2[4];
puts("Enter String");
gets(s1);
Last_Letters(s1, s2);
printf("Result: %s", s2);
_getch();
return 0;
}
Результат виконання:
/
Програма №2
1. Описати клас phonebook, який містить елементи family (тип char), city_cod (тип int), ATS_No
(тип int - 2 символи), Numb - 4 останні цифри номера (тип int, 4 символи). Скласти програму,
яка використовує перевантажені оператори вводу і виводу і виводить на екран інформацію у
форматі
для 5-ти змінних типу phonebook.
Код програми:
#include <iostream>
#include <conio.h>
using namespace std;
class Three_D {
float x;
float y;
float z;
public:
Three_D() {
x = y = z = 0;
}
Three_D(float a) {
x = y = z = a;
}
Three_D(float a, float b, float c) {
x = a;
y = b;
z = c;
}
friend ostream& operator << (ostream&, Three_D);
};
ostream& operator << (ostream& out, Three_D obj) {
out << "(" << obj.x << ", " << obj.y << ", " << obj.z << ")" << endl;
return out;
}
int main() {
Three_D p1, p2(1.9, 2.8, 3.7), p3(9.1, 8.2, 7.3), p4(3.14);
cout << "Point 1: " << p1 << endl;
cout << "Point 2: " << p2 << endl;
cout << "Point 3: " << p3 << endl;
cout << "Point 4: " << p4 << endl;
_getch();
return 0;
}
Результат виконання:
/
Програма №3
Описати базовий клас з функціями присвоєння і виводу (cout) двох змінних типу float. Оголосити їх захищеними. В похідному класі з використанням принципу наслідування реалізувати знаходження мінімального з цих чисел. В головній функції main реалізувати задання і вивід цих змінних, як об’єктів базового класу, а вивід мінімального значення, як об’єкта похідного класу.
Код програми:
#include <iostream>
#include <conio.h>
using namespace std;
class First_Class {
protected:
int a, b;
public:
First_Class() {
a = b = 0;
}
void Set(int c, int d) {
a = c;
b = d;
}
void Show() {
cout << "A = " << a << endl;
cout << "B = " << b << endl;
}
};
class Second_Class :virtual public First_Class {
public:
Second_Class() {
First_Class();
}
int Max() {
return a > b ? a : b;
}
};
class Third_Class :virtual public Second_Class {
public:
Third_Class() {
Second_Class();
}
int Min() {
return a < b ? a : b;
}
};
int main() {
int a, b;
Third_Class obj;
cout << "Enter A" << endl;
cin >> a;
cout << "Enter B" << endl;
cin >> b;
obj.Set(a, b);
obj.Show();
cout << "Maximum: " << obj.Max() << endl;
cout << "Minimum: " << obj.Min() << endl;
_getch();
return 0;
}
Результат виконання:
/