C语言程序设计课程设计报告.docx

上传人:b****1 文档编号:14766731 上传时间:2023-06-27 格式:DOCX 页数:26 大小:80.38KB
下载 相关 举报
C语言程序设计课程设计报告.docx_第1页
第1页 / 共26页
C语言程序设计课程设计报告.docx_第2页
第2页 / 共26页
C语言程序设计课程设计报告.docx_第3页
第3页 / 共26页
C语言程序设计课程设计报告.docx_第4页
第4页 / 共26页
C语言程序设计课程设计报告.docx_第5页
第5页 / 共26页
C语言程序设计课程设计报告.docx_第6页
第6页 / 共26页
C语言程序设计课程设计报告.docx_第7页
第7页 / 共26页
C语言程序设计课程设计报告.docx_第8页
第8页 / 共26页
C语言程序设计课程设计报告.docx_第9页
第9页 / 共26页
C语言程序设计课程设计报告.docx_第10页
第10页 / 共26页
C语言程序设计课程设计报告.docx_第11页
第11页 / 共26页
C语言程序设计课程设计报告.docx_第12页
第12页 / 共26页
C语言程序设计课程设计报告.docx_第13页
第13页 / 共26页
C语言程序设计课程设计报告.docx_第14页
第14页 / 共26页
C语言程序设计课程设计报告.docx_第15页
第15页 / 共26页
C语言程序设计课程设计报告.docx_第16页
第16页 / 共26页
C语言程序设计课程设计报告.docx_第17页
第17页 / 共26页
C语言程序设计课程设计报告.docx_第18页
第18页 / 共26页
C语言程序设计课程设计报告.docx_第19页
第19页 / 共26页
C语言程序设计课程设计报告.docx_第20页
第20页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C语言程序设计课程设计报告.docx

《C语言程序设计课程设计报告.docx》由会员分享,可在线阅读,更多相关《C语言程序设计课程设计报告.docx(26页珍藏版)》请在冰点文库上搜索。

C语言程序设计课程设计报告.docx

C语言程序设计课程设计报告

 

昆明学院

自动控制与机械工程学院

程序设计语言

课程设计报告

 

题目:

职工信息管理系统_

学生:

赵坤,黄金龙,杨建勋

班级:

2013级电气1班

**************

日期:

2015年1月21日

一设计目的

利用所学的C语言知识及其编程方法:

结构程序设计、数组、指针、结构体、文件操作等内容,通过布置具有一定难度的实际程序设计题目,要求学生独立完成所布置题目。

在分析设计过程中,要求学生养成良好的编程习惯,学会分析解决简单的实际问题,学会C语言的实际调试技巧和方法,要求学生在教师的指导下逐步完成应用程序的设计。

二设计题目

职工信息管理系统设计

职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。

试设计一职工信息管理系统,使之能提供以下功能:

1、系统以菜单方式工作

2、职工信息录入功能;

3、职工信息浏览功能:

浏览方式:

按职工号排序显示;

按年龄排序显示;

按工资排序显示;

4、职工信息查询功能:

查询方式:

按学历查询等

按职工号查询等

5、职工信息删除、修改功能(可选项)

三总体设计

1、数据组成

职工号

姓名

性别

年龄

学历

工资

地址

电话

数据类型

长整型

字符型

字符型

长整型

字符型

长整形

字符型

长整形

举例

1

zz

35

本科

5000

bhggf

02635641

2、程序流程图

 

四程序设计

1.全局结构定量与主函数

#include

#include

#include

#defineN10000

structworker

{

longintnum;

charnam[20];

charsex[20];

longintyer;

charedu[20];

longintmon;

charads[20];

longintpho;

}

x[N]={{1,"kk","男",25,"本科",3000,"还原街",02563216}

{2,"zz","女",22,"硕士",5000,"福山路",02563312}},y[N],s;

intm=2;

/**********************************主函数***********************************/

intmain()

