2 семестр ИКТ / Lab_rab_6
.docx#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
struct car {
char* mark;
char* surname;
char* name;
int power;
int milage;
};
void input(car* cars, int n);
car* addCar(car* cars, int* n);
void printTable(car* cars, int n);
int main() {
setlocale(LC_ALL, "");
cout << " База данных машин" << endl;
int n;
cout << "Введите кол-во машин: ";
cin >> n;
car* cars = new car[n];
cout << "Заполните базу данных\n";
input(cars, n);
cout << "----------------------------------------------------------------------------------------------------------------------------------------------------" << endl;
cout << "Добавить новую машину в базу..................1" << endl;
cout << "Распечатать базу машин........................2" << endl;
cout << "Поиск машин по марке..........................3" << endl;
cout << "Найти машины с пробегом больше заданного......4" << endl;
cout << "Выйти из программы............................5" << endl;
cout << "Введите номер функции: ";
int c;
cin >> c;
switch (c) {
case 1:
cars = addCar(cars, &n);
break;
case 2:
printTable(cars, n);
break;
/*case 3:
cout << "Введите марку для поиска: ";
cin >> ;*/
}
system("pause");
return 0;
}
void input(car* cars, int n) {
char* buff = new char[100];
for (int i = 0; i < n; i++) {
cout << "Машина " << i + 1 << endl;
cout << "\tМарка машины: ";
cin >> buff;
cars[i].mark = new char[strlen(buff) + 1];
strcpy(cars[i].mark, buff);
cout << "\tФамилия владельца: ";
cin >> buff;
cars[n].surname = new char[strlen(buff) + 1];
strcpy(cars[n].surname, buff);
cout << "\tИмя владельца: ";
cin >> buff;
cars[n].name = new char[strlen(buff) + 1];
strcpy(cars[n].name, buff);
cout << "\tМощность двигателя: ";
cin >> cars[i].power;
cout << "\tПробег: ";
cin >> cars[i].milage;
}
delete[] buff;
buff = NULL;
}
car* addCar(car* cars, int* n) {
car* cars1 = new car[*n + 1];
for (int i = 0; i < *n; i++) {
cars1[i] = cars[i];
}
*n = *n + 1;
//...
delete[] cars;
return cars1;
}
void printTable(car* cars, int n) {
cout << "Марка машины\t" << "Фамилия владельца\t" << "Имя владельца\t" << "Мощность двигателя\t" << "Пробег\t" << endl;
cout << "--------------------------------------------------------------------------------------------------------------------------------------------------" << endl;
for (int i = 0; i < n; i++) {
cout << cars[i].mark << "\t" << cars[i].surname << "\t" << cars[i].name << "\t" << cars[i].power << "\t" << cars[i].milage << endl;
}
}
void findOwner(car* cars) {
}
void exit(car* cars) {
}
void input(car* cars) {
}