1、C语言课程设计课 程 设 计服务课程名称: C语言 系: 专业: 班级: 学号: 姓名: 指导教师: 课程设计周次: 起始日期:2008.6.16至2008.6.20 目录1. C语言课程设计成绩评定表.02页2. C语言课程设计任务书.03页3. 程序基本框架结构图.04页4. 程序设计说明书.05页5. 源代码清单.06页6. 课程设计总结.18页课程设计成绩评定表班级学号姓名项目组第3组项目组长项目组组员本人工作简介:此次编程我的主要工作是排序部分的编译。组长评语:在这次的C语言课程设计中,做了程序的“排序”部分的编写。不但程序编写的没有错误,而且在小组的讨论中积极发表观点,起到了举足轻
2、重的作用。成绩评定标准ABCDE报告完成情况很好好比较好一般不好纪律表现很好好比较好一般不好程序功能性强较强一般较弱弱界面美观性很好好一般较差不好程序可操作性很好好一般较差不好答辩表现很好好一般较差不好所起作用程度80%以上60%以上60%以下最后成绩优秀A=5C=3C=2C=4及格A=0B=0C=3不及格A=0B=0C=1负责指导教师: (签名)指导教师: (签名) 班C语言课程设计任务书一、设计目的通过本次课程设计使学生进一步加深对C语言课程内容的理解,初步掌握一般应用程序的开发方法和步骤,进一步了解与掌握C语言的编程方法和技巧,提高学生用C语言解决实际问题的能力。二、设计要求1、认真查阅
3、参考书、资料 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语言程序设计孙连科/姚大鹏编
4、 辽海出版社3、C+时尚编程百例网冠科技编.机械工业出版社4、TURBO C 实用大全徐金梧等编. 机械工业出版社程序基本框架结构图程序设计说明书首先,组员讨论分工,确定我所负责的部分是排序函数。我们初步确定数据结构全为字符型,分:学号,姓名,性别,专业,寝室共5个数据项。确定需要编译的系统功能为:输入,追加,显示,查询,排序五项功能。排序:从文件中读取文件中的数据并记录数据个数。用for循环将数据单挑比较,strcmp(aj.qsh,aj-1.qsh)0当此值为真aj.qsh的长度小于aj-1.qsh两者交换,实现数据升序排列,属冒泡排序。for(i=0;in;i+) printf(tt%s
5、t%st%st%st%sn,ai.xho,ai.name,ai.sex,ai.aclass,ai.qsh);再输出显示在屏幕上,供用户使用。源代码清单#includestdio.h#includestdlib.h#includestring.h#includectype.htypedef struct student /寝室学生记录结构 char xho20; /学号 char name20; /姓名 char sex5; /性别 char aclass20; /专业 char qsh10; /寝室 STU; void menu(); /菜单选择函数 void input(); /输入函数 v
6、oid list(); /显示函数 void append(); /追加记录函数 void search(); void sort(); void searchxho(); /按照学号查找的函数 void searchname(); /按照姓名查找的函数 void searchaclass(); /按照专业查找的函数 void sortxho(); /按照学号排序的函数 void sortaclass(); /按照专业排序的函数 void sortqsh(); /按照寝室排序的函数 void wronglist1(); void wronglist2(); void wronglist3();
7、main() menu(); void menu() int a; do system(cls); printf(tt 欢迎使用学生宿舍管理系统n); printf(tt*n); printf(tt* 编制人员:汪* 李* 迟* 赵* *n); printf(tt* 版本号:072-3 *n); printf(tt*n); printf(nnnnttt学生宿舍管理系统n); printf(tt*n); printf(tt* 1-输入 *n); printf(tt* 2-显示 *n); printf(tt* 3-追加 *n); printf(tt* 4-查询 *n); printf(tt* 5-
8、排序 *n); printf(tt* 0-退出系统 *n); printf(tt*n); printf(tt请选择:); scanf(%d,&a); switch(a) case 1:input(); break; case 2:list(); break; case 3:append(); break; case 4:search(); break; case 5:sort(); break; case 0:printf(tt*谢谢使用*n);exit(0); default:printf(ttt输入错误请重新输入:); while(a!=0);void input()int i,n; ST
9、U a; FILE *fp; system(cls); if(fp=fopen(e:file1,wb)=NULL) printf(error!n);exit(0); printf(nt请输入学生人数:); scanf(%d,&n); for(i=0;in;i+) printf(nnt学号:); 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
10、(&a,sizeof(STU),1,fp); printf(nnt*输入完毕*n); fclose(fp); printf(nnnnnt*请按键返回*n); doscanf(%d,&i); switch(i) case 0:menu();break; default:printf(ttt输入错误请重新输入:); while(i!=0);void list() STU a; int i; FILE *fp; system(cls); if(fp=fopen(e:file1,rb)=NULL) printf(error!n);exit(0); printf(nnnt*n); printf(tt学号
11、tt姓名t性别t专业t寝室nn); while(fread(&a,sizeof(STU),1,fp)!=0) printf(tt%stt%st%st%st%sn,a.xho,a.name,a.sex,a.aclass,a.qsh); fclose(fp); printf(nnnt*请按键返回*n); doscanf(%d,&i); switch(i) case 0:menu();break; default:printf(ttt输入错误请重新输入:); while(i!=0);void append()STU t; int i,n,m; FILE *fp; system(cls); if(fp
12、=fopen(e:file1,ab)=NULL) printf(error!n);exit(0); printf(ttt追加学生人数:); scanf(%d,&n); for(i=0;in;i+) printf(nnt学号:); 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)
13、; printf(nnnt*请按键返回*n); doscanf(%d,&m); switch(m) case 0:menu();break; default:printf(ttt输入错误请重新输入:); while(m!=0);void search()int a; dosystem(cls); printf(nnnnttt学生宿舍管理查询系统n); printf(tt*n); printf(tt* 1-按学号查询 *n); printf(tt* 2-按姓名查询 *n); printf(tt* 3-按专业查询 *n); printf(tt* 0-返回 *n); printf(tt*n); pr
14、intf(tt请选择:); scanf(%d,&a); switch(a)case 1:searchxho(); break; case 2:searchname(); break; case 3:searchaclass(); break; case 0:menu(); default:printf(ttt输入错误请重新输入:);while(a!=0);void sort()int a;do system(cls); printf(nnnnttt学生宿舍管理排序系统n); printf(tt*n); printf(tt* 1-按学号排序 *n); printf(tt* 2-按专业排序 *n)
15、; printf(tt* 3-按寝室排序 *n); printf(tt* 0-返回 *n); printf(tt*n); printf(tt请选择:); scanf(%d,&a); switch(a) case 1:sortxho(); break; case 2:sortaclass(); break; case 3:sortqsh(); break; case 0:menu(); default:printf(ttt输入错误请重新输入:); while(a!=0);void sortxho()int i,j,m,n=0; STU a10,t; FILE *fp; system(cls);
16、if(fp=fopen(e:file1,rb)=NULL) printf(error!n);exit(0); while(fread(&an,sizeof(STU),1,fp)!=0) n+; for(i=0;ii;j-) if(strcmp(aj.xho,aj-1.xho)0) t=aj;aj=aj-1;aj-1=t; printf(nnt*按学号排序*n); printf(tt学号t姓名t性别t专业t寝室nn); for(i=0;in;i+) printf(tt%st%st%st%st%sn,ai.xho,ai.name,ai.sex,ai.aclass,ai.qsh); fclose(f
17、p); printf(nnnt*请按键返回*n); doscanf(%d,&m); switch(m) case 0:sort();break; default:printf(ttt输入错误请重新输入:); while(m!=0);void sortaclass()int i,j,n=0,m; STU a10,t; FILE *fp; system(cls); if(fp=fopen(e:file1,rb)=NULL) printf(error!n);exit(0); while(fread(&an,sizeof(STU),1,fp)!=0) n+; for(i=0;ii;j-) if(str
18、cmp(aj.aclass,aj-1.aclass)0) t=aj;aj=aj-1;aj-1=t; printf(nnt*按专业排序*n); printf(tt学号t姓名t性别t专业t寝室nn); for(i=0;in;i+) printf(tt%st%st%st%st%sn,ai.xho,ai.name,ai.sex,ai.aclass,ai.qsh); fclose(fp); printf(nnnt*请按键返回*n); doscanf(%d,&m); switch(m) case 0:sort();break; default:printf(ttt输入错误请重新输入:); while(m!
19、=0);void sortqsh()int i,j,n=0,m; STU a10,t; FILE *fp; system(cls); if(fp=fopen(e:file1,rb)=NULL) printf(error!n);exit(0); while(fread(&an,sizeof(STU),1,fp)!=0) n+; for(i=0;ii;j-) if(strcmp(aj.qsh,aj-1.qsh)0) t=aj;aj=aj-1;aj-1=t; printf(nnt*按寝室排序*n); printf(tt学号t姓名t性别t专业t寝室nn); for(i=0;in;i+) printf(
20、tt%st%st%st%st%sn,ai.xho,ai.name,ai.sex,ai.aclass,ai.qsh); fclose(fp); printf(nnnt*请按键返回*n); doscanf(%d,&m); switch(m) case 0:sort();break; default:printf(ttt输入错误请重新输入:); while(m!=0);void searchname()int i,n=0,m; char name20; STU a20; FILE *fp; system(cls); printf(nntt请输入要查找的姓名:); scanf(%s,name); if
21、(fp=fopen(e:file1,rb)=NULL) printf(error!n);exit(0); while(fread(&an,sizeof(STU),1,fp)!=0) n+; for(i=0;in;i+) if(strcmp(ai.name,name)=0) printf(nnt*查询信息*n); printf(tt学号t姓名t性别t专业t寝室nn); printf(ntt%st%st%st%st%sn,ai.xho,ai.name,ai.sex,ai.aclass,ai.qsh); else wronglist1(); fclose(fp); printf(nnnt*请按键返回
22、*n); doscanf(%d,&m); switch(m) case 0:sort();break; default:printf(ttt输入错误请重新输入:); while(m!=0);void wronglist1()int a; printf(nntt没有要查找的信息,请确认后重新查询); printf(ntt是否重新查找(否0/是1):); scanf(%d,&a); switch(a)case 0: search(); break; case 1: searchname(); break; default: printf(输入错误!系统将自动返回); search();void searchxho()int i,n=0,m; char xho20; STU a20; FILE *fp; system(cls); printf(nntt请输入要查找的学号:); scanf(%s,xho); if(fp=fopen(e:file1,rb)=NULL) printf(error!n);exit(0); while(fread(&an,sizeof(STU),1,fp)!=0) n+; for(i=0;in;i+) if(strcmp(ai.xho,xho)=0)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1