c语言课程设计_第1页
c语言课程设计_第2页
c语言课程设计_第3页
c语言课程设计_第4页
c语言课程设计_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

c语言课程设计┊┊┊┊课程设计c语言课程设计全文共22页,当前为第1页。服务课程名称:计算机C语言系:能源与动力工程系专业:c语言课程设计全文共22页,当前为第1页。服务课程名称:计算机C语言系:能源与动力工程系专业:电厂热能动力装置班级:热动专学号:29姓名:***指导教师:****课程设计周次:第18周起始日期:2011-6-27至目录TOC\h\z\t"标题2,1"C语言课程设计成绩评定表 1C语言课程设计任务书 2程序基本框架结构图 3程序设计说明书 4源代码清单 5课程设计总结 20c语言课程设计全文共22页,当前为第2页。c语言课程设计全文共22页,当前为第2页。-PAGE17-┊┊C语言课程设计成绩评定表┊┊班级热动专学号29姓名项目组六项目组长项目组组员本人工作简介:主要负责删除模块的编写,还有主函数以及显示等函数的编写,并且带领本组员进行其他函数的编写,同时到图书馆查阅相关的一些资料。编写完成后进行删除模块的调试与运行。组长评语:该组员在本次的课程设计当中,不但查找了很多相关的一些课程设计资料,除了编写修改与主函数以外,还对各个模块进行修改工作,善于发现程序中的错误,并且主动与同学相互讨论,还经常请教同学与老师,为本组的设计作出了很高的贡献成绩评定标准ABCDE理论基础很好好比较好一般不好报告完成情况很好好比较好一般不好纪律表现很好好比较好一般不好程序创意很好好比较好一般不好所选模块完成情况很好好一般较差不好所选算法难易程度复杂比较复杂一般简单很简单程序可操作性很好好一般较差不好答辩表现很好好一般较差不好最后成绩优秀A>=5B<=3C<=0D=0E=0良好A>=3B<=4C<=1D=0E=0中等A>=1B>=2C>=4D<=1E=0及格A=0B=0C<=4D>=4不及格A=0B=0C=0D<=4E>=4负责指导教师:(签名)指导教师:(签名)c语言课程设计全文共22页,当前为第3页。

C语言课程设计任务书c语言课程设计全文共22页,当前为第3页。一、设计目的通过本次课程设计使学生进一步加深对C语言课程内容的理解,初步掌握一般应用程序的开发方法和步骤,进一步了解与掌握C语言的编程方法和技巧,提高学生用C语言解决实际问题的能力。二、设计要求1、认真查阅参考书、资料 2、遵守课程设计时间安排3、按时上机,认真调试程序 4、认真完成课程设计报告三、课设报告装订内容及顺序1、课程设计封皮 2、目录3、课程设计成绩评定表 4、课程设计任务书5、程序基本框架图6、程序设计说明书7、源代码清单 8、课设总结与心得四、设计题目学生档案管理系统宾馆住宿管理学生宿舍管理★职工信息管理系统人事档案管理系统 航空售票管理系统五、时间安排(一周:从6月27日到7月1日)1、查阅资料及程序设计(1天) 2、程序编制及调试(3天)3、成绩评定(0.5天) 3、打印报告(0.5天)六、参考文献1、《C语言程序设计》李淑华/李贞编大连理工大学出版社2、《C语言程序设计》孙连科/姚大鹏编辽海出版社3、《C++时尚编程百例》网冠科技编.机械工业出版社4、《TURBOC实用大全》徐金梧等编.机械工业出版社c语言课程设计全文共22页,当前为第4页。

