阅读与尝试修改已有的程序代码
阅读与尝试修改已有的程序代码 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
浙公网安备 33010602011771号