阅读与尝试修改已有的程序代码

阅读与尝试修改已有的程序代码 2021.3

在学习期间,通过阅读同学完成的的代码,复习了c++相关知识,对此代码这一基础的公司员工信息管理系统程序进行了小部分优化,主要通过阅读代码分析理解了此代码各功能模块是如何实现的。

分析代码

首先我对代码进行阅读分析。这一程序需要实现对公司员工信息的管理,用户通过输入数字选择需要执行的操作:1.增加员工信息;2.删除员工信息;3.修改员工信息;4.按工号查询员工信息;5.按科室查询员工信息;6.显示所有员工平均工资;7.显示所有员工信息;0.退出公司员工管理系统。

我认为其中既然可以实现查询功能,可以对代码稍作修改,添加按姓名、工资查询员工信息等功能,完善查询功能。以及需要增加员工信息保存的功能,在还未学习数据库实现方式的情况下,我想到先简单地使用txt文本文件保存员工信息来完善程序。

主要代码可以分为以下几块:

1.关于类的定义:确定了具体的员工信息包含的内容以及需要实现的功能函数

 

2.关于功能的实现:

1)添加员工信息:通过获取键盘用户按顺序输入信息来完成

2)删除员工信息:输入工号找到对应数据后通过后项前移删除

3)修改员工信息:输入工号找到对应数据后输入序号选择修改内容来修改

 

 

4)查找员工信息:通过工号查找单个员工信息并显示,通过科室查找多个员工信息并显示

 

 5)显示员工信息:

6)计算平均工资:题目要求

3.欢迎界面

改进代码

关于查询方面的增加:

void Employee::SearchMemberByName()

{

       cout << "请输入要查找的员工姓名:\n";

       string sname;

       int p = 0;

       cin >> sname;

       for (int i = 0; i < num; i++)

       {

              if (M[i].name == sname)

              {

                     p = 1;

                     cout << "所找信息如下:\n";

                     Employee::Display(i);//显示查找姓名符合的员工信息

              }

       }

       if (p == 0)

       {

              cout << endl << setw(5) << " ";

              cout << "该员工不存在!" << endl;

              cout << endl;

       }

       system("pause");

       system("cls");

}

void Employee::SearchMemberBysalary()

{

       cout << "请输入要查找的工资数额:\n";

       string ssalary;

       int p = 0;

       cin >> ssalary;

       for (int i = 0; i < num; i++)

       {

              if (M[i].salary == ssalary)

              {

                     p = 1;

                     cout << "所找信息如下:\n";

                     Employee::Display(i);//可能有多个员工同一工资,显示多个

              }

       }

       if (p == 0)

       {

              cout << endl << setw(5) << " ";

              cout << "不存在工资为此数的员工" << endl;

              cout << endl;

       }

       system("pause");

       system("cls");

}

关于文本文件保存方面(简易初始):

ofstream fout("f1.txt", ios::out);

       if (!fout)

       {

              cout << "文件不存在!" << "\n";

              return 1;

       }

       fout << "100001" << " " << "张三" << " " << "男" << " " << "12345678" << " " << "信息" << 8000 << endl;

       fout << "100002" << " " << "李四" << " " << "男" << " " << "12345678" << " " << "信息" << 5000 <<endl;

       fout.close();

       ifstream fin("f1.txt", ios::in)

       if (!fin)

       {

              cout << "文件无法打开!" << "\n";

              return 1;

       }

       string m_id; string m_n; string s; string ph; string ke;double sa;string m_id1; string m_n1; string s1; string ph1; string ke1;double sa1;

       fin >> m_id >> m_n >> s >> ph >> ke >> sa; fin >> m_id1 >> m_n1 >> s1 >> ph1 >> ke1 >> sa1;

感悟

多多阅读他人编写的代码是必要的,这样可以训练一些逻辑结构,多了解编写代码的不同思路,也需要多结合实际想想可以创新的点子、可以改进的地方,还需要勤加练习。

 

 

2021.3

posted @ 2021-03-09 15:41  HaKuu  阅读(407)  评论(0)    收藏  举报