程序基本框架结构图c语言课程设计全文共22页,当前为第4页。职工档案管理系统职工档案管理系统退出系统显示职工信息删除职工信息增加职工信息修改职工信息查询职工信息输入职工信息退出系统显示职工信息删除职工信息增加职工信息修改职工信息查询职工信息输入职工信息系统帮助说明退出按姓名删除按工号删除退出按姓名查询按电话号查询按职工号查询退出按姓名删除按工号删除退出按姓名查询按电话号查询按职工号查询c语言课程设计全文共22页,当前为第5页。c语言课程设计全文共22页,当前为第5页。程序设计说明书本次课程设计的函数,主要由帮助、输入、显示、查询、修改、增加,删除,退出六大模块组成,对于主函数与删除等模块部分我会在个人部分中加以介绍。现在先大致介绍输入、显示、查询几个部分:在输入模块中,先使用fopen函数打开文件,再根据所要输入职工信息的总人数,通过for语句循环输入职工信息,最后进入保存函数将输入的信息保存;而在显示模块中,用if语句进行判定打开文件,并通过printf函数显示出来;在修改查询模块时,我先添加了一个子菜单,同样是使用switch语句来进入按姓名查询还是按工号查询等,使页面显得工整,并且操作起来也更加方便;修改按工号查询时,我使用的是通过strcmp函数让输入的字符或数字与所存的信息循环对比,当信息相同时调出所查到的学生的信息并且加以显示;在最后的删除模块中,采用的是先查找再删除形式,其中先标记查找出来的信息,让其信息总数减少一个,再通过a[i]=a[i+1]使下一个覆盖到原来的部分;而在编辑编译时所呈现出的页面效果时,我是根据页面工整为主要依据来修改的,具体没什么重点,就不加以描述。在这次课程设计当中,我主要负责的是删除和主函数等几部分,以及对其他部分进行修改、调试及整合函数。对于主函数,我采用的是先输出函数菜单,在利用switch语句进行选择不同的功能模块,再根据所输入的不同数字进入相应的模块。在修改模块中,定义变量之后,先打开文件,再通过for循环按学号和姓名查找找到所要修改职工的信息,并使用printf显示该职工的信息,再通过switch()语句选择要所要修改的内容,之后再重新输入新的信息,然后使用baocun函数将输入的信息覆盖到原有信息的位置并加以保存到原文件中。在修改、调试及整合函数时,我主要是根据所提示的错误加以修改,并且完善输入、显示等所有部分的编译,具体就不加以说明,在总体部分当中已经作出了相应的介绍。c语言课程设计全文共22页,当前为第6页。

