c语言实习报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C++课程设计实验报告
班级:
学号:
姓名:
实验题目:公司职员信息管理系统
数据结构:int(定义整型变量),char(定义字符或字符串),结构体数组,调用函数,字符串拷贝,define(定义常量)等。
源代码:
#include
#include
#define N 25
void menu() /*显示主菜单,被调函数*/
{
printf("\t\t-------------------------------------------\n");
printf("\t\t \n");
printf("\t\t 欢迎来到公司员工信息管理系统! \n");
printf("\t\t \n");
printf("\t\t-----------------------------------------\n\n");
printf("1\t增加员工信息\n");
printf("2\t查找员工信息\n");
printf("3\t浏览员工信息\n");
printf("4\t删除员工信息\n");
printf("0\t退出\n");
printf("请选择你要进行的操作!(0~4):\n");
}
struct workers /*定义结构体数组*/
{
int num;
char name[30];
int age;
char sex[3];
char part[30];
char position[20];
int wage;
}wor[N];
void output(struct workers s[]) /*被调函数,完成信息的显示*/
{
int i;
printf("当前员工信息如下:\n\n");
printf("\n工号\t姓名\t年龄\t性别\t部门\t职务\t薪水\n");
for(i=0;i printf("%d\t%s\t%d\t%s\t%s\t%s\t%d\n",s[i].num,s[i].name,s[i].age,s[i].sex,s[i].part,s[i].posit ion, s[i].wage); } void input(struct workers s[]) /*被调函数,完成员工信息的输入*/ { int i; char j; for(i=0;i { printf("请输入员工信息!\n"); printf("请输入工号(0~24):"); scanf("%d",&s[i].num); fflush(stdin); printf("请输入姓名:"); gets(s[i].name); printf("请输入年龄:"); scanf("%d",&s[i].age); fflush(stdin); printf("请输入性别(m/f):"); scanf("%s",&s[i].sex); fflush(stdin); printf("请输入工作部门:"); gets(s[i].part); printf("请输入职务:"); gets(s[i].position); printf("请输入薪水:"); scanf("%d",&s[i].wage); printf("该员工所有信息录入完成,是否继续添加?(y/n):"); fflush(stdin); scanf("%c",&j); if(j=='n')break; } output(wor); /*调用显示*/ } void search(struct workers s[]) /*被调函数,完成查找*/ { int i,j; char p; printf("\n请输入要查找的员工工号:"); scanf("%d",&j); for(i=0;i if(s[i].num==j) { printf("\n工号\t姓名\t年龄\t性别\t部门\t职务\t薪水\n"); printf("%d\t%s\t%d\t%s\t%s\t%s\t%d\n",s[i].num,s[i].name,s[i].age,s[i].sex,s[i].part,s[i].posit ion, s[i].wage); break; } printf("\n查找成功!"); fflush(stdin); /*刷新缓冲区*/ printf("\n是否继续查找?(y/n):"); scanf("%c",&p); if(p=='n') output(wor); } void del(struct workers s[]) /*被调函数,完成删除功能*/ { int i,j; char h,k; char t[]="\0"; for(;;) { printf("\n请输入要删除的员工工号:"); scanf("%d",&j); for(i=0;i if(s[i].num==j) {printf("\n工号\t姓名\t年龄\t性别\t部门\t职务\t薪水\n"); printf("%d\t%s\t%d\t%s\t%s\t%s\t%d\n",s[i].num,s[i].name,s[i].age,s[i].sex,s[i].part,s[i].posit ion, s[i].wage); printf("\n确定删除?(y/n):"); scanf("%s",&k); if(k=='y') { s[i].num=0; strcpy(s[i].name,t); /*字符串拷贝*/ s[i].age=0; strcpy(s[i].sex,t); strcpy(s[i].part,t); strcpy(s[i].position,t); s[i].wage=0; break; } } if(i==N) printf("\n未找到该员工信息,请确认工号是否正确!"); else printf("\n删除成功!"); fflush(stdin);