{

voidluru(structworkerx[]),

shuchu(structworkerx[]),

liulan(structworkerx[]),

chaxun(structworkerx[]),

shanchu(structworkerx[]),

xiugai(structworkerx[]);

inta;

printf("********菜单********\n\n");

printf("1.职工信息录入\n\n2.职工信息浏览\n\n3.职工信息查询\n\n4.职工信息删除\n\n5.职工信息修改\n\n6.退出\n");

printf("请按对应数字选择");

for(;;)

{

scanf("%d",&a);

switch(a)

{

case1:

luru(x);break;

case2:

liulan(x);break;

case3:

chaxun(x);break;

case4:

shanchu(x);break;

case5:

xiugai(x);break;

case6:

printf("感谢你的使用!

\n");exit(0);

default:

printf("输入有误!

\n");exit(0);

}

}

return0;

}

2.录入函数

voidluru(structworkerx[])

{

inti;charz='y';

for(i=m;i<=N&&z=='y';i++)

{

printf("\n\t请输入职工号:

");

scanf("%ld",&x[i].num);

printf("\t请输入姓名:

");

scanf("%s",x[i].nam);

printf("\t请输入性别:

");

scanf("%s",x[i].sex);

printf("\t请输入年龄:

");

scanf("%ld",&x[i].yer);

printf("\t输入学历:

");

scanf("%s",x[i].edu);

printf("\t请输入工资:

");

scanf("%ld",&x[i].mon);

printf("\t请输入地址:

");

scanf("%s",x[i].ads);

printf("\t请输入电话:

");

scanf("%ld",&x[i].pho);

m=i+1;

printf("\n要继续输入下一职工信息吗?

y/n");

scanf("%s",&z);

if(z!

='y')

main();

elseluru(x);//调用输出函数

}

}

3.输出函数

voidshuchu(structworkerx[])

{

inti;

printf("\n职工号\t姓名\t性别\t年龄\t学历\t工资\t地址\t电话\n");

for(i=0;i

{

printf("%ld\t%s\t%s\t%ld\t%s\t%ld\t%s\t%ld\n",x[i].num,x[i].nam,x[i].sex,x[i].yer,x[i].edu,x[i].mon,x[i].ads,x[i].pho);

printf("_________________________________________________________________\n");

}

system("pause");

}

4.浏览排序函数

voidliulan(structworkerx[])

{

inti,j,t;

printf("请输入浏览排序方式:

\n");

printf("1.按职工号排序\n\n2.按年龄排序\n\n3.按工资排序\n\n4.返回主菜单\n");

scanf("%d",&t);

switch(t)

{

case1:

/**********************按职工号排序*********************/

for(i=0;i

{

y[i]=x[i];

}

for(j=0;j

{

for(i=j+1;i

{

if(y[j].num>=y[i].num)

{

s=y[j];

y[j]=y[i];

y[i]=s;

}

}

}

printf("以下为按职工号排序:

\n");

printf("_________________________________________________________________\n");

printf("职工号\t姓名\t性别\t年龄\t学历\t工资\t地址\t电话\n");

printf("_________________________________________________________________\n");

for(i=0;i

{

printf("%ld\t%s\t%s\t%ld\t%s\t%ld\t%s\t%ld\n",y[i].num,y[i].nam,y[i].sex,y[i].yer,y[i].edu,y[i].mon,y[i].ads,y[i].pho);

printf("_________________________________________________________________\n");}

system("pause");liulan(x);

case2:

/*********************按年龄排序***********************/

for(i=0;i

{

y[i]=x[i];

}

for(j=0;j

{

for(i=j+1;i

{

if(y[j].yer>=y[i].yer)

{

s=y[j];

y[j]=y[i];

y[i]=s;

}

}

}

printf("以下为按年龄排序:

\n");

printf("_________________________________________________________________\n");

printf("职工号\t姓名\t性别\t年龄\t学历\t工资\t地址\t电话\n");

printf("_________________________________________________________________\n");

for(i=0;i

{

printf("%ld\t%s\t%s\t%ld\t%s\t%ld\t%s\t%ld\n",y[i].num,y[i].nam,y[i].sex,y[i].yer,y[i].edu,y[i].mon,y[i].ads,y[i].pho);

printf("_________________________________________________________________\n");

}

system("pause");liulan(x);

case3:

/************按工资排序*************/

for(i=0;i

{

y[i]=x[i];

}

for(j=0;j

{

for(i=j+1;i

{

if(y[j].mon>=y[i].mon)

{

s=y[j];

y[j]=y[i];

y[i]=s;

}

}

}

printf("以下为按职工资排序:

\n");

printf("_________________________________________________________________\n");

printf("职工号\t姓名\t性别\t年龄\t学历\t工资\t地址\t电话\n");

printf("_________________________________________________________________\n");

for(i=0;i

{

printf("%ld\t%s\t%s\t%ld\t%s\t%ld\t%s\t%ld\n",y[i].num,y[i].nam,y[i].sex,y[i].yer,y[i].edu,y[i].mon,y[i].ads,y[i].pho);

printf("_________________________________________________________________\n");

}

system("pause");liulan(x);

case4:

main(x);

default:

printf("输入有误\n");exit(0);

}

}

5.查询函数

voidchaxun(structworkerx[])

{

longt,i,z,K='y';charedu[20];//k为是否有输入记录的标志,是y时表示无记录

printf("\n\t1.按学历查询\n\n\t2.按职工号查询\n\n\t3.返回主菜单\n");

printf("请按对应数字选择");

scanf("%d",&z);

switch(z)

{

case1:

printf("\t请输入要查找的学历:

\n");

scanf("%s",edu);

for(i=0;i

{

if(strcmp(x[i].edu,edu)==0)

{

K='x';

printf("_________________________________________________________________\n");

printf("职工号\t姓名\t性别\t年龄\t学历\t工资\t地址\t电话\n");

printf("_________________________________________________________________\n");

printf("%ld\t%s\t%s\t%ld\t%s\t%ld\t%s\t%ld\n",x[i].num,x[i].nam,x[i].sex,x[i].yer,x[i].edu,x[i].mon,x[i].ads,x[i].pho);

printf("_________________________________________________________________\n");

system("pause");

chaxun(x);

}

}

if(K='y')

{

printf("\t无此记录!

");

chaxun(x);

system("pause");

}

break;

case2:

printf("\t请输入要查找的职工号:

");

scanf("%ld",&t);

for(i=0;i

{

if(x[i].num==t)

{

K='x';

printf("_________________________________________________________________\n");

printf("职工号\t姓名\t性别\t年龄\t学历\t工资\t地址\t电话\n");

printf("_________________________________________________________________\n");

printf("%ld\t%s\t%s\t%ld\t%s\t%ld\t%s\t%ld\n",x[i].num,x[i].nam,x[i].sex,x[i].yer,x[i].edu,x[i].mon,x[i].ads,x[i].pho);

printf("_________________________________________________________________\n");

system("pause");

chaxun(x);

}

}

if(K='y')

{

printf("\t无此记录!

\n");

chaxun(x);

system("pause");

}

break;

case3:

main(x);break;

default:

printf("\t输入有误!

\n");exit(0);

}

}

6.删除函数

voidshanchu(structworkerx[])

{

longflag=0,t,i,z;charl,nam[20];//flag为是否有输入记录的标志,1为有记录,0为无记录

printf("\n\t1.按职工号删除\n\t2.按姓名删除\n\t3.返回主菜单\n");

printf("请按对应数字选择");

scanf("%d",&z);

switch(z)

{

case1:

printf("\t请输入职工号:

");

scanf("%ld",&t);

for(i=0;i

{

if(x[i].num==t)

{flag=1;

printf("_________________________________________________________________\n");

printf("职工号\t姓名\t性别\t年龄\t学历\t工资\t地址\t电话\n");

printf("_________________________________________________________________\n");

printf("%ld\t%s\t%s\t%ld\t%s\t%ld\t%s\t%ld\n",x[i].num,x[i].nam,x[i].sex,x[i].yer,x[i].edu,x[i].mon,x[i].ads,x[i].pho);

printf("_________________________________________________________________\n");

break;

}

}

if(flag)

{printf("\t确定删除吗?

y/n");

scanf("%s",&l);

if(l=='y')

{

for(;i

x[i]=x[i+1];

m=m-1;

printf("\n\t删除成功!

");

shuchu(x);

shanchu(x);

}

}

else

printf("记录不存在!

\n");

shanchu(x);

case2:

printf("请输入姓名:

");

scanf("%s",nam);

for(i=0;i

{

if(strcmp(x[i].nam,nam)==0)

{flag=1;

printf("_________________________________________________________________\n");

printf("职工号\t姓名\t性别\t年龄\t学历\t工资\t地址\t电话\n");

printf("_________________________________________________________________\n");

printf("%ld\t%s\t%s\t%ld\t%s\t%ld\t%s\t%ld\n",x[i].num,x[i].nam,x[i].sex,x[i].yer,x[i].edu,x[i].mon,x[i].ads,x[i].pho);

printf("_________________________________________________________________\n");

break;

}

}

if(flag)

{printf("\n确定删除吗?

y/n");

scanf("%s",&l);

if(l=='y')

{

for(;i

x[i]=x[i+1];

m=m-1;

printf("\n\t删除成功!

");

shuchu(x);

shanchu(x);

}

}

else

printf("记录不存在!

");

shanchu(x);

case3:

main(x);break;

default:

printf("\t输入有误!

");exit(0);

}

}

7.修改函数

voidxiugai(structworkerx[])

{

longflag=0,t,i,z;charl,nam[20];//flag为是否有输入记录的标志,1为有记录,0为无记录

printf("\n\t1.按职工号修改\n\t2.按姓名修改\n\t3.返回主菜单\n");

printf("请按对应数字选择");

scanf("%d",&z);

switch(z)

{

case1:

printf("\t请输入职工号:

");

scanf("%ld",&t);

for(i=0;i

{

if(x[i].num==t)

{flag=1;

printf("_________________________________________________________________\n");

printf("职工号\t姓名\t性别\t年龄\t学历\t工资\t地址\t电话\n");

printf("_________________________________________________________________\n");

printf("%ld\t%s\t%s\t%ld\t%s\t%ld\t%s\t%ld\n",x[i].num,x[i].nam,x[i].sex,x[i].yer,x[i].edu,x[i].mon,x[i].ads,x[i].pho);

printf("_________________________________________________________________\n");

break;

}

}

if(flag)

{printf("\t确定修改?

y/n");

scanf("%s",&l);

if(l=='y')

{

printf("\n\t输入修改后的职工号:

");

scanf("%ld",&x[i].num);

printf("\t输入修改后的姓名:

");

scanf("%s",x[i].nam);

printf("\t输入修改后的性别:

");

scanf("%s",x[i].sex);

printf("\t输入修改后的年龄:

");

scanf("%ld",&x[i].yer);

printf("\t输入修改后的学历:

");

scanf("%s",x[i].edu);

printf("\t输入修改后的工资:

");

scanf("%ld",&x[i].mon);

printf("\t输入修改后的地址:

");

scanf("%s",x[i].ads);

printf("\t输入修改后的电话");

scanf("%ld",&x[i].pho);

printf("_________________________________________________________________\n");

printf("职工号\t姓名\t性别\t年龄\t学历\t工资\t地址\t电话\n");

printf("_________________________________________________________________\n");

printf("%ld\t%s\t%s\t%ld\t%s\t%ld\t%s\t%ld\n",x[i].num,x[i].nam,x[i].sex,x[i].yer,x[i].edu,x[i].mon,x[i].ads,x[i].pho);

printf("_____________________

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2