Скачиваний:
8
Добавлен:
25.05.2014
Размер:
4.76 Кб
Скачать
#include <fstream.h>

struct field {        
	char number [7];
	char surname [21];
	char name [21];
	
};

void main (void) {  

	char choic=0;  
	int i = 0;
	int count = 0;
	field list[100];  
	int num;
	field tmp;

	do {  
	cout << endl << "Sdelayte vibor. " 
		 << endl << "(1) Otkrit, (2) Dobavit dannie, (3) Vihod." 
		 << endl << "Vash vibor: ";
	cin >> choic;  

	switch (choic) {  

	case '1': {
		ifstream flist ("List.db");  
		num=0;
		flist >> num;	  
		for (i=0; i<num; i++) {
			flist >> list[i].surname;	
			flist >> list[i].name;	
			flist >> list[i].number;	
		}
		flist.close();  
		

		cout <<	endl << (char)218 << (char)196 << (char)196 << (char)194;
		for (i=0; i<20; i++) cout << (char)196; 	   
		cout << (char)194;
		for (i=0; i<20; i++) cout << (char)196; 	  
		cout << (char)194;
		for (i=0; i<6; i++) cout << (char)196; 	  
		cout << (char)191 << endl;
		

		for (i=0; i<num; i++) {
			if (count!=24) {  
				cout.setf(ios::left);  
				cout << (char)179 ;
				cout.width(2); 
				cout << i+1;
				cout << (char)179;
				cout.width(20);
				cout << list[i].surname;
				cout << (char)179;
				cout.width(20);
				cout << list[i].name;
				cout << (char)179;
				cout.width(6);
				cout << list[i].number;
				cout << (char)179;
				cout << endl;
			}
			if ((++count==24)||(i==num-1)) {
				cout << (char)192 << (char)196 << (char)196 << (char)193;
				for (i=0; i<20; i++) cout << (char)196; 	  
				cout << (char)193;
				for (i=0; i<20; i++) cout << (char)196; 	  
				cout << (char)193;
				for (i=0; i<6; i++) cout << (char)196; 	  
				cout << (char)217 << endl;
				if (++count==24) { 
					cout << endl << "Prodolgit?(Y/N)? ";
					cin >> choic;
					if ((choic=='n')||(choic=='N')) break;
					else if ((choic=='y')||(choic=='Y')) {
						count=0;
						cout <<	endl << (char)218 << (char)196 << (char)196 << (char)194;
						for (i=0; i<20; i++) cout << (char)196; 	  
						cout << (char)194;
						for (i=0; i<20; i++) cout << (char)196; 	  
						cout << (char)194;
						for (i=0; i<6; i++) cout << (char)196; 	  
						cout << (char)191 << endl;
					}
				}	else i--;
			}
		}
		if (num==0) {
			cout << (char)192 << (char)196 << (char)196 << (char)193;
			for (i=0; i<20; i++) cout << (char)196; 	  
			cout << (char)193;
			for (i=0; i<20; i++) cout << (char)196; 	  
			cout << (char)193;
			for (i=0; i<6; i++) cout << (char)196; 	  
			cout << (char)217 << endl;
		
		}

		do {
			choic = 0;
			cout << "Opcii: (2)dd one, (4)elete one, (5)ain menu: ";
			cin >> choic;
			if ((choic=='1')||(choic=='1')) {
				ofstream flist ("list.db");  
				flist << num+1 << ' ';
				for (i=0; i<num; i++) {
					flist << list[i].surname << ' ';	
					flist << list[i].name << ' ';
					flist << list[i].number << ' ';
				}
				cout << endl << "Vvedite stranu proizvoditelya: "; 
				cin >> tmp.surname;
				flist << tmp.surname << ' ';
				cout << "Vvedite Nazvanie: ";
				cin >> tmp.name;
				flist << tmp.name << ' ';
				cout << "Vvedite kod (6 4isel): ";
				cin >> tmp.number;
				flist << tmp.number << ' ';
				flist.close();
				ifstream iflist ("list.db");
				num=0;	  
				iflist >> num;	  
				for (i=0; i<num; i++) {
					iflist >> list[i].surname;	
					iflist >> list[i].name;	
					iflist >> list[i].number;	
				}
				iflist.close();	
			}
			if ((choic=='4')||(choic=='4')) {
				cout << endl << "Vvedite nomer: ";
				cin >> i;
				list[i-1].name[0]=0;
				ofstream flist ("list.db");
				flist << --num << ' ';
				for (i=0; i<num; i++) {
					if (list[i].name[0]) {
						flist << list[i].surname << ' ';	
						flist << list[i].name << ' ';	
						flist << list[i].number << ' ';	
					}
				}
				flist.close();


			}
		
		
		} while ((choic!='5')&&(choic!='5'));
		break;
	}
	
		case '2': { 
		ifstream flist ("list.db");
		num=0;	  
		flist >> num;	  
		for (i=0; i<num; i++) {
			flist >> list[i].surname;	
			flist >> list[i].name;	
			flist >> list[i].number;	
		}
		flist.close();
		char fname [20];
		cout << endl << "Vvedite imya DB: ";
		cin >> fname;
		ifstream addl (fname);
		int num2=0;
		addl >> num2;
		ofstream oflist ("list.db");
		oflist << num+num2;
		for (i=0; i<num; i++) {
			oflist << list[i].surname << ' ';	
			oflist << list[i].name << ' ';	
			oflist << list[i].number << ' ';	
		}
		for (i=0; i<num2; i++) {
			addl >> tmp.surname;
			addl >> tmp.name;
			addl >> tmp.number;
			oflist << tmp.surname << ' ';
			oflist << tmp.name << ' ';
			oflist << tmp.number << ' ';
		}
		addl.close();
		oflist.close();
		break;

	}

	case '3': break;
	}
	}while (choic!='3'); 
	

}
Соседние файлы в папке C++. Крамер, Гаусс, БД, текст. лабораторная за 1 семестр