[C++] 汽车管理系统 →→→→→进入此内容的聊天室

来自 , 2020-06-01, 写在 C++, 查看 123 次.
URL http://www.code666.cn/view/2d00f43f
  1. #include<conio.h>
  2. #include<Windows.h>
  3. #include<fstream>
  4. #include<iomanip>
  5. #include<iostream>
  6. using namespace std;
  7. vector<car> iver;
  8. void System::ini_interface(){
  9.         for (int i = 0; i < 10;i++){
  10.                 cout << "            *************************************          " << endl; cout << endl;
  11.                 cout << "                 欢        迎      光        临            " << endl; cout << endl;
  12.                 cout << "              大    众  4 S 店 天 津 分 店                 " << endl;
  13.                 cout << "                                                           " << endl;
  14.                 cout << "             请 按 任 意 键 进 入 店 铺 !!!!!         " << endl; cout << endl;
  15.                 cout << "              您 将 在" << 10 - i << "秒 后 自 动 进 入 店 铺     " << endl; cout << endl;
  16.                 cout << "            *************************************          " << endl;
  17.                 Sleep(1000);
  18.                 char keydown = 0;
  19.                 if (_kbhit()){
  20.                         _getch(); keydown = 1;
  21.                 }
  22.                 if (keydown){ i = 50; }
  23.                 system("cls");
  24.         }
  25. }
  26. void System::list(){
  27.         system("cls");
  28.         char temp;
  29.         if (power == '1'){
  30.                 cout << "                当前权限为:管理员权限    可使用所有功能。" << endl;
  31.         }
  32.         else
  33.         {
  34.                 cout << "               当前权限为:普通权限     只能使用功能1,3,5,9." << endl;
  35.         }
  36.         cout << endl; cout << endl;
  37.         cout << "              #************************************************************#" << endl;
  38.         cout << "              #*                                                          *#" << endl;
  39.         cout << "              #*  1:更改权限         2:信息录入           3:信息浏览      *#" << endl;
  40.         cout << "              #*                                                          *#" << endl;
  41.         cout << "              #*  4:信息修改         5:信息查询           6:信息删除      *#" << endl;
  42.         cout << "              #*                                                          *#" << endl;
  43.         cout << "              #*  7:保存信息         8:读取信息           9:退出程序      *#" << endl;
  44.         cout << "              #*                                                          *#" << endl;
  45.         cout << "              #************************************************************#" << endl;
  46.         temp = _getch();
  47.         switch (temp)
  48.         {
  49.         case'1':get_power(); break;
  50.         case'2':input_information(); break;
  51.         case'3':look_information(); break;
  52.         case'4':alter(); break;
  53.         case'5':refer(); break;
  54.         case'6':remove(); break;
  55.         case'7':output_file(); break;
  56.         case'8':input_file(); break;
  57.         case'9':drop_out(); break;
  58.         default:cout << "请输入正确的序号!!" << endl; break;
  59.         }
  60. }
  61. void System::get_power(){
  62.         char temp;
  63.         system("cls");
  64.         while (1){
  65.                 cout << "请选择您的权限:" << endl;
  66.                 cout << "1:管理员权限。" << endl;
  67.                 cout << "2:普通权限。" << endl;
  68.                 cout << "请输入序号:" << "   ";
  69.                 temp = _getch();
  70.                 switch (temp){
  71.                 case'1':return get_password(); break;
  72.                 case'2':return list(); break;
  73.                 default:{
  74.                         system("cls");
  75.                         cout << "请选择正确的序号!" << endl;
  76.                         Sleep(500);
  77.                         system("cls");
  78.                    }
  79.                 }
  80.         }
  81. }
  82. void System::get_password(){
  83.         system("cls");
  84.         string temp;
  85.         char number;
  86.                 cout << "请输入管理员密码:" << endl;
  87.                 cin >> temp;
  88.         if (temp != password){
  89.                         system("cls");
  90.                         cout << "密码错误!" << endl;
  91.                         cout << "1:重新输入密码。" << endl;
  92.                         cout << "2:返回。" << endl;
  93.                         number = _getch();
  94.                         switch (number)
  95.                         {
  96.                         case'1':get_password(); break;
  97.                         case'2':get_power(); break;
  98.                         }
  99.                 }
  100.         else
  101.         {
  102.                 power ='1';
  103.                 return list();
  104.         }
  105. }
  106. void System::input_information(){
  107.         system("cls");
  108.         if (power == '1'){
  109.                 car x;
  110.                 char temp;
  111.                 cout << "请依次输入汽车信息:1.类别(面包车,轿车,越野车)     2.ID            3.名字   " << endl;
  112.                 cout << "                   4.上市时间                        5.购买价格      6.出售价格" << endl;
  113.                 cout << "                   7.颜色                            8.厂商          9.发动机    " << endl;
  114.                 cout << "                   10.车身结构(如4门5座3车厢)  " << endl;
  115.                 cin >> x.type >> x.ID >> x.name >> x.date >> x.get_price >> x.sale_price;
  116.                 cin >> x.color >> x.factory >> x.engine >> x.structure;
  117.                 for (vector<car>::iterator iter = iver.begin(); iter != iver.end(); ++iter){
  118.                         if (x.ID == iter->ID){
  119.                                 cout << "ID重复!!!!信息存储失败!!!   1(重新输入)  2(返回菜单)";
  120.                                 temp = _getch();
  121.                                 if (temp == '1')input_information();
  122.                                 else if (temp == '2')list();
  123.                                 else{
  124.                                         cout << "请输入正确序号!!!!" << endl; Sleep(500);
  125.                                         system("cls");
  126.                                         list();
  127.                                 }
  128.                         }
  129.                 }
  130.                 iver.push_back(x);
  131.                 ++s;
  132.                 return list();
  133.         }
  134.         else
  135.         {
  136.                 system("cls");
  137.                 cout << "无此功能权限,系统将在一秒后返回菜单页面" << endl;
  138.                 Sleep(1000);
  139.                 system("cls");
  140.                 return list();
  141.         }
  142. }
  143. void System::look_information(){
  144.         if (iver.size() == 0){
  145.                 system("cls");
  146.                 cout << "目前无任何信息!!!系统将在1秒后返回。。。" << endl;
  147.                 Sleep(1000);
  148.                 return list();
  149.         }
  150.         else{
  151.                 system("cls");
  152.                 for (vector<car>::iterator iter = iver.begin(); iter != iver.end(); ++iter){
  153.                        
  154.                         cout << setw(9) << "类别:" << setw(15) << iter->type << setw(15) << "ID:" << setw(15) << iter->ID << endl;
  155.                         cout << setw(9) << "名字:" << setw(15) << iter->name << setw(15) << "厂商:" << setw(15) << iter->factory << endl;
  156.                         cout << setw(4) << "上市时间:" << setw(15) << iter->date << setw(15) << "购买价格:" << setw(15) << iter->get_price << setw(10) << endl;
  157.                         cout << setw(4) << "车身结构:" << setw(15) << iter->structure << setw(15)<<"出售价格:" << setw(15) << iter->sale_price << endl;
  158.                         cout << setw(9) << "发动机:" << setw(15) << iter->engine << setw(15) << "颜色:" << setw(15) << iter->color << endl;
  159.                         cout << endl; cout << endl;
  160.                 }
  161.                 cout << "按任意键返回" << endl;
  162.                 _getch();
  163.                 return list();
  164.         }
  165. }
  166. void System::refer(){
  167.         system("cls");
  168.         sort();
  169.         char temp2;
  170.         string temp1, temp3;
  171.         int number = 0;
  172.         system("cls");
  173.         cout << "1:按汽车名字查询" << endl;
  174.         cout << "2:按汽车类别查询" << endl;
  175.         cout << "3:退       出   " << endl;
  176.         temp2 = _getch();
  177.         if (temp2 == '3'){ return list(); }
  178.         else if (temp2 == '1'){
  179.                 system("cls");
  180.                 cout << "                      请输入需要查询的汽车名字" << endl;
  181.                 cin >> temp1;
  182.                 for (vector<car>::iterator iter = iver.begin(); iter != iver.end(); ++iter){
  183.                         if (iter->name == temp1){
  184.                                 system("cls");
  185.                                 cout << "类别:" << iter->type << "         ID:" << iter->ID << "         名字" << iter->name << endl;
  186.                                 cout << "上市时间:" << iter->date << "       购买价格:" << iter->get_price << "        出售价格:" << iter->sale_price << endl;
  187.                                 cout << "颜色:" << iter->color << "       厂商:" << iter->factory << "        发动机" << iter->engine << endl;
  188.                                 cout << "车身结构:" << iter->structure << endl;
  189.                                 cout << endl; cout << endl;
  190.                                 ++number;
  191.                         }
  192.                 }
  193.         }
  194.         else if (temp2 == '2'){
  195.                 system("cls");
  196.                 cout << "                       请输入需要查询的汽车类别" << endl;
  197.                 cin >> temp3;
  198.                 for (vector<car>::iterator iter = iver.begin(); iter != iver.end(); ++iter){
  199.                         if (iter->type == temp3){
  200.                                 system("cls");
  201.                                 cout << "类别:" << iter->type << "         ID:" << iter->ID << "         名字" << iter->name << endl;
  202.                                 cout << "上市时间:" << iter->date << "       购买价格:" << iter->get_price << "        出售价格:" << iter->sale_price << endl;
  203.                                 cout << "颜色:" << iter->color << "       厂商:" << iter->factory << "        发动机" << iter->engine << endl;
  204.                                 cout << "车身结构:" << iter->structure << endl;
  205.                                 cout << endl; cout << endl;
  206.                                 ++number;
  207.                         }
  208.                 }
  209.         }
  210.         else {
  211.                 cout << "请输入正确的序号!!!!" << endl;
  212.                 Sleep(500);
  213.                 refer();
  214.         }
  215.         if (number == 0){ cout << "无符合要求的汽车!!!!" << endl; }
  216.         cout << "按任意键返回" << endl;
  217.         _getch();
  218.         return list();
  219. }
  220. void System::sort(){
  221.         char temp, temp1;
  222.         cout << "1:按名称排序" << endl;
  223.         cout << "2:按ID排序" << endl;
  224.         temp = _getch();
  225.         if (temp = '1'){
  226.                 car x;
  227.                 for (vector<car>::size_type i = 0; i < iver.size(); ++i){
  228.                         for (vector<car>::size_type j = i + 1; j < iver.size(); ++j){
  229.                                 if (iver[i].name == iver[j].name){ x = iver[i]; iver[i] = iver[j]; iver[j] = x; break; }
  230.                         }
  231.                 }
  232.                 if (temp = '2'){
  233.                         system("cls");
  234.                         cout << "1:按ID从小到大排列" << endl;
  235.                         cout << "2:按ID从大到小排列" << endl;
  236.                         temp1 = _getch();
  237.                         car x;
  238.                         for (vector<car>::size_type i = 0; i < iver.size(); ++i){
  239.                                 for (vector<car>::size_type j = i; j < iver.size(); ++j){
  240.                                         if (temp == '1'){ if (iver[i].ID>iver[j].ID){ x = iver[i]; iver[i] = iver[j]; iver[j] = x; } }
  241.                                         if (temp == '2'){ if (iver[i].ID<iver[j].ID){ x = iver[i]; iver[i] = iver[j]; iver[j] = x; } }
  242.                                 }
  243.                         }
  244.                 }
  245.         }
  246. }
  247. void System::alter(){
  248.         system("cls");
  249.         if (power == '1'){
  250.                 string id;
  251.                         int number = 0;
  252.                 vector<car>::iterator iter;
  253.                 cout << "请输入修改的汽车ID:" << endl;
  254.                 cin >> id;
  255.                 for (iter = iver.begin(); iter != iver.end(); ++iter){
  256.                         if (id == iter->ID){ ++number; break; }
  257.                 }
  258.                 if (number == 0){
  259.                         cout << "无此ID!!!";
  260.                         Sleep(1000);
  261.                         system("cls");
  262.                         return list();
  263.                 }
  264.                 else
  265.                 {
  266.                         char m;
  267.                         cout << "请选择需要修改的数据:" << endl;
  268.                         cout << "1:类别      2:名字    3:上市时间      4:购买价格      5:出售价格" << endl;
  269.                         cout << "6:颜色      7:厂商    8:发动机        9:车身结构      10:ID" << endl;
  270.                         m = _getch();
  271.                         cout << "请输入需要修改的数据。" << endl;
  272.                         switch (m)
  273.                         {
  274.                         case'1':cin >> iter->type; break;
  275.                         case'2':cin >> iter->name; break;
  276.                         case'3':cin >> iter->date; break;
  277.                         case'4':cin >> iter->get_price; break;
  278.                         case'5':cin >> iter->sale_price; break;
  279.                         case'6':cin >> iter->color; break;
  280.                         case'7':cin >> iter->factory; break;
  281.                         case'8':cin >> iter->engine; break;
  282.                         case'9':cin >> iter->structure; break;
  283.                         case'10':cin >> iter->ID; break;
  284.                         default:cout << "请输入正确序号!!!即将返回菜单页面...."; break;
  285.                         }
  286.                         Sleep(1000);
  287.                         system("cls");
  288.                         return list();
  289.                 }
  290.         }
  291.         else
  292.         {
  293.                 system("cls");
  294.                 cout << "无此功能权限,系统将在一秒后返回菜单页面" << endl;
  295.                 Sleep(1000);
  296.                 system("cls");
  297.                 return list();
  298.         }
  299. }
  300. void System::remove(){
  301.         system("cls");
  302.         if (power == '1'){
  303.                 string id;
  304.                 int number = 0;;
  305.                 cout << "请输入所要删除的汽车信息的ID号" << endl;
  306.                 cin >> id;
  307.                 vector<car>::iterator iter;
  308.                 for (iter = iver.begin(); iter != iver.end(); ++iter){
  309.                         if (id == iter->ID){
  310.                                 ++number;
  311.                                 iver.erase(iter);
  312.                                 break;
  313.                         }
  314.                 }
  315.                 if (number == 0){ cout << "无此ID,即将返回菜单页面!!"; return list(); }
  316.         }
  317.         else
  318.         {
  319.                 system("cls");
  320.                 cout << "无此功能权限,系统将在一秒后返回菜单页面" << endl;
  321.                 Sleep(1000);
  322.                 return list();
  323.         }
  324. }
  325. void System::drop_out(){
  326.         drop = 0;
  327. }
  328. int System::get_drop(){
  329.         return drop;
  330. }
  331. void System::input_file(){
  332.         if (power == '1'){
  333.                 ifstream infile("t.dat", ios::binary);
  334.                 infile.read((char*)&s, sizeof(s));
  335.                 int b = 100;
  336.                 car a[100];
  337.                 for (vector<car>::size_type ix = 0; ix != s; ++ix){
  338.                         infile.read((char*)&a[ix], sizeof(a[ix]));
  339.                         iver.push_back(a[ix]);
  340.                 }
  341.                 infile.close();
  342.                 cout << "读取成功!!" << endl;
  343.                 Sleep(500);
  344.                 return list();
  345.         }
  346.         else
  347.         {
  348.                 system("cls");
  349.                 cout << "无此功能权限,系统将在一秒后返回菜单页面" << endl;
  350.                 Sleep(1000);
  351.                 return list();
  352.         }
  353. }
  354. void System::output_file(){
  355.         if (power == '1'){
  356.                 ofstream outfile("t.dat", ios::binary);
  357.                 outfile.write((char*)&s, sizeof(s));
  358.                 for (vector<car>::size_type ix = 0; ix != iver.size(); ++ix){
  359.                                 outfile.write((char*)&iver[ix], sizeof(iver[ix]));
  360.                         }
  361.                         outfile.close();
  362.                         cout << "保存成功!!!" << endl;
  363.                         Sleep(500);
  364.                         return list();
  365.         }
  366.         else
  367.         {
  368.                 system("cls");
  369.                 cout << "无此功能权限,系统将在一秒后返回菜单页面" << endl;
  370.                 Sleep(1000);
  371.                 return list();
  372.         }
  373. }

回复 "汽车管理系统"

这儿你可以回复上面这条便签

captcha