c语言实习报告

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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);

相关文档
最新文档