欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    职工信息管理C语言程序设计报告.doc

    • 资源ID:7449443       资源大小:998.50KB        全文页数:38页
    • 资源格式: DOC        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    职工信息管理C语言程序设计报告.doc

    1、目录一 系统功能21系统需求分析22 系统功能总体设计23. 输入输出功能24. 总体设计流程图3二 概要设计41 抽象数据类型定义42 系统模块组成及其功能4三 详细设计51 用C语言定义相关数据52 各模块的类C码算法51 职工信息显示函数52 职工信息的追加函数63 职工信息修改函数64 职工信息删除函数85 职工信息查询函数106职工信息排序函数107退出函数103 函数的调用关系图10四 调试分析(包括流程图和截图)111 显示模块N-S图112追加模块的流程图123.查询模块的流程图144.排序模块的流程图155. 修改模块的流程图166删除模块流程图187. 各个模块的截图及说明

    2、20五 总结28六 参考文献28七 程序原代码29一 系统功能 1系统需求分析 这是一个对职工信息管理的系统,通过这个系统可以显示所有职工的信息并可以对职工信息进行追加、修改、删除、查询、排序等多种功能的操作.2 系统功能总体设计 程序的功能:随着计算机科学的发展,现在我们不可能还是用手写的方式对职工的信息进行管理,这就需要设计一个系统运用计算机来实现对职工信息的管理.该系统用数组实现对职工信息数据的存储,且总体数据结构应用文件类型数据,文件类型为结构体数组,这就要建立数据库来存放职工的信息,通过指针文件来实现对数据库里信息的读和写,需要存储的职工信息包括职工号、职工姓名、性别、年龄、学历、工

    3、资、部门、职称等等,最后通过函数的调用来实现对职工信息的管理.初始化 显示函数 追加函数主涵数main() 修改函数 删除函数 查询函数 排序函数 退出函数3. 输入输出功能数据库中的数据全通过fread()函数来读取数据,并且通过fwrite函数将修改过后的数据放到一个新的文件里去,从而实现的系统的输入输出功能。4. 总体设计流程图开始 主菜单 选择功能显示模块追加模块修改模块删除模块查询模块排序模块退出模块 保存修改后的数据结束二 概要设计 1 抽象数据类型定义Struct stu;long int zgh; /*职工号*/ Char name10; /*姓名*/ Char xb4; /*

    4、性别*/ Int nl; /*年龄*/ Char xl10; /*学历*/ Double gz; /*工资*/ Char bm15; /*部门*/ Char zc10; /*职称*/s402 系统模块组成及其功能 主函数 void main() 显示函数 void Disp() 功能 : 显示数据库中职工的所有信息。 追加函数 void Appe() 功能 : 加入你想加入的职工的信息,可以追加多条,也可以追加多次。 修改函数 void Modi() 功能 : 修改你想修改的职工的信息,可以修改职工的某项信息,也可以修改多项信息,还可以多次修改其他职工的信息,你可以通过选择职工号 或者职工的姓

    5、名二种方式进行修改职工的信息,。 删除函数 void Dele() 功能 : 删除你想删除的职工的所有信息,可以多次删除,同样可以通过职工号或者职工的姓名二种方式进行删除,删除后会显示删除结果。 查询函数 void Query() 功能 : 可以通过该函数来查询你所需职工的所有信息并显示,同样你可以选择是按职工号、职工的姓名、工资或者部门来查询,当你查询的职工不存在时系统还会提示你,你所查询的职工不存在。 排序函数 void Sore() 功能 : 通过该函数完成按职工工资降序排列并显示。 退出函数 功能 : 完成退出程序。三 详细设计 1 用C语言定义相关数据 Struct stulong

    6、int zgh; /*职工号*/Char name10; /*姓名*/Char xb4; /*性别*/Int nl; /*年龄*/Char xl10; /*学历*/Double gz; /*工资*/Char bm15; /*部门*/Char zc10; /*职称*/s40;2 各模块的类C码算法 1 职工信息显示函数void Disp() /*显示模块*/int i; 定义循环变量system(COLOR 1f); 调整显示界面颜色;for(i=0;iN;i+) 利用for 循环 将数据库的内容出来printf(输出职工信息); 2 职工信息的追加函数void Appe() /*追加模块*/

    7、int i,p,t; void Wr_file(); printf(请输入你想添加的职工个数:);scanf(%d,&i); for(p=0;pi;p+) (利用for循环追加想要追加的职工的个数) printf(你还想要追加吗?是 请按1 否 请按2);scanf(%d,&t);if(t=1) Appe(); printf(“追加后的信息为:”);3 职工信息修改函数void Modi() /* 修改模块*/ int n,c,p,i,b=1,j=0,k=1;char fname10;int long r;system(COLOR 9f); (控制颜色)void Wr_file();print

    8、f(请选择修改方式n);printf(1:职工号 2:姓名n);scanf(%d,&n);switch(n) 输入工号或姓名for(i=0;iN;i+)case 1:for(b=1;b2;)printf(请输入职工号:);scanf(%ld,&r);for(i=0;iN;i+)if(si.zgh=r)p=i;j=1;switch(j)case 0:printf(无此人信息n); scanf(%d,&b);break;case 1:for(;k2;)printf(请选择修改项目n); scanf(%d,&c);switch(c)(修改并保存)Wr_file();printf(你还要修改此人其他项

    9、目吗n);printf(1:yes 2:non);scanf(%d,&k); if(k=1) continue; (若是k=1则继续修改此人的信息) printf(你还要修改其他职工的其他项目吗n);printf(1:yes 2:non);scanf(%d,&k);if(k=1) continue;break;case 2:for(;b2;)printf(请输入姓名:);scanf(%s,fname);for(i=0;iN;i+)if(strcmp(si.name,fname)=0) (判断是否找到这个人)p=i;j=1; switch(j) case 0:printf(无此人信息n); sc

    10、anf(%d,&b);break;case 1:for(;k2;)printf(请选择修改项目n);scanf(%d,&c);switch(c)(修改并保存) printf(你还要修改此人其项目吗n); printf(1:yes 2:non); scanf(%d,&k);if(k=1) continue; break;printf(你还要修改其他职工的其他项目吗?n);printf(1:yes 2:non);scanf(%d,&b); break;break;(修改完了输出) 4 职工信息删除函数void Dele() /*删除模块*/ int a,b,c,d,x,p,i,j=0; char

    11、sname10; long int sgh; system(COLOR 5f); void Quit(); (退出函数) printf(请选择删除方式n);scanf(%d,&x); switch(x)case 1:for(c=1;c2;)printf(请输入删除工号n);scanf(%ld,&sgh);for(i=0;iN;i+) if(si.zgh=sgh)b=i;j=1; switch(j)case 0:printf(无此人n);printf(还要删n);printf(1.yes 2.non); 选择是否还要删除 scanf(%d,&c);break;case 1:printf(是否删除

    12、此人n);printf(1.yes 2.non);scanf(%d,&a);switch(a)case 1:for(p=(b+1);pN;p+)d=b+1;sb=sd;b+; N=N-1; Wr_file(); printf(还要删除吗n);printf(1.yes 2.non); 选择是否还要删除?scanf(%d,&c);break;case 2:c=2;break;break; case 2:for(c=1;c2;) (按姓名进行删除,用for循环控制)printf(请输入删除姓名n);scanf(%s,&sname);for(i=0;iN;i+)if(strcmp(si.name,sn

    13、ame)=0)b=i;j=1;switch(j)case 0:printf(无此人n);printf(是否还要删除n);printf(1.yes 2.non); scanf(%d,&c);break;case 1:printf(是否删除此人n);printf(1.yes 2.non); 选择是否删除?scanf(%d,&a);switch(a)case 1:for(p=(b+1);pN;p+)d=b+1;sb=sd;b+;N=N-1; Wr_file(); printf(还要删除吗n);printf(1.yes 2.non);scanf(%d,&c);break;case 2:c=2;brea

    14、k;break;5 职工信息查询函数void Query() /*查询模块*/ int i,t,flag; long int b;char s18;system(COLOR 5f); printf(选择按职工号|姓名|工资|部门查询);查找该职工并显示其信息6职工信息排序函数void Sort() /*排序*/ int i,j;struct stu s1;(定义一个结构体中间变量)system(COLOR 6f);(控制颜色) for(i=0;iN-1;i+) for(j=i+1;jN;j+) if(si.gzsj.gz) s1=si;si=sj;sj=s1;(交换结构体的值) 7退出函数vo

    15、id Quit() /*退出*/ printf( * Thank you bye * n); 3 函数的调用关系图Void main()void Disp()void Appe()void Modi()void Dele()void Sort()void Query()void Quit()四 调试分析(包括流程图和截图)1 显示模块N-S图 显示第i个职工的信息j打开rsdak文件For(i=0;fread()!=;i+显示读出第i个职工的信息 打开nwersk文件For(i=0;iN;i+将第i个职工的数据写入文件 关闭neaersk 文件2.追加模块流程图否选择追加模块主菜单 开始 输入

    16、要追加的个数P=0Pi?输入要追加职工的信息N+P+结束还追加吗?否3.查询模块的流程图开始选择5查询模块输入职工号或姓名或工资或部门结束选择按什么方式寻找这个人 i职工号或姓名在数据库中是否存在是显示找到的这个职工的信息否按职工按姓名返回按部门按工资4.排序模块的流程图 开始定义一个结构体 s1IN-1?I=0是j=i+1,JN?是si.gzsj.gz?s1=si;si=sj;sj=s1;交换结构体的值j+I+否否结束否选择排序模块5. 修改模块的流程图开始选择修改模块选择修改方式职工号姓名退出输入职工号或姓名输入职工号输入姓名职工号是否存在姓名是否存在选择要修改哪一项信息并修改选择要修改哪

    17、一项信息并修改还要修改吗还要修改吗结束否否是是6删除模块流程图开始选择删除模块选择删除方式职工号姓名退出输入职工号或姓名输入职工号输入姓名职工号是否存在姓名是否存在?确认删?确认删?删除删除是否还继续是否继续?结束是 是 是否否是是7. 各个模块的截图及说明运行程序,进入主菜单,显示如图所示: 系统提供了七个选项,可以通过选择数字进入你需要的模块操作。 选择1显示模块的截图如下图所示: 按任意键返回主菜单,选择菜单2进入追加模块的操作, 追加模块的截图如下所示: 在该模块的操作中可以选择追加一条,也可以追加多条。 按任意键退出,选择3进入修改模块的操作截图如下所示: 可以修改一个职工的某项信息

    18、也可以修改多项信息,还可以修改其他职工的信息。 按任意键退出该模块,选择4进入删除模块的操作,截图如下: 可以按照两种方法删除当输入的人不存在是系统会给出提示此人不存在,可以进行多项删除。 按任意键退出,选择5进入查询模块的操作,截图如下: 该模块可以选择4种方式进行查询,当查询的信息不存在时,会给出此人不存在的提示,按5键退出查询模块。 按任意键退出后进入主菜单,选择6进入排序模块的操作,截图如下: 该排序是按员工的工资降序排列的。选菜单7退出系统截图如下:五 总结 在整个C语言的学习过程中让我学会了很多,老师也非常用心的教我们这门课程,带我们进入了这门课程的学习。刚开始的时候是最艰难的,在

    19、这里我要感谢老师的用心教导,让我慢慢学会了该怎样去学习这种与机器对话的语言。经过半年的学习,我们迎来了将近一周的课程设计,刚拿到题目我吓到了,啊,要编这么多啊,而且还这么的难,但下来后通过查找资料,通过仔细思考以及组员的帮助,我还是完成了这次的设计任务。在这次设计中我是负责编查询模块的,另外我还编了排序模块,编的过程中遇到了很多的问题,但还是一一解决了,但在调试的过程中还是出现了很多的错误,这就需要我们仔细的发现问题和培养解决问题的能力,在这个方面我还是学习的不够。所以在以后的学习过程中我应该要培养自己的逻辑思维能力。 在设计程序时首先要理解各个模块的作用,只有这样才能为设计好程序做好铺垫。在

    20、这次程序设计中我发现了其他组员的设计模块还存在着不足,这就需要我们认真思考程序中存在的不足,同时可以和其他组的同学一起讨论,学习的过程交流也是非常重要的。此外课后我们还需要和老师多交流,好好利用学习资源。程序答辩时我的程序出现了一点点小问题,虽然通过自己的检查还是解决了问题但它教会了我在平时要更用心的去检查和调试程序。通过这次一周的程序设计我明白只有抱着认真的态度才能做好每一件事,最后我要感谢我的老师,谢谢你的用心指导。六 参考文献C语言程序案例分析 人民邮电出版社C语言程序设计(第2版) 北京邮电大学出版社C程序设计(第三版) 清华大学出版社C语言程序设计案例分析 人民邮电出版社七 程序原代

    21、码#include stdio.h#include #include string.h#include conio.hint N=0;struct stu long int zgh; /*职工号*/ char name10; /*姓名*/ char xb4; /*性别*/ int nl; /*年龄*/ char xl10; /*学历*/ double gz; /*工资*/ char bm15; /*部门*/ char zc10; /*职称*/ s40;void Re_file() FILE *fp; 定义一个指针文件 fp=fopen(D:rsdak.txt,r); 打开文件所指的文件,进行读

    22、取文件里的内容while( fscanf(fp,%ldn%sn%sn%dn%sn%lfn%sn%sn,&sN.zgh,sN.name,sN.xb,&sN.nl,sN.xl,&sN.gz,sN.bm,sN.zc)!=EOF) N+; fclose(fp); 关闭文件 void Wr_file()int i; FILE *fp; fp=fopen(D:nwersk.txt,w); 打开文件把文件里的内容写到新的文件里 for(i=0;iN;i+) fprintf(fp,%ldn%sn%sn%dn%sn%lfn%sn%sn,si.zgh,si.name,si.xb,si.nl,si.xl,si.gz

    23、,si.bm,si.zc); fclose(fp);void Disp() /*显示模块*/int i; system(COLOR 2f); printf(*n); printf(职工号 姓名 性别 年龄 学历 工资 部门 职称n); for(i=0;iN;i+) 用for循环把职工的信息显示出来 printf(%-6ld %-6s %-4s %-5d %-7s %-10.2lf %-10s %-4sn,si.zgh,si.name,si.xb,si.nl,si.xl,si.gz,si.bm,si.zc); printf(*n);void Appe() /*追加模块*/ int i,p,t; void Wr_file(); printf(请输入你想添加的职工个数:);scanf(%d,&i); for(p=0;pi;p+) 定义P来控制追加


    注意事项

    本文(职工信息管理C语言程序设计报告.doc)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

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


    收起
    展开