#include "stdafx.h"
#include "pch.h"
#include "functions.h"
void vivod() {
	printf("   :        \n");
	printf("  182 \n");
	printf("  \n");
	printf(" : \n");
}
void vivod1() {
	printf("1.    /. \n");
}
void vivod2() {
	printf("2.   / . \n");
}
void vivod3() {
	printf("3.  / . \n");
}
void vivod4() {
	printf("4.   . \n");
}
void vivod5() {
	printf("5.   . \n");
}
void vivod6() {
	printf("6. . \n");
}
void vivod7() {
	printf(" : ");
}
int acc;
void Menu() {
	__asm {
		    call vivod
			call vivod1
			call vivod2
			call vivod3
			call vivod4
			call vivod5
			call vivod6
			call vivod7
	}
	scanf("%d",&acc);
}
int main()
{
	SetConsoleCP(1251);
	SetConsoleOutputCP(1251); 
	setlocale(LC_ALL, "Russian");
	string fileen = "svedenia.txt";
		string filenn = "file v kot you soxranil base.txt";
	int jj = 0;
	machine *lar = new machine[jj];
	int vip;
	Menu();
	while (acc != 0) {
		switch (acc)
		{
		case 1:
			system("cls");
			printf("1.   . \n");
			printf("2.   . \n");
			printf(" : ");
			scanf("%d", &vip);
			if (vip == 1) {
				system("cls");
				if (jj != 0) {
					pokaz(lar, jj);
				}
				else
					printf("  . \n");
			}
			else {
				system("cls");
				if (jj != 0) {
					RecordInFile(filenn, lar, jj);
					printf("   ", filenn);
					printf("\n");
				}
				else
					printf("  . \n");
			}
			system("pause");
			system("cls");
			Menu();
			break;

		case 2:
			system("cls");
			printf("1.    . \n");
			printf("2.     . \n");
			printf(" : ");
			scanf("%d", &vip);
			if (vip == 1) {
				system("cls");
				printf("1.    . \n");
				printf("2.  . \n");
				printf(" : ");
				scanf("%d", &vip);
				if (vip == 1) {
					system("cls");
					
					jj = skolkovsegosvedeni(fileen);
					
					lar = new machine[jj];
					readfileandotkr(fileen, lar);
					printf(" . \n");
				}
				else {
					system("cls");
					printf("     : ");
					scanf("%d", &jj);
					system("cls");	
					lar = new machine[jj];
					for (int i = 0; i < jj; i++) {
						cout << "   " << i + 1 << endl;
						cout << " :";
						cin >> lar[i].marka;
						cout << " :";
						cin >> lar[i].god;
						cout << " :";
						cin >> lar[i].speed;
						cout << " :";
						cin >> lar[i].color;
						cout << " :";
						cin >> lar[i].xarakt.dwijok;
						cout << " ";
						cin >> lar[i].xarakt.transmis;
						cout << " :";
						cin >> lar[i].xarakt.podveska;
						cout << endl;
					}
				}
			}
			else {
				system("cls");
				//,    
				if (jj != 0) {
					machine *pp = new machine[jj];
					
					Copy(lar, pp, jj);
					jj++;
					lar = new machine[jj];

					Copy(pp, lar, jj - 1);
					cout << " :" << endl;
					cout << " :";
					cin >> lar[jj - 1].marka;
					cout << " :";
					cin >> lar[jj - 1].god;
					cout << " :";
					cin >> lar[jj - 1].speed;
					cout << " :";
					cin >> lar[jj - 1].color;
					cout << " :";
					cin >> lar[jj - 1].xarakt.dwijok;
					cout << " : ";
					cin >> lar[jj - 1].xarakt.transmis;
					cout << " :";
					cin >> lar[jj - 1].xarakt.podveska;
					cout << endl;
				}
			}
			system("pause");
			system("cls");
			Menu();
			break;
		case 3:
			system("cls");
			printf("1.   . \n");
			printf("2.  . \n");
			printf(" : ");
			scanf("%d", &vip);
			if (vip == 1) {
				system("cls");
				jj = 0;
				lar = new machine[jj];
				printf("  . \n");
			}
			else
			{
				system("cls");
				int number;
				printf("  ,     ( 1  ",jj, "): ");
				scanf("%d", &number);
				number--;
				if (number >= 0 && number < jj) {
					cout << "  :" << endl;
					cout << " :";
					cin >> lar[number].marka;
					cout << " :";
					cin >> lar[number].god;
					cout << " :";
					cin >> lar[number].speed;
					cout << " :";
					cin >> lar[number].color;
					cout << " :";
					cin >> lar[number].xarakt.dwijok;
					cout << " :";
					cin >> lar[number].xarakt.transmis;
					cout << " :";
					cin >> lar[number].xarakt.podveska;
				}
				else
					printf("  . \n");
			}
			system("pause");
			system("cls");
			Menu();
			break;
		case 4:
			system("cls");
			printf("1.     . \n");
			printf("2.     . \n");
			printf(" : ");
			scanf("%d", &vip);
			if (vip == 1) {
				system("cls");
				string name;
				printf("   : ");
				cin >> name;
				if (!poiskponame(lar, jj, name))
					cout<<"  "<< name<< " .";
			}
			else
			{
				system("cls");
				int year;
				printf("   : ");
				cin >> year;
				if (!poiskpogody(lar, jj, year))
					printf("   ", year, "  . \n");
			}
			system("pause");
			system("cls");
			Menu();
			break;
		case 5:
			system("cls");
			printf("1.     . \n");
			printf("2.     . \n");
			printf(" : ");
			scanf("%d", &vip);
			if (vip == 1) {
				system("cls");
				sortirovkaponame(lar, jj);
				printf("   \n");
			}
			else {
				system("cls");
				sortirovkapogody(lar, jj);
				printf("   \n");
			}
			system("pause");
			system("cls");
			Menu();
			break;
		case 6:
			system("cls");
			int la, lb;
			printf("  ,      ( ): ");
			scanf("%d", &la); 
			scanf("%d", &lb);
			printf("\n");
			if (!Filtration(lar, jj, la, lb))
			printf("       \n");
			system("pause");
			system("cls");
			Menu();
			break;
		default:
			printf("    . \n");
			system("pause");
			break;
		}
	}
	system("cls");
	printf(" . ");
}