源代码清单c语言课程设计全文共22页,当前为第6页。#include<stdio.h>/*I/o函数*/#include<stdlib.h>/*其他说明*/#include<string.h>/*字符串函数*/#defineLEN30/*工号和姓名最大职工人数*/#defineN100/*最大职工人数*/structrecord/*声明函数体*/{charcode[20];/*工号*/charname[10];/*姓名*/intage;/*年龄*/charsex[5];/*性别*/charxueli[10];/*学历*/chartime[20];/*出生年月*/charadd[20];/*家庭地址*/chartel[20];/*电话*/}zg[N];intk=1,m,n;voidshuru();voidchaxun();voidxiugai();voidzengjia();voidshanchu();voidxianshi();voidbaocun();voidcaidan();voidtuichuxitong();voidhuanyingye();intmain(){huanyingye();system("pause");system("cls");c语言课程设计全文共22页,当前为第7页。printf("请按任意键进入主菜单!\n");c语言课程设计全文共22页,当前为第7页。system("cls");while(k){caidan();system("pause");}return0;}voidhelp(){system("COLOR2f");printf("\n尊敬的用户您好!");printf("\n============================================================\n");printf("\n|1.欢迎进入帮助系统!|\n|");printf("\n|2.请按照菜单提示进入数字代号!|\n|");printf("\n|3.增加职工信息后,请切记保存!|\n|");printf("\n|4.谢谢您的使用!|\n|");printf("\n============================================================\n");}voidshuru()/*实现录入职工基本信息功能*/{inti,flag=1;while(flag){flag=0;printf("请输入需要创建信息的职工人数(1-100):\n");scanf("%d",&n);c语言课程设计全文共22页,当前为第8页。if(n<1||n>100)c语言课程设计全文共22页,当前为第8页。{flag=1;printf("输入错误,检查后请重新输入!\n");}}for(i=0;i<n;i++){printf("请输入第%d个职工的基本信息:\n",i+1);printf("请输入工号:\n");scanf("%s",zg[i].code);printf("请输入姓名:\n");scanf("%s",zg[i].name);getchar();printf("请输入性别(男,女):\n");scanf("%s",zg[i].sex);printf("请输入学历:\n");scanf("%s",zg[i].xueli);printf("请输入年龄:\n");scanf("%d",&zg[i].age);printf("请输入出生年月(输入格式:年.月):\n");scanf("%s",zg[i].time);printf("请输入家庭地址:\n");scanf("%s",zg[i].add);printf("请输入电话号码:\n");scanf("%s",zg[i].tel);}printf("录入完毕!\n");baocun();}voidbaocun()/*保存职工信息到文件的函数*/{inti;FILE*fp;c语言课程设计全文共22页,当前为第9页。if((fp=fopen("zg.txt","wb"))==NULL)/*创建文件并判断是否能够打开成功*/c语言课程设计全文共22页,当前为第9页。{printf("文件不能打开!\n");exit(0);/*如果不能打开文件,则关闭当前所有的文件*/}for(i=0;i<n;i++)/*将内存中的职工信息写入到磁盘文件中*/if(fwrite(&zg[i],sizeof(structrecord),1,fp)!=1)printf("文件输入错误!\n");fclose(fp);/*关闭文件*/}voidchazhao(){inti,t,flag;chars1[30];system("COLOR5f");printf("\n===============================\n");printf("1.按工号查询\n");printf("2.按姓名查询\n");printf("3.按电话号查询\n");printf("4.按学历查询\n");printf("5.退出本菜单\n");printf("===============================\n");while(1){flag=0;printf("请输入子菜单编号:");scanf("%d",&t);switch(t){case1:printf("请输入要查询的职工的工号:\n");scanf("%s",s1);for(i=0;i<n;i++)if(strcmp(zg[i].code,s1)==0){flag=1;c语言课程设计全文共22页,当前为第10页。printf("职工工号职工姓名年龄性别学历出生年月家庭地址电话\n");c语言课程设计全文共22页,当前为第10页。printf("===================================================================\n");printf("%6s%7s%6d%5s%7s%9s%8s%10s\n",zg[i].code,zg[i].name,zg[i].age,zg[i].sex,zg[i].xueli,zg[i].time,zg[i].add,zg[i].tel);}if(flag==0)printf("该工号不存在!\n");break;case2:printf("请输入要查询的职工的姓名:\n");scanf("%s",s1);for(i=0;i<n;i++)if(strcmp(zg[i].name,s1)==0){flag=1;printf("职工工号职工姓名年龄性别学历出生年月家庭地址电话\n");printf("================================================================\n");printf("%6s%7s%6d%5s%7s%9s%8s%10s\n",zg[i].code,zg[i].name,zg[i].age,zg[i].sex,zg[i].xueli,zg[i].time,zg[i].add,zg[i].tel);}if(flag==0)printf("该姓名不存在!\n");break;case3:printf("请输入要查询的职工的电话号:\n");scanf("%s",s1);for(i=0;i<n;i++)if(strcmp(zg[i].tel,s1)==0){flag=1;printf("职工工号职工姓名年龄性别学历出生年月家庭地址电话\n");c语言课程设计全文共22页,当前为第11页。printf("====================================================================\n");c语言课程设计全文共22页,当前为第11页。printf("%6s%7s%6d%5s%7s%9s%8s%10s\n",zg[i].code,zg[i].name,zg[i].age,zg[i].sex,zg[i].xueli,zg[i].time,zg[i].add,zg[i].tel);}if(flag==0)printf("该电话号不存在!\n");break;case4:printf("请输入要查询的职工的学历:\n");scanf("%s",s1);for(i=0;i<n;i++)if(strcmp(zg[i].xueli,s1)==0){flag=1;printf("职工工号职工姓名年龄性别学历出生年月家庭地址电话\n");printf("===============================================================\n");printf("%6s%7s%6d%5s%7s%9s%8s%10s\n",zg[i].code,zg[i].name,zg[i].age,zg[i].sex,zg[i].xueli,zg[i].time,zg[i].add,zg[i].tel);}if(flag==0)printf("该学历不存在!\n");break;case5:return;default:printf("请在1--5之间选择\n");}}}voidxiugai(){inti,t,num;charsex1[3],s1[30],s2[30];printf("请输入要修改的职工的工号:\n");scanf("%s",s1);for(i=0;i<n;i++)c语言课程设计全文共22页,当前为第12页。if(strcmp(zg[i].code,s1)==0)c语言课程设计全文共22页,当前为第12页。num=i;system("COLOR4f");printf("=============================================\n");printf("|1.修改姓名|\n");printf("|2.修改年龄|\n");printf("|3.修改性别|\n");printf("|4.修改学历|\n");printf("|5.修改出生年月|\n");printf("|6.修改地址|\n");printf("|7.修改电话号码|\n");printf("|8.修改退出本菜单|\n");printf("=============================================\n");while(1){printf("请输入子菜单的编号:");scanf("%d",&t);switch(t){case1:printf("请输入新的姓名:\n");scanf("%s",s2);strcpy(zg[num].name,s2);break;case2:printf("请输入新的年龄:\n");scanf("%s",s2);scanf("%d",&zg[num].age,s2);break;case3:printf("请输入新的性别:\n");scanf("%s",sex1);strcpy(zg[num].sex,sex1);break;case4:c语言课程设计全文共22页,当前为第13页。c语言课程设计全文共22页,当前为第13页。printf("请输入新的学历:\n");scanf("%s",s2);strcpy(zg[num].xueli,s2);break;case5:printf("请输入新的出生年月:\n");scanf("%s",s2);strcpy(zg[num].time,s2);break;case6:printf("请输入新的地址:\n");scanf("%s",s2);strcpy(zg[num].add,s2);break;case7:printf("请输入新的电话号码:\n");scanf("%s",s2);strcpy(zg[num].tel,s2);break;case8:return;default:printf("请在1--8之间选择\n");}baocun();}}voidpaixu(){inti,j,*p,*q,s;chartemp[10];for(i=0;i<n-1;i++){for(j=n-1;j>i;j--)c语言课程设计全文共22页,当前为第14页。if(strcmp(zg[j-1].code,zg[j].code)>0)c语言课程设计全文共22页,当前为第14页。{strcpy(temp,zg[j-1].code);strcpy(zg[j-1].code,zg[j].code);strcpy(zg[j].code,temp);strcpy(temp,zg[j-1].name);strcpy(zg[j-1].name,zg[j].name);strcpy(zg[j].name,temp);strcpy(temp,zg[j-1].sex);strcpy(zg[j-1].sex,zg[j].sex);strcpy(zg[j].sex,temp);strcpy(zg[j-1].xueli,zg[j].xueli);strcpy(zg[j].xueli,temp);strcpy(temp,zg[j-1].time);strcpy(zg[j-1].time,zg[j].time);strcpy(zg[j].time,temp);strcpy(temp,zg[j-1].add);strcpy(zg[j-1].add,zg[j].add);strcpy(zg[j].add,temp);strcpy(temp,zg[j-1].tel);strcpy(zg[j-1].tel,zg[j].tel);strcpy(zg[j].tel,temp);p=&zg[j-1].age;q=&zg[j].age;s=*p;*p=*q;*q=s;}}}voidzengjia(){inti=n,j,flag;printf("请输入将要增加的职工数目:\n");scanf("%d",&m);do{flag=1;c语言课程设计全文共22页,当前为第15页。c语言课程设计全文共22页,当前为第15页。while(flag){flag=0;printf("请输入第%d个职工的工号:\n",i+1);scanf("%s",zg[i].code);for(j=0;j<i;j++)if(strcmp(zg[i].code,zg[j].code)==0){printf("该工号已经存在,请仔细核查后重新输入!\n");flag=1;break;}}printf("请输入第%d个职工的职工姓名:\n",i+1);scanf("%s",zg[i].name);printf("请输入第%d个职工的职工年龄:\n",i+1);scanf("%d",&zg[i].age);printf("请输入第%d个职工的职工性别:\n",i+1);scanf("%s",zg[i].sex);printf("请输入第%d个职工的职工学历:\n",i+1);scanf("%s",zg[i].xueli);printf("请输入第%d个职工的职工出生年月:(格式:年,月,日)\n",i+1);scanf("%s",zg[i].time);printf("请输入第%d个职工的职工家庭地址:\n",i+1);scanf("%s",zg[i].add);printf("请输入第%d个职工的职工电话:\n",i+1);scanf("%s",zg[i].tel);if(flag==0)i++;}while(i<n+m);n=n+m;printf("输入完毕!\n\n");baocun();paixu();}c语言课程设计全文共22页,当前为第16页。voidshanchu()c语言课程设计全文共22页,当前为第16页。{inti,j,flag;chars1[30];system("COLOR5f");printf("\n=================================\n");printf("|1.按工号删除|\n");printf("|2.按姓名删除|\n");printf("|3.退出系统|\n");printf("=================================\n");while(1){flag=0;printf("请输入子菜单编号:");scanf("%d",&j);switch(j){case1:printf("请输入将要删除的职工的工号:\n");scanf("%s",s1);for(i=0;i<n;i++)if(strcmp(zg[i].code,s1)==0){flag=1;for(j=i;j<n-1;j++)zg[j]=zg[j+1];break;}if(flag==0)printf("该工号不存在!\n");if(flag==1){printf("删除成功!!\n");n--;}break;case2:printf("请输入将要删除的职工的姓名:\n");scanf("%s",s1);c语言课程设计全文共22页,当前为第17页。for(i=0;i<n;i++)c语言课程设计全文共22页,当前为第17页。if(strcmp(zg[i].name,s1)==0){flag=1;for(j=i;j<n-1;j++)zg[j]=zg[j+1];}if(flag==0)printf("该姓名不存在!\n");if(flag==1){printf("删除成功!!\n");n--;}break;case3:baocun();return;default:printf("请在1--3之间选择\n");}}}voidxianshi(){inti;FILE*fp;if((fp=fopen("zg.txt","rb"))==NULL){printf("打开文件时错误!请按任意键退出!");system("pause");exit(0);}printf("所有职工的信息为:\n\n");printf("职工工号职工姓名年龄性别学历出生年月家庭地址电话\n");c语言课程设计全文共22页,当前为第18页。printf("============================================================================\n");c语言课程设计全文共22页,当前为第18页。for(i=0;fread(&zg[i],sizeof(structrecord),1,fp)!=0;i++)printf("%6s%7s%6d%5s%7s%9s%8s%10s\n",zg[i].code,zg[i].name,zg[i].age,zg[i].sex,zg[i].xueli,zg[i].time,zg[i].add,zg[i].tel);}voidtuichuxitong(){system("COLOR3f");printf("【职工信息管理系统】\n");printf("\n");printf("\n");printf("制作:第六组\n");printf("================================================================================\n");printf("●☆☆Bye-Bye☆☆●\n");printf("\n");printf("★★★★★★★★★★★★★★★★★★★★★★★★★★★★\n");printf("\n");printf("\n");printf("☆☆☆☆☆☆☆☆☆☆☆\n");printf("\n");printf("★★★★★★★★★★★\n");printf("沈★后\n");printf("阳★勤\n");printf("工★部\n");printf("程★职\n");printf("学★员\n");printf("院★表\n");printf("★\n");printf("★\n");printf("^@^谢谢使用^@^\n");}voidhuanyingye()c语言课程设计全文共22页,当前为第19页。{system("COLOR6f");c语言课程设计全文共22页,当前为第19页。printf("\n");printf("\n");printf("\n");printf("★沈阳工程学院★\n");printf("\n");printf("\n");printf("\n");printf("\n");printf("\n");printf("尊敬的用户:您好!\n");printf("\n");printf("\n");printf("欢迎使用\n");printf("\n");printf("\n");printf("☆-【职工信息管理系统】-☆\n");printf("\n");}voidcaidan(){intnum;system("COLOR1f");printf("\n\n职工信息管理系统\n\n");printf("================================================================================\n");printf("===============制作:第六组===========\n");printf("\n");printf("==============系统功能菜单==============\n");printf("=======友情提醒:查询前请刷新系统!======\n");printf("========================================\n");c语言课程设计全文共22页,当前为第20页。printf("

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论