#include #include #include #include #include using namespace std; vector iver; void System::ini_interface(){ for (int i = 0; i < 10;i++){ cout << " ************************************* " << endl; cout << endl; cout << " 欢 迎 光 临 " << endl; cout << endl; cout << " 大 众 4 S 店 天 津 分 店 " << endl; cout << " " << endl; cout << " 请 按 任 意 键 进 入 店 铺 !!!!! " << endl; cout << endl; cout << " 您 将 在" << 10 - i << "秒 后 自 动 进 入 店 铺 " << endl; cout << endl; cout << " ************************************* " << endl; Sleep(1000); char keydown = 0; if (_kbhit()){ _getch(); keydown = 1; } if (keydown){ i = 50; } system("cls"); } } void System::list(){ system("cls"); char temp; if (power == '1'){ cout << " 当前权限为:管理员权限 可使用所有功能。" << endl; } else { cout << " 当前权限为:普通权限 只能使用功能1,3,5,9." << endl; } cout << endl; cout << endl; cout << " #************************************************************#" << endl; cout << " #* *#" << endl; cout << " #* 1:更改权限 2:信息录入 3:信息浏览 *#" << endl; cout << " #* *#" << endl; cout << " #* 4:信息修改 5:信息查询 6:信息删除 *#" << endl; cout << " #* *#" << endl; cout << " #* 7:保存信息 8:读取信息 9:退出程序 *#" << endl; cout << " #* *#" << endl; cout << " #************************************************************#" << endl; temp = _getch(); switch (temp) { case'1':get_power(); break; case'2':input_information(); break; case'3':look_information(); break; case'4':alter(); break; case'5':refer(); break; case'6':remove(); break; case'7':output_file(); break; case'8':input_file(); break; case'9':drop_out(); break; default:cout << "请输入正确的序号!!" << endl; break; } } void System::get_power(){ char temp; system("cls"); while (1){ cout << "请选择您的权限:" << endl; cout << "1:管理员权限。" << endl; cout << "2:普通权限。" << endl; cout << "请输入序号:" << " "; temp = _getch(); switch (temp){ case'1':return get_password(); break; case'2':return list(); break; default:{ system("cls"); cout << "请选择正确的序号!" << endl; Sleep(500); system("cls"); } } } } void System::get_password(){ system("cls"); string temp; char number; cout << "请输入管理员密码:" << endl; cin >> temp; if (temp != password){ system("cls"); cout << "密码错误!" << endl; cout << "1:重新输入密码。" << endl; cout << "2:返回。" << endl; number = _getch(); switch (number) { case'1':get_password(); break; case'2':get_power(); break; } } else { power ='1'; return list(); } } void System::input_information(){ system("cls"); if (power == '1'){ car x; char temp; cout << "请依次输入汽车信息:1.类别(面包车,轿车,越野车) 2.ID 3.名字 " << endl; cout << " 4.上市时间 5.购买价格 6.出售价格" << endl; cout << " 7.颜色 8.厂商 9.发动机 " << endl; cout << " 10.车身结构(如4门5座3车厢) " << endl; cin >> x.type >> x.ID >> x.name >> x.date >> x.get_price >> x.sale_price; cin >> x.color >> x.factory >> x.engine >> x.structure; for (vector::iterator iter = iver.begin(); iter != iver.end(); ++iter){ if (x.ID == iter->ID){ cout << "ID重复!!!!信息存储失败!!! 1(重新输入) 2(返回菜单)"; temp = _getch(); if (temp == '1')input_information(); else if (temp == '2')list(); else{ cout << "请输入正确序号!!!!" << endl; Sleep(500); system("cls"); list(); } } } iver.push_back(x); ++s; return list(); } else { system("cls"); cout << "无此功能权限,系统将在一秒后返回菜单页面" << endl; Sleep(1000); system("cls"); return list(); } } void System::look_information(){ if (iver.size() == 0){ system("cls"); cout << "目前无任何信息!!!系统将在1秒后返回。。。" << endl; Sleep(1000); return list(); } else{ system("cls"); for (vector::iterator iter = iver.begin(); iter != iver.end(); ++iter){ cout << setw(9) << "类别:" << setw(15) << iter->type << setw(15) << "ID:" << setw(15) << iter->ID << endl; cout << setw(9) << "名字:" << setw(15) << iter->name << setw(15) << "厂商:" << setw(15) << iter->factory << endl; cout << setw(4) << "上市时间:" << setw(15) << iter->date << setw(15) << "购买价格:" << setw(15) << iter->get_price << setw(10) << endl; cout << setw(4) << "车身结构:" << setw(15) << iter->structure << setw(15)<<"出售价格:" << setw(15) << iter->sale_price << endl; cout << setw(9) << "发动机:" << setw(15) << iter->engine << setw(15) << "颜色:" << setw(15) << iter->color << endl; cout << endl; cout << endl; } cout << "按任意键返回" << endl; _getch(); return list(); } } void System::refer(){ system("cls"); sort(); char temp2; string temp1, temp3; int number = 0; system("cls"); cout << "1:按汽车名字查询" << endl; cout << "2:按汽车类别查询" << endl; cout << "3:退 出 " << endl; temp2 = _getch(); if (temp2 == '3'){ return list(); } else if (temp2 == '1'){ system("cls"); cout << " 请输入需要查询的汽车名字" << endl; cin >> temp1; for (vector::iterator iter = iver.begin(); iter != iver.end(); ++iter){ if (iter->name == temp1){ system("cls"); cout << "类别:" << iter->type << " ID:" << iter->ID << " 名字" << iter->name << endl; cout << "上市时间:" << iter->date << " 购买价格:" << iter->get_price << " 出售价格:" << iter->sale_price << endl; cout << "颜色:" << iter->color << " 厂商:" << iter->factory << " 发动机" << iter->engine << endl; cout << "车身结构:" << iter->structure << endl; cout << endl; cout << endl; ++number; } } } else if (temp2 == '2'){ system("cls"); cout << " 请输入需要查询的汽车类别" << endl; cin >> temp3; for (vector::iterator iter = iver.begin(); iter != iver.end(); ++iter){ if (iter->type == temp3){ system("cls"); cout << "类别:" << iter->type << " ID:" << iter->ID << " 名字" << iter->name << endl; cout << "上市时间:" << iter->date << " 购买价格:" << iter->get_price << " 出售价格:" << iter->sale_price << endl; cout << "颜色:" << iter->color << " 厂商:" << iter->factory << " 发动机" << iter->engine << endl; cout << "车身结构:" << iter->structure << endl; cout << endl; cout << endl; ++number; } } } else { cout << "请输入正确的序号!!!!" << endl; Sleep(500); refer(); } if (number == 0){ cout << "无符合要求的汽车!!!!" << endl; } cout << "按任意键返回" << endl; _getch(); return list(); } void System::sort(){ char temp, temp1; cout << "1:按名称排序" << endl; cout << "2:按ID排序" << endl; temp = _getch(); if (temp = '1'){ car x; for (vector::size_type i = 0; i < iver.size(); ++i){ for (vector::size_type j = i + 1; j < iver.size(); ++j){ if (iver[i].name == iver[j].name){ x = iver[i]; iver[i] = iver[j]; iver[j] = x; break; } } } if (temp = '2'){ system("cls"); cout << "1:按ID从小到大排列" << endl; cout << "2:按ID从大到小排列" << endl; temp1 = _getch(); car x; for (vector::size_type i = 0; i < iver.size(); ++i){ for (vector::size_type j = i; j < iver.size(); ++j){ if (temp == '1'){ if (iver[i].ID>iver[j].ID){ x = iver[i]; iver[i] = iver[j]; iver[j] = x; } } if (temp == '2'){ if (iver[i].ID::iterator iter; cout << "请输入修改的汽车ID:" << endl; cin >> id; for (iter = iver.begin(); iter != iver.end(); ++iter){ if (id == iter->ID){ ++number; break; } } if (number == 0){ cout << "无此ID!!!"; Sleep(1000); system("cls"); return list(); } else { char m; cout << "请选择需要修改的数据:" << endl; cout << "1:类别 2:名字 3:上市时间 4:购买价格 5:出售价格" << endl; cout << "6:颜色 7:厂商 8:发动机 9:车身结构 10:ID" << endl; m = _getch(); cout << "请输入需要修改的数据。" << endl; switch (m) { case'1':cin >> iter->type; break; case'2':cin >> iter->name; break; case'3':cin >> iter->date; break; case'4':cin >> iter->get_price; break; case'5':cin >> iter->sale_price; break; case'6':cin >> iter->color; break; case'7':cin >> iter->factory; break; case'8':cin >> iter->engine; break; case'9':cin >> iter->structure; break; case'10':cin >> iter->ID; break; default:cout << "请输入正确序号!!!即将返回菜单页面...."; break; } Sleep(1000); system("cls"); return list(); } } else { system("cls"); cout << "无此功能权限,系统将在一秒后返回菜单页面" << endl; Sleep(1000); system("cls"); return list(); } } void System::remove(){ system("cls"); if (power == '1'){ string id; int number = 0;; cout << "请输入所要删除的汽车信息的ID号" << endl; cin >> id; vector::iterator iter; for (iter = iver.begin(); iter != iver.end(); ++iter){ if (id == iter->ID){ ++number; iver.erase(iter); break; } } if (number == 0){ cout << "无此ID,即将返回菜单页面!!"; return list(); } } else { system("cls"); cout << "无此功能权限,系统将在一秒后返回菜单页面" << endl; Sleep(1000); return list(); } } void System::drop_out(){ drop = 0; } int System::get_drop(){ return drop; } void System::input_file(){ if (power == '1'){ ifstream infile("t.dat", ios::binary); infile.read((char*)&s, sizeof(s)); int b = 100; car a[100]; for (vector::size_type ix = 0; ix != s; ++ix){ infile.read((char*)&a[ix], sizeof(a[ix])); iver.push_back(a[ix]); } infile.close(); cout << "读取成功!!" << endl; Sleep(500); return list(); } else { system("cls"); cout << "无此功能权限,系统将在一秒后返回菜单页面" << endl; Sleep(1000); return list(); } } void System::output_file(){ if (power == '1'){ ofstream outfile("t.dat", ios::binary); outfile.write((char*)&s, sizeof(s)); for (vector::size_type ix = 0; ix != iver.size(); ++ix){ outfile.write((char*)&iver[ix], sizeof(iver[ix])); } outfile.close(); cout << "保存成功!!!" << endl; Sleep(500); return list(); } else { system("cls"); cout << "无此功能权限,系统将在一秒后返回菜单页面" << endl; Sleep(1000); return list(); } }