1、1、设计目的通过实验实现对学生信息系统的管理操作;进一步掌握和利用C+进行程设计的能力;进一步理解和运用结构化程序设计的思想和方法;初步掌握开发一个小型实用系统的基本方法;学会利用流程图或N-S图表示算法;掌握书写程设计开发文档的能力(书写课程设计报告);2、总体设计3、详细设计:3.1、程序具体功能和分工情况:程序具体功能:、输入和输出(输入一个员工的信息将它插入数组中,输出录入员工的信息);、排序(按工资从大到小排序);、查询(按学历、职工号或姓名查询);、删除(输入职工号将其删除)、修改(输入职工号修改其信息)、保存(将职工信息以文件形式保存)程序分工情况: 孙 磊:输入,输出,查询 霍
2、英达:排序,删除,修改,保存3.2、调试分析上机调试之前我们对所编的程序作了纸面上的检查,先改正一些不该犯错误,如 没有搭配完整,漏写 ,拼写错误等,这些都是我们通过认真的态度在运行之前可以解决、避免的.而且还可以减少机器时间.往往一连串的错误是由于漏写或写错一个字符引起的.在上机调试过程中,对文件这一节的知识还不够熟悉,所以在解决输入输出流的过程中出了很多问题.4、源程序和运行结果4.1、源程序#include#includestringfstream#include stdio.h#define N 100 /N作为最大职工总数int f=0; /f作为开关using namespace
3、std;string p; /p作为接收菜单选项的字符串void menu(); /显示菜单class workerpublic: worker() void show(); /职工信息显示 worker() friend class WorkerList;private: string num,name,sex,edu,address,tel; int age,salary;class WorkerList worker wN; int NUM; /用来计算职工数目 int count; /用来暂时记录当前操作第几个职工 void add(); /职工信息录入 void sort(); /职
4、工信息排序 void search(); /职工信息查找 void dele(); /职工信息删除 void modify(); /职工信息修改 void save(); /职工信息以文件形式保存 void showworker();/显示职工信息在屏幕上 WorkerList() NUM=0; count=0; void menu() /显示菜单 couti1; while(!(i1=0&i1=7) cout switch(i1) case 1:wl.add();break; case 2:wl.modify(); case 3:wl.dele(); case 4:wl.sort(); ca
5、se 5:wl.search(); case 6:wl.showworker(); case 7:wl.save(); case 0:cout系统退出! exit(0); default: break;是否返回主菜单? Y/Np; if(p=n|p=N) cout exit(0);void WorkerList:add() /职工信息添加函数实现请输入职工信息:工号:; string num;num; for(int i=0;iwNUM.name;性别:wNUM.sex;学历:wNUM.edu;年龄:wNUM.age;工资:wNUM.salary;地址:wNUM.address;电话:wNUM
6、.tel; +NUM; count=NUM;void worker:show() /职工信息显示函数实现numnamesexeduagesalaryaddresstelmodify() /职工信息修改函数实现 if(NUM=0)没有职工信息存入,系统将返回主菜单 menu();请输入需要修改信息职工的工号: string num1;num1; int j=0,k; int flag=1; while(flag) for(;j你选择的职工的信息为: 工号:wk.num 姓名:wk.name 性别:wk.sex 学历:wk.edu 年龄:wk.age 工资:wk.salary 地址:wk.addr
7、ess 电话:wk.tel* 1.修改工号 * 2.修改姓名 * 3.修改性别 * 4.修改学历 * 5.修改年龄 * 6.修改工资 * 7.修改地址 * 8.修改电话 * 0.返回主菜单 *请选择数字编号08 int i3;i3; while(i38) switch(i3)请输入新的职工工号:wk.num;修改信息已保存,现返回主菜单: menu();请输入新的职工姓名:wk.name;请输入新的职工性别:wk.sex;请输入新的职工学历:wk.edu;请输入新的职工年龄:wk.age; case 6:请输入新的职工工资:wk.salary; break;请输入新的职工地址:wk.addre
8、ss; case 8:请输入新的职工电话:wk.tel;showworker() /职工信息显示函数实现 else已保存的职工信息如下:wi.numwi.namewi.sexwi.eduwi.agewi.salarywi.addresswi.telsearch() /职工信息查询函数实现* 请选择查找方式: * 1.按工号查找 * 2.按姓名查找 * 3.按学历查找 *请选择数字编号03 int i4;i4; while(i43) if(i4=1) string num2;请输入要查询的职工的工号:num2; int j=0,k; int flag=1; while(flag) for(; i
9、f(num2=wj.num) flag=0; k=j; cout查询的职工信息如下: break; if(flag) flag=0; cout不存在此职工!n返回主菜单 break; else if(i4=2) string name2;请输入要查询的职工的姓名:name2; int j2=0,k2; int flag2=1; while(flag2)j2j2+) if(name2=wj2.name) flag2=0; k2=j2;wk2.numwk2.namewk2.sexwk2.eduwk2.agewk2.salarywk2.addresswk2.tel if(flag2) flag2=0
10、; else if(i4=3) string edu2;请输入要查询的职工的学历:edu2; int j4=0,k4; int flag4=1; while(flag4)j4j4+) if(edu2=wj4.edu) flag4=0; k4=j4;wk4.numwk4.namewk4.sexwk4.eduwk4.agewk4.salarywk4.addresswk4.tel if(flag4) flag4=0; else if(i4=0)sort() /职工信息排序功能实现 * 请选择排序方式:* 1.按工资排序(升序) * 2.按工资排序(降序) *请选择数字编号02 int i5;i5; while(i52) if(i5=1) for(int i=0;count-1; for(int j=0;count-i-1; if(wj.salarywj+1.salary) worker temp; temp=w
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1