C语言课程设计.docx
- 文档编号:8158361
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:22
- 大小:196.70KB
C语言课程设计.docx
《C语言课程设计.docx》由会员分享,可在线阅读,更多相关《C语言课程设计.docx(22页珍藏版)》请在冰豆网上搜索。
C语言课程设计
┊┊
课程设计
服务课程名称:
C语言
系:
专业:
班级:
学号:
姓名:
指导教师:
课程设计周次:
起始日期:
2008.6.16至2008.6.20
目录
1.C语言课程设计成绩评定表…………………….02页
2.C语言课程设计任务书………………………….03页
3.程序基本框架结构图…………………………….04页
4.程序设计说明书………………………………….05页
5.源代码清单……………………………………….06页
6.课程设计总结…………………………………….18页
┊┊
课程设计成绩评定表
班级
学号
姓名
项目组
第3组
项目组长
项目组组员
本人工作简介:
此次编程我的主要工作是排序部分的编译。
组长评语:
在这次的C语言课程设计中,做了程序的“排序”部分的编写。
不但程序编写的没有错误,而且在小组的讨论中积极发表观点,起到了举足轻重的作用。
成绩评定标准
A
B
C
D
E
报告完成情况
很好
好
比较好
一般
不好
纪律表现
很好
好
比较好
一般
不好
程序功能性
强
较强
一般
较弱
弱
界面美观性
很好
好
一般
较差
不好
程序可操作性
很好
好
一般
较差
不好
答辩表现
很好
好
一般
较差
不好
所起作用程度
80%以上
60%以上
60%以下
最后成绩
优秀
A>=5
C<=0
良好
A>=3
C<=0
中等
B>=2
C>=4
及格
A=0
B=0
C>=3
不及格
A=0
B=0
C<=2
E>=1
负责指导教师:
(签名)
指导教师:
(签名)
班C语言课程设计任务书
一、设计目的
通过本次课程设计使学生进一步加深对C语言课程内容的理解,初步掌握一般应用程序的开发方法和步骤,进一步了解与掌握C语言的编程方法和技巧,提高学生用C语言解决实际问题的能力。
二、设计要求
1、认真查阅参考书、资料2、遵守课程设计时间安排
3、按时上机,认真调试程序4、认真完成课程设计报告
三、课设报告装订内容及顺序
1、课程设计封皮2、目录
3、课程设计成绩评定表4、课程设计任务书
5、程序基本框架图6、程序设计说明书
7、源代码清单8、课设总结与心得
四、设计题目
学生档案管理
宾馆住宿管理
★
学生宿舍管理
学生成绩管理
学生选修课程系统
工资管理
五、时间安排(一周:
从06月16日到06月20日)
1、查阅资料及程序设计(1天)2、程序编制及调试(3天)
3、成绩评定(0.5天)3、打印报告(0.5天)
六、参考文献
1、《C语言程序设计》李淑华/李贞编大连理工大学出版社
2、《C语言程序设计》孙连科/姚大鹏编辽海出版社
3、《C++时尚编程百例》网冠科技编.机械工业出版社
4、《TURBOC实用大全》徐金梧等编.机械工业出版社
程序基本框架结构图
程序设计说明书
首先,组员讨论分工,确定我所负责的部分是排序函数。
我们初步确定数据结构全为字符型,分:
学号,姓名,性别,专业,寝室共5个数据项。
确定需要编译的系统功能为:
输入,追加,显示,查询,排序五项功能。
排序:
从文件中读取文件中的数据并记录数据个数。
用for循环将数据单挑比较,strcmp(a[j].qsh,a[j-1].qsh)<0当此值为真a[j].qsh的长度小于a[j-1].qsh两者交换,实现数据升序排列,属冒泡排序。
for(i=0;i 再输出显示在屏幕上,供用户使用。 源代码清单 #include"stdio.h" #include"stdlib.h" #include"string.h" #include"ctype.h" typedefstructstudent//寝室学生记录结构 {charxho[20];//学号 charname[20];//姓名 charsex[5];//性别 characlass[20];//专业 charqsh[10];//寝室 }STU; voidmenu();//菜单选择函数 voidinput();//输入函数 voidlist();//显示函数 voidappend();//追加记录函数 voidsearch(); voidsort(); voidsearchxho();//按照学号查找的函数 voidsearchname();//按照姓名查找的函数 voidsearchaclass();//按照专业查找的函数 voidsortxho();//按照学号排序的函数 voidsortaclass();//按照专业排序的函数 voidsortqsh();//按照寝室排序的函数 voidwronglist1(); voidwronglist2(); voidwronglist3(); main() { menu(); } voidmenu() {inta; do {system("cls"); printf("\t\t欢迎使用学生宿舍管理系统\n"); printf("\t\t***************************************\n"); printf("\t\t*编制人员: 汪*李*迟**赵***\n"); printf("\t\t*版本号: 072-3*\n"); printf("\t\t***************************************\n"); printf("\n\n\n\n\t\t\t学生宿舍管理系统\n"); printf("\t\t***************************************\n"); printf("\t\t*1--------输入*\n"); printf("\t\t*2--------显示*\n"); printf("\t\t*3--------追加*\n"); printf("\t\t*4--------查询*\n"); printf("\t\t*5--------排序*\n"); printf("\t\t*0--------退出系统*\n"); printf("\t\t***************************************\n"); printf("\t\t请选择: "); scanf("%d",&a); switch(a) {case1: input();break; case2: list();break; case3: append();break; case4: search();break; case5: sort();break; case0: printf("\t\t***********谢谢使用***************\n");exit(0); default: printf("\t\t\t输入错误请重新输入: "); } }while(a! =0); } voidinput() {inti,n; STUa; FILE*fp; system("cls"); if((fp=fopen("e: \\file1","wb"))==NULL) {printf("error! \n");exit(0);} printf("\n\t请输入学生人数: "); scanf("%d",&n); for(i=0;i {printf("\n\n\t学号: "); scanf("%s",a.xho); printf("\t姓名: "); scanf("%s",a.name); printf("\t性别: "); scanf("%s",a.sex); printf("\t专业: "); scanf("%s",a.aclass); printf("\t寝室号: "); scanf("%s",a.qsh); fwrite(&a,sizeof(STU),1,fp); } printf("\n\n\t********************输入完毕*******************\n"); fclose(fp); printf("\n\n\n\n\n\t*****************请按<0>键返回**************\n"); do{scanf("%d",&i); switch(i) {case0: menu();break; default: printf("\t\t\t输入错误请重新输入: "); } }while(i! =0); } voidlist() {STUa; inti; FILE*fp; system("cls"); if((fp=fopen("e: \\file1","rb"))==NULL) {printf("error! \n");exit(0);} printf("\n\n\n\t*******************************************************\n"); printf("\t\t学号\t\t姓名\t性别\t专业\t寝室\n\n"); while(fread(&a,sizeof(STU),1,fp)! =0) printf("\t\t%s\t\t%s\t%s\t%s\t%s\n",a.xho,a.name,a.sex,a.aclass,a.qsh); fclose(fp); printf("\n\n\n\t*****************请按<0>键返回*******************\n"); do{scanf("%d",&i); switch(i) {case0: menu();break; default: printf("\t\t\t输入错误请重新输入: "); } }while(i! =0); } voidappend() {STUt; inti,n,m; FILE*fp; system("cls"); if((fp=fopen("e: \\file1","ab"))==NULL) {printf("error! \n");exit(0);} printf("\t\t\t追加学生人数: "); scanf("%d",&n); for(i=0;i {printf("\n\n\t学号: "); scanf("%s",t.xho); printf("\t姓名: "); scanf("%s",t.name); printf("\t性别: "); scanf("%s",t.sex); printf("\t专业: "); scanf("%s",t.aclass); printf("\t寝室号: "); scanf("%s",t.qsh); fwrite(&t,sizeof(STU),1,fp); } fclose(fp); printf("\n\n\n\t*****************请按<0>键返回*******************\n"); do{scanf("%d",&m); switch(m) {case0: menu();break; default: printf("\t\t\t输入错误请重新输入: "); } }while(m! =0); } voidsearch() {inta; do {system("cls"); printf("\n\n\n\n\t\t\t学生宿舍管理查询系统\n"); printf("\t\t***************************************\n"); printf("\t\t*1--------按学号查询*\n"); printf("\t\t*2--------按姓名查询*\n"); printf("\t\t*3--------按专业查询*\n"); printf("\t\t*0--------返回*\n"); printf("\t\t***************************************\n"); printf("\t\t请选择: "); scanf("%d",&a); switch(a) {case1: searchxho();break; case2: searchname();break; case3: searchaclass();break; case0: menu(); default: printf("\t\t\t输入错误请重新输入: "); } }while(a! =0); } voidsort() {inta; do{system("cls"); printf("\n\n\n\n\t\t\t学生宿舍管理排序系统\n"); printf("\t\t***************************************\n"); printf("\t\t*1--------按学号排序*\n"); printf("\t\t*2--------按专业排序*\n"); printf("\t\t*3--------按寝室排序*\n"); printf("\t\t*0--------返回*\n"); printf("\t\t***************************************\n"); printf("\t\t请选择: "); scanf("%d",&a); switch(a) {case1: sortxho();break; case2: sortaclass();break; case3: sortqsh();break; case0: menu(); default: printf("\t\t\t输入错误请重新输入: "); } }while(a! =0); } voidsortxho() {inti,j,m,n=0; STUa[10],t; FILE*fp; system("cls"); if((fp=fopen("e: \\file1","rb"))==NULL) {printf("error! \n");exit(0);} while(fread(&a[n],sizeof(STU),1,fp)! =0) n++; for(i=0;i for(j=n;j>i;j--) if(strcmp(a[j].xho,a[j-1].xho)<0) {t=a[j];a[j]=a[j-1];a[j-1]=t;} printf("\n\n\t***************按学号排序************************\n"); printf("\t\t学号\t姓名\t性别\t专业\t寝室\n\n"); for(i=0;i printf("\t\t%s\t%s\t%s\t%s\t%s\n",a[i].xho,a[i].name,a[i].sex,a[i].aclass,a[i].qsh); fclose(fp); printf("\n\n\n\t*****************请按<0>键返回*******************\n"); do{scanf("%d",&m); switch(m) {case0: sort();break; default: printf("\t\t\t输入错误请重新输入: "); } }while(m! =0); } voidsortaclass() {inti,j,n=0,m; STUa[10],t; FILE*fp; system("cls"); if((fp=fopen("e: \\file1","rb"))==NULL) {printf("error! \n");exit(0);} while(fread(&a[n],sizeof(STU),1,fp)! =0) n++; for(i=0;i for(j=n;j>i;j--) if(strcmp(a[j].aclass,a[j-1].aclass)<0) {t=a[j];a[j]=a[j-1];a[j-1]=t;} printf("\n\n\t***************按专业排序************************\n"); printf("\t\t学号\t姓名\t性别\t专业\t寝室\n\n"); for(i=0;i printf("\t\t%s\t%s\t%s\t%s\t%s\n",a[i].xho,a[i].name,a[i].sex,a[i].aclass,a[i].qsh); fclose(fp); printf("\n\n\n\t*****************请按<0>键返回*******************\n"); do{scanf("%d",&m); switch(m) {case0: sort();break; default: printf("\t\t\t输入错误请重新输入: "); } }while(m! =0); } voidsortqsh() {inti,j,n=0,m; STUa[10],t; FILE*fp; system("cls"); if((fp=fopen("e: \\file1","rb"))==NULL) {printf("error! \n");exit(0);} while(fread(&a[n],sizeof(STU),1,fp)! =0) n++; for(i=0;i {for(j=n;j>i;j--) if(strcmp(a[j].qsh,a[j-1].qsh)<0) {t=a[j];a[j]=a[j-1];a[j-1]=t;} } printf("\n\n\t***************按寝室排序************************\n"); printf("\t\t学号\t姓名\t性别\t专业\t寝室\n\n"); for(i=0;i printf("\t\t%s\t%s\t%s\t%s\t%s\n",a[i].xho,a[i].name,a[i].sex,a[i].aclass,a[i].qsh); fclose(fp); printf("\n\n\n\t*****************请按<0>键返回*******************\n"); do{scanf("%d",&m); switch(m) {case0: sort();break; default: printf("\t\t\t输入错误请重新输入: "); } }while(m! =0); } voidsearchname() {inti,n=0,m; charname[20]; STUa[20]; FILE*fp; system("cls"); printf("\n\n\t\t请输入要查找的姓名: "); scanf("%s",name); if((fp=fopen("e: \\file1","rb"))==NULL) {printf("error! \n");exit(0);} while(fread(&a[n],sizeof(STU),1,fp)! =0) n++; for(i=0;i if(strcmp(a[i].name,name)==0) {printf("\n\n\t*****************查询信息**********************\n"); printf("\t\t学号\t姓名\t性别\t专业\t寝室\n\n"); printf("\n\t\t%s\t%s\t%s\t%s\t%s\n",a[i].xho,a[i].name,a[i].sex,a[i].aclass,a[i].qsh); } elsewronglist1(); fclose(fp); printf("\n\n\n\t*****************请按<0>键返回*******************\n"); do{scanf("%d",&m); switch(m) {case0: sort();break; default: printf("\t\t\t输入错误请重新输入: "); } }while(m! =0); } voidwronglist1() {inta; printf("\n\n\t\t没有要查找的信息,请确认后重新查询"); printf("\n\t\t是否重新查找(否0/是1): "); scanf("%d",&a); switch(a) {case0: search();break; case1: searchname();break; default: printf("输入错误! 系统将自动返回");search(); } } voidsearchxho() {inti,n=0,m; charxho[20]; STUa[20]; FILE*fp; system("cls"); printf("\n\n\t\t请输入要查找的学号: "); scanf("%s",xho); if((fp=fopen("e: \\file1","rb"))==NULL) {printf("error! \n");exit(0);} while(fread(&a[n],sizeof(STU),1,fp)! =0) n++; for(i=0;i {if(strcmp(a[i].xho,xho)==0)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计