C语言职工信息管理系统课程设计(2)

2019-06-17 19:13

char function[32]; int wage; };

int read_file(struct employee st[]); void menu();

void write_file(struct employee st[]); void add();

void select(); //查看职工所有信息 void name_query(); //按姓名查询 void num_del(); //按工号删除 void tongji(); //统计 void sort(); //排序

void num_modify(); //按工号修改职工信息 void save(); //保存信息 void fh(); //返回主菜单

struct employee st[300]; //这个数组用来保存所有的职工信息 和文件里面的一致 int Number=0; //记录总的职工人数 也就是数组/文件里面的职工人数

void main() {

int choose=0; FILE *fp=NULL; char yesorno;

if((fp=fopen(\ {

printf(\提示:文件不存在,是否要创建一个?(y/n)\\n\ scanf(\ if(yesorno=='y'||yesorno=='Y') { //这里仅为了建立文件 fp=fopen(\

fclose(fp); //关闭fp所指的文件,释放文件缓冲区 } else exit(0); } else { Number=read_file(st); //要是文件已经有数据 将数据初始化到数组中 }

system(\ while(true) { menu();

printf(\请选择:\scanf(\system(\switch(choose) {

case 0:

exit(0); //退出

break; case 1: add();

fh();//增加职工信息

break; case 2: select();

fh();//查看职工信息

break; case 3:

name_query(); fh();// 查找 break;

case 4: num_del(); fh();//删除 break;

case 5: tongji(); fh();//统计 break; case 6: sort(); fh();//排序 break;

case 7:

num_modify(); fh();//修改后返回 break;

case 8: save(); fh();//保存

break; default:

break;

}

fflush(stdin); getchar(); system(\} }

void save() {

printf(\程序在运行时已自动保存.....\\n\}

void fh() {

printf(\按Enter键返回主菜单\\n\}

void num_modify() //修改职工信息 {

FILE *fp=NULL; char xh[60]; int i=0;

int changeIndex=0; //changeIndex 改变标记 int index=0;

printf(\请输入要修改的职工编号:\scanf(\

for (i=0;i

if (strcmp(xh,st[i].num)==0) //比较输入工号和数组中已有工号 {

changeIndex=i; //保存要修改的人的下标

break; }

}

printf(\工号\\t姓名\\t性别\\t部门\\t职能\\t工资\\n\

printf(\x].sex,st[changeIndex].department,st[changeIndex].function,st[changeIndex].wage); printf(\请重新输入该职工信息\printf(\工号:\

scanf(\printf(\姓名:\

scanf(\printf(\性别:\

scanf(\

printf(\部门:\

scanf(\printf(\职能:\

scanf(\printf(\工资:\

scanf(\

//信息修改后重新更新文件里面的数据 以保持数据一致性 fp=fopen(\for (i=0;i

fwrite(&st[i],sizeof(struct student),1,fp); 入到fp所指向的文件中 }

fclose(fp);

printf(\修改成功\\n\}

void sort()//排序 {

struct student t;

int wantNUmber=0; int i=0; int j=0; int k=0;

for(i=0;i

for(j=i+1;j

{

if(st[j].wage>st[k].wage) k=j;

} if(k!=i) {

t=st[i]; st[i]=st[k]; st[k]=t; } }

printf(\你想输出前几名的成绩:\scanf(\if (wantNUmber>Number)

//把ptr所指向n*size个字节输

{

wantNUmber=Number;

}

printf(\工号\\t姓名\\t性别\\t部门\\t职能\\t工资\\n\for(i=0;i

{

printf(\ge); } }

void tongji()//统计 {

int i,m,k,max,min; double sum=0.0;

for(i=0;i

sum+=st[i].wage; }

printf(\总工资为:%f\\n\

printf(\平均工资为:%f\\n\i=0;m=0;max=0; max=st[m].wage;

for(i=1;i

if (st[i].wage>max) m=i;

max=st[m].wage; }

printf(\最高工资为:%d\\n\

printf(\st[m].wage); i=0;k=0;min=0; min=st[0].wage;

for(i=1;i

{

if (st[i].wage

min=st[k].wage; }

printf(\最底工资分:%d\\n\

printf(\.wage); }


C语言职工信息管理系统课程设计(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:超霸气的20页军事理论题库

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: