《C++程序设计》实训指导书Word格式文档下载.docx
《《C++程序设计》实训指导书Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《《C++程序设计》实训指导书Word格式文档下载.docx(24页珍藏版)》请在冰点文库上搜索。
![《C++程序设计》实训指导书Word格式文档下载.docx](https://file1.bingdoc.com/fileroot1/2023-5/9/6669a33f-77bf-418e-87fc-416c137d2c01/6669a33f-77bf-418e-87fc-416c137d2c011.gif)
(要求使用指针作为函数参数)
6、编写一个对职工信息进行修改的程序。
7、编写一个对职工信息进行删除的程序。
(要求使用引用作为函数参数)
8、编写一个打印职工信息的程序,来查看每次操作的结果。
9、将编写的新函数与主函数进行连接。
10、进入系统前需要先输入口令。
三、算法提示:
1、数据结构:
结构体类型数组
2、数据库结构:
下表构成该系统的基本数据库。
姓名
年龄
工龄
性别
婚姻状况
级别
工资
是否在职
char
int
四、测试数据:
纪录数20
五、其它:
对该系统有兴趣的同学可以在实现上述基本功能后,完善系统的其它功能。
六、职工信息管理系统源程序:
#include"
iostream.h"
stdlib.h"
string.h"
#defineM100
structstudent
{
charname[20];
//姓名
intage;
//年龄
intnumber;
//学号
charsex;
//性别,x代表男,y代表
intgrade;
//年级
intEnglish;
//英语
intmath;
//数学
intpolitics;
//政治
intChinese;
//语文
};
student*chuangjian(student*ww,intn)//创建函数
inti;
cout<
<
"
开始创建学生信息表!
endl;
顺序输入姓名,年龄,学号,性别,年级,英语,数学,政治,语文"
for(i=0;
i<
n;
i++)
{
cin>
>
ww[i].name;
ww[i].age;
cin>
ww[i].number;
ww[i].sex;
ww[i].grade;
ww[i].English;
ww[i].math;
ww[i].politics;
ww[i].Chinese;
}
returnww;
}
voidchaxun(student*ww,intn)//查询函数
intm;
**************************************************"
**"
*1.按姓名查询2.按学号查询*"
*3.按年级查询4.退出*"
**"
*请输入相应编号:
*"
inti,xuehao,jibie,flag=0;
m;
switch(m)
{
case1:
{
cout<
请输入查询的学生姓名:
;
name;
for(i=0;
if(strcmp(ww[i].name,name)==0)
{
第"
i+1<
个学生信息:
cout<
姓名:
ww[i].name<
年龄:
ww[i].age<
学号:
ww[i].number<
性别:
if(ww[i].sex=='
x'
)
男"
else
女"
年级:
ww[i].grade<
英语:
ww[i].English<
cout<
数学:
ww[i].math<
政治:
ww[i].politics<
语文:
ww[i].Chinese<
flag=1;
}
if(flag==0)
cout<
不存在符合条件的学生信息!
break;
}
case2:
{
cout<
请输入查询的学生学号:
xuehao;
if(ww[i].number==xuehao)
flag=1;
if(flag==0)
}
case3:
请输入查询的年级:
jibie;
if(ww[i].grade==jibie)
break;
case4:
return;
default:
输入有误,请重新进行选择!
}
student*insert(student*ww,int&
n)//添加函数
intm,i;
while
(1)
请输入插入人数:
if(m<
=0)
输入有误,请重新输入!
else
顺序输入姓名,年龄,学号,性别,年级,英语,数学,政治,语文,"
ww[n+i].name;
ww[n+i].age;
ww[n+i].number;
ww[i+n].sex;
ww[i+n].grade;
ww[i+n].English;
ww[i+n].math;
ww[i+n].politics;
ww[i+n].Chinese;
n=n+m;
}
student*Deletename(student*ww,int&
n)
charname[10];
inti,k,flag=0;
charx;
请输入删除的学生姓名:
i=0;
while(i<
if(strcmp(ww[i].name,name)==0)
cout<
是否删除该记录,请确认(y/n)"
cin>
x;
if(x=='
y'
||x=='
Y'
{
for(k=i+1;
k<
k++)
ww[k-1]=ww[k];
n--;
i--;
flag=1;
i++;
if(flag==0)
student*Deletejibie(student*ww,int&
intjibie,i,k,flag=0;
请输入删除年级:
if(ww[i].grade==jibie)
找到符合条件的记录:
i++;
student*Deletegongling(student*ww,int&
inttime,i,k,flag=0;
请输入删除的学生学号:
time;
if(ww[i].number==time)
student*Delete(student*ww,int&
n)//删除函数
*1.按姓名删除2.按学号删除*"
*3.按年级删除4.退出*"
*请输入相应编号*"
ww=Deletename(ww,n);
break;
ww=Deletegongling(ww,n);
ww=Deletejibie(ww,n);
break;
returnww;
returnww;
intpassword()//口令函数
charp[20];
intn=0;
请输入登录口令:
p;
if(strcmp(p,"
abcd"
)==0)
输入口令正确!
return1;
输入口令错误,请重新输入!
n++;
if(n==3)
已输入三次,您无权进行操作!
exit
(1);
voidprint(student*ww,intn)//输出函数
if(n==0)
学生信息表为空!
开始输出学生信息表:
if(ww[i].sex=='
else
voidupdatename(student*ww,intn)//按姓名修改函数
charch;
inti,flag=0;
请输入锁定学生姓名:
是否进行修改,确认(y/n)"
cin>
ch;
if(ch=='
||ch=='
{
请输入修改值:
顺序输入姓名,年龄,学号,性别,年级,英语,数学,政治,语文,总分和四门课均分"
cin>
}
voidupdategongling(student*ww,intn)//按学号修改函数
inti,xuehao,flag=0;
请输入锁定学生学号:
if(ww[i].number==xuehao)
ww[i].ma