c语言课程设计作业(修改版)

c语言课程设计作业(修改版)

ID:11423474

大小:177.60 KB

页数:21页

时间:2018-07-11

上传者:U-2517
c语言课程设计作业(修改版)_第1页
c语言课程设计作业(修改版)_第2页
c语言课程设计作业(修改版)_第3页
c语言课程设计作业(修改版)_第4页
c语言课程设计作业(修改版)_第5页
资源描述:

《c语言课程设计作业(修改版)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

德州学院计算机系2011级计算机科学与技术专业课程设计目录1课程设计目的12设计思路12.1需求概述12.2需求说明13概要设计24详细设计24.1基础信息24.2数据结构34.2.1模块分析34.2.2各个功能模块的处理流程35系统流程图66测试结果76.1职工信息管理初始界面76.2输入信息76.3职工信息管理系统的功能77总结8参考文献8附录1020 德州学院计算机系2011级计算机科学与技术专业课程设计程序设计基础课程设计—职工信息管理系统1课程设计目的随着我国国民经济建设的蓬勃发展和信息技术的不断发展,各行各业都在积极使用现在化得手段,不断完善服务质量,提高工作效率,这些都在很大程度上给企业提出了越来越严峻的挑战,对企业体系无论是在行政职能、企业管理水平以及优质服务上都提出更高德尔要求,企业对人事管理也越来越重视了,资金投入比例也在加大,人事管理信息系统开发也开始走向完善的阶段。故设计一“职工信息管理系统”使其具有数据添加、查询、修改、删除、显示等功能。(1)职工信息包括职工号、姓名、年龄、学历、工资、住址、电话等(职工号不重复);(2)系统以菜单方式工作;(3)职工信息录入功能;(4)职工信息浏览功能;(5)按姓名查询功能;(6)职工信息删除、修改功能。2设计思路2.1需求概述(1)职工信息录入功能;(2)职工信息查询功能;(3)职工信息查询(或排序)功能;(4)职工信息删除功能;(5)职工信息修改功能。2.2需求说明(1)职工20 德州学院计算机系2011级计算机科学与技术专业课程设计信息包括姓名、工号、性别、年龄、学历、职位、工资、电话、地址等。(2)录入的职工信息要求用文件形式保存,并可以对其进行查询、查询、修改、删除等基本操作。(3)职工信息的显示要求有一定的规范格式。(4)对职工信息应能够分别安编号及按姓名两种方式进行查询,要求能返回所有符合条件的职工的信息。(5)对职工信息的修改应逐个地进行,在一个职工的信息的更改不影响其他的职工记录。(6)所设计的系统应以菜单方式工作,应为用户提供清晰的使用提示,依据用户的选择来进行各种处理,并要求在此过程中能尽可能地兼容用户使用过程中的异常情况。3概要设计职工信息管理数据输入数据修改删除数据添加查找浏览图1系统功能模块图4详细设计4.1基础信息(1)主函数:主函数设计要求简洁,只提供部分提示语和函数的调用。(2)增加员工信息:可增加新的员工信息记录,并保存。并且将增加后的文件存储状况显示给用户。(3)删除员工信息:提示用户输入要进行删除操作的员工姓名,如果在文件中有该员工的信息存在,则将该姓名所对应的姓名、序号、工资等在对应文件中加以删除,并提示用户选择是否继续进行删除操作。(4)修改员工信息:提示用户输入要进行修改操作的员工姓名,如果在文件中有该员工的信息存在,则提示用户进行相应的修改,并保存与文件中。(5)查询员工信息:可根据学历查询员工信息,如果在文件中有该员工的信息存在,则提示用户已找到,并逐项列出员工的信息。(6)20 德州学院计算机系2011级计算机科学与技术专业课程设计输出员工信息:将所有的员工信息排列出来,以便用户对员工信息由较为直观的了解。4.2数据结构4.2.1模块分析(1)性别:emumSex{male,female};(2)日期:StructDate{intyear;intmonth;intday;};(3)职工信息:{charname[8];/*姓名*/charnum[10];/*工号*/charsex[10];/*性别*/charage[10];/*年龄*/charrecord[10];/*学历*/charposition[15];/*职位*/charwanges[10];/*工资*/chartel[15];/*电话*/charaddr[50];/*地址*/}4.2.2各个功能模块的处理流程(1)信息输入模块{打开文件,实现向文件输入数据*//*打开职工信息管理文件*/20 德州学院计算机系2011级计算机科学与技术专业课程设计职工信息管理系统");/*向文件输入数据*添加职工信息(姓名、工号、性别、年龄、学历、职位、工资、电话、地址) ");是否继续添加//*关闭文件*/}(2)信息查询模块voidsearch()/*查询函数*/{打开职工信息文件输入查询职工的名字或工号输出该职工的信息}关闭文件(3)信息修改模版修改信息{打开职工信息文件输入您要修改的职工的姓名{顺序输出该职工的信息}{查找需要修改的信息确定修改{输入修改后的信息}职工信息文件关闭20 德州学院计算机系2011级计算机科学与技术专业课程设计}(4)信息删除模块{打开职工信息文件输入您要删除的职工姓名打开文件}{输出职工信息}{查询文件中相关的信息}{已查到,记录确实要删除,按1;不删除,按0}关闭文件20 德州学院计算机系2011级计算机科学与技术专业课程设计5系统流程图结束查询输入修改删除添加退出开始输入文件输入信息管理选择管理选择管理选择图2流程图其中:(1)菜单选择模块完成用户命令的接受,此模块也是职工信息管理的入口,户所要进行的各种操作均需在此模块中进行选择,并进而调用其他模块实现相应的功信息管理的入口,用户所要进行的各种操作均需在此模块中进行选择,并进而调用其他模块实现相应的功能。(2)信息输入模块完成职工信息的输入功能,输入信息包括姓名、住址、电话、工资等。(3)信息查询模块完成已录入职工信息的显示。(4)信息查询模块完成职工信息的查询,查询时对应有按工号查询和按姓名查询两种方式。(5)信息修改模块完成职工信息的修改功能。20 德州学院计算机系2011级计算机科学与技术专业课程设计(6)信息删除模块完成职工信息的删除功能。6测试结果6.1职工信息管理初始界面图3职工信息管理初始界面6.2输入信息图4输入信息20 德州学院计算机系2011级计算机科学与技术专业课程设计6.3职工信息管理系统的功能图5职工信息管理系统的功能7总结通过为期一周的课程设计,我们对《C语言》这门课程有了更深一步的了解。它是计算机程序设计的重要理论技术基础,在我们计算机科学与技术专业的学习中占据着十分重要的地位。同时也使我们知道,要学好这门课程,仅学习书本上的知识是不够的,还要有较强的实践能力。因为我们学习知识就是为了实践。而只有多实践,多编写程序,才能更好的理解与掌握书本上的东西。运用《C语言》中的算法思想作数据结构,结合C语言基本知识,编写一个通讯录管理系统。通过完成本课题,进一步熟悉C语言的基本知识,并掌握数据结构的一些基本算法思想,掌握C语言的文件操作,进一步熟悉指针的用法,数组的建立运用和函数的调用等。参考文献[1]王连相.c++程序设计教程[M].北京:中国铁道出版社,2007.[2]谭浩强.C语言程序设计教程[M].安徽:安徽出版社,1999.[3]谭浩强.C程序设计题解与上机指导[M].北京:清华大学出版社,1999.20 德州学院计算机系2011级计算机科学与技术专业课程设计[4]张志航,王珊珊等.程序设计语言——c[M]北京:清华大学出版社,2007.[5]张红梅,于明.VisualC++程序设计实验教程[M]北京:中国铁道出版社,2004[6]周启海.C语言程序设计教程[M].北京:机械工业出版社,2004[7]谭浩强.C语言程序设计教程(第三版)[M].北京:清华大学出版社,2008[8]冉崇善.C语言程序设计教程[M].北京:机械工业出版社,2009[9]张莉.C/C++程序设计教程[M].北京:清华大学出版社,2007[10]杨文军,杨柳.C程序设计教程[M].北京:清华大学出版设,201020 德州学院计算机系2011级计算机科学与技术专业课程设计附录#includestructstaff{charname[8];charnum[10];charsex[10];charage[10];charrecord[10];charposition[15];charwanges[10];chartel[15];charaddr[50];}one;/*定义一个结构体*/charfilename[20];/*文件名*/FILE*fp;voidcreat();/*定义一个创建函数*/voidoutput();/*定义一个输出信息的函数*/voidsearch();/*定义一个查询的函数*/voidappend();/*定义一个添加函数*/voidmodify();/*定义一个修改函数*/voiddelete();/*定义一个删除函数*/voidexit();/*定义一个输出函数*/voidmain()/*主函数*/{intm;creat();/*先调用creat函数*/while(1){20 德州学院计算机系2011级计算机科学与技术专业课程设计printf(" 添加,请按1");printf(" 查找,请按2");printf(" 修改,请按3");printf(" 删除,请按4");printf(" 输出,请按5");printf(" 退出,请按0 ");/*输出提示信息*/scanf("%d",&m);if(m>=0&&m<=5){switch(m){case1:append();break;case2:search();break;case3:modify();break;case4:delete();break;case5:output();break;case0:exit();}printf(" 操作完毕,请再次选择!");}elseprintf(" 选择错误,请再次选择!");}}voidcreat()/*被调用的creat函数*/20 德州学院计算机系2011级计算机科学与技术专业课程设计{structstaffone;printf("《职工信息管理系统》 ");printf("计算机系计科 ");printf("孔飞 ");printf(" ");printf(" 请输入保存员工信息的文件名:");scanf("%s",filename);/*创建一个文件的名字*/if((fp=fopen(filename,"w"))==NULL)/*打开文件,实现向文件输入数据*/{printf(" 不能建立!");exit();}fprintf(fp,"%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s ","姓名","工号","性别","年龄","学历","职位","工资","电话号码","住址");printf(" 请输入职工信息(以0结束) ");printf("姓名:");scanf("%s",one.name);while(strcmp(one.name,"0")){printf("工号:");scanf("%s",one.num);printf("性别:");scanf("%s",one.sex);printf("年龄:");scanf("%s",one.age);printf("学历:");scanf("%s",one.record);printf("职位:");scanf("%s",one.position);20 德州学院计算机系2011级计算机科学与技术专业课程设计printf("工资:");scanf("%s",one.wanges);printf("电话:");scanf("%s",one.tel);printf("住址:");scanf("%s",one.addr);/*输出职工的相关信息*/fprintf(fp,"%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s ",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);printf("姓名:");scanf("%s",one.name);}fclose(fp);/*关闭文件*/}voidoutput()/*输出函数*/{structstaffone;if((fp=fopen(filename,"r"))==NULL)/*打开文件*/{printf(" 不能打开该文件!");exit();}printf(" %20s ","职工信息管理系统");/*向文件输入数据*/while(!feof(fp)){fscanf(fp,"%s%s%s%s%s%s%s%s%s ",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);printf("%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s ",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);}fclose(fp);/*关闭文件*/20 德州学院计算机系2011级计算机科学与技术专业课程设计}voidappend()/*添加函数*/{structstaffone;if((fp=fopen(filename,"a"))==NULL)/*打开文件*/{printf(" 不能打开该文件!");exit();}printf(" 请输入添加职工信息(姓名、工号、性别、年龄、学历、职位、工资、电话、地址) ");/*向文件中输入数据*/scanf("%s%s%s%s%s%s%s%s%s",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);fprintf(fp,"%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s ",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);fclose(fp);/*关闭文件*/}voidsearch()/*查询函数*/{intk=0;charrecordkey[10];structstaffone;printf(" 请输入您要查找的职工学历:");scanf("%s",recordkey);if((fp=fopen(filename,"rb"))==NULL)/*打开文件*/{printf(" 不能打开文件!");exit();}while(!feof(fp))20 德州学院计算机系2011级计算机科学与技术专业课程设计{fscanf(fp,"%s%s%s%s%s%s%s%s%s ",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);if(!strcmp(recordkey,one.record)){printf(" 已查到,记录为:");printf(" %-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s ",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);k=1;}}if(!k)printf(" 对不起,查无此人!。");fclose(fp);}voidmodify()/*修改函数*/{intm,k=0;longoffset;charnamekey[8];structstaffone;printf(" 请输入您要修改的职工的姓名:");scanf("%s",namekey);if((fp=fopen(filename,"r+"))==NULL)/*打开文件*/{printf(" 不能打开该文件!");exit();}while(!feof(fp))20 德州学院计算机系2011级计算机科学与技术专业课程设计{offset=ftell(fp);/*查找信息*/fscanf(fp,"%s%s%s%s%s%s%s%s%s ",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);if(!strcmp(namekey,one.name)){k=1;break;}}if(k){printf(" 已查到,记录为:");printf(" %-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s ",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);printf(" 请输入信息(按照姓名、工号、性别、年龄、学历、职位、工资、电话、地址的顺序输入)");scanf("%s%s%s%s%s%s%s%s%s",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);fseek(fp,offset,SEEK_SET);printf("%ld",ftell(fp));fprintf(fp,"%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s ",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);}elseprintf(" 对不起,查无此人,无法进行修改。");fclose(fp);/*文件关闭*/}voiddelete()/*删除函数*/20 德州学院计算机系2011级计算机科学与技术专业课程设计{intm,k=0,flag;longoffset1,offset2;charnamekey[8],valid[4];structstaffone;printf(" 请输入您要删除的职工姓名:");scanf("%s",namekey);if((fp=fopen(filename,"r+"))==NULL)/*打开文件*/{printf(" 不能打开该文件!");exit();}while(!feof(fp)){offset1=ftell(fp);/*查询文件中相关的信息*/fscanf(fp,"%s%s%s%s%s%s%s%s%s ",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);if(!strcmp(namekey,one.name)){k=1;break;}}if(k){printf(" 已查到,记录为");printf(" %-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s ",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);printf(" 确实要删除,按1;不删除,按0:");scanf("%d",&m);20 德州学院计算机系2011级计算机科学与技术专业课程设计if(m){fseek(fp,offset1,SEEK_SET);fprintf(fp,"%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s ","","","","","","","","","");}}elseprintf(" 对不起,查无此人。");fclose(fp);/*关闭文件*/}20 德州学院计算机系2011级计算机科学与技术专业课程设计指导教师评语指导教师(签名)成绩学号姓名成绩201101001039孔飞201101001027高常文201101001049郑婷婷指导教师或答辩小组成员(签名)备注注:实习成绩由指导教师或答辩小组评定出成绩,分优秀、良好、中等、及格、不及格五级,分别给小组的每个成员打分。20 德州学院计算机系2011级计算机科学与技术专业课程设计注:实习成绩由指导教师或答辩小组评定出成绩,分优秀、良好、中等、及格、不及格五级,分别给小组的每个成员打分。20

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