《论制定中国行政程序法的宪法基础上探讨与研究》由会员分享,可在线阅读,更多相关《论制定中国行政程序法的宪法基础上探讨与研究(11页珍藏版)》请在金锄头文库上搜索。
1、家里蹲大学(校徽) 软件学院 课程设计报告题 目: 学生信息管理系统时 间: 2009/6/18至2009/7/3指导教师: *姓 名: * 学 号: 079993461.目的与要求 1.1 课程设计目的提高自身综合利用C语言进行程序设计的能力。利用标准函数进行创新设计。熟悉和掌握C语言程序的编写。1.2 系统功能主控菜单模块。每个功能模块用函数实现,主控模块在函数中实现。数据录入模块。添加一个学生的基本情况(键盘输入)并保存到文件中。查询模块。按学号,班级,姓名等查询学生情况。修改模块。更改一个学生的某一项或多项信息。删除模块。删除一个学生的基本情况并保存。输出模块。查看已经录入的学生信息。
2、1.3要求设计的程序要操作简单,实用性强。上机前要求认真分析题目要求,完成总体设计和详细设计。在上述要求达到后,进行创新设计,增加功能等。进行功能模块分析,采用良好的风格编写程序代码 ,记录调试过程,给出电子文档报告(见任务书要求)。2设计报告 2.1问题分析与总体设计l 设计过程中数据文件中的数据以记录为单位,每条记录包括学生的学号,姓名,班级,联系电话,高考成绩等数据项,在系统中定义相对应的结构体类型,以及以该类型为元素类型的数组和文件。 2.1.1 功能设计 该程序主通过综合运用swith语句ifwhile语句等C语言知识完成了对学生信息的输入,查找,删除,插入,排序等功能。 2.1.2
3、 模块划分 该程序主要分为6个模块,分别对学生信息进行输入,查找,添加,删除等功能2.2 详细设计l 该部分包括每个模块功能,以及每个模块的实现所用到的c语言知识和部分代码。 2.2.1各模块的功能l 主控菜单模块本模块主要用于提示用户输入数据对学生信息进行管理,向用户表明各个指令所能完成的功能。l 学生信息输入模块学生信息输入模块主要运用指针知识实现对学生信息进行输入的功能。部分代码如下:L *p,*t,*k; printf( 请输入要插入的学生信息的学生学号 姓名 分数:n); scanf(%ld%s%lf,&n,a,&s); p=(L *)malloc(sizeof(L); p-stud
4、ent.num=n; p-student.score=s; strcpy(p-student.name,a); if(!(*r) *r=p; (*r)-next=NULL; return ; l 查询模块查询模块实现了用姓名查找和用学号查找的功能。l 删除模块该部分运用switch语句case4对学生信息进行删除。部分代码如下:case 4: del(&r); out(r); printf(Testing function 1nPress any key to continuen); getchar(); getchar(); break;l 输出模块输出模块在菜单menu函数中,用于输出主菜
5、单提示信息,提示用户按照该信息对学生信息进行相对应的管理。部分代码如下:void menu() printf(n 学生信息管理系统n); printf(n 菜单nn); printf(n 1输入学生信息n); printf(n 2查找某学号的学生信息n); printf(n 3查找某姓名的学生信息n); printf(n 4删除某学号的学生信息n); printf(n 5插入新的学生信息n); printf(n 6按分数降序排列输出n); printf(n 7输出n); printf(n 0退出n); printf(n 请选择您要执行的选项:n); 2.3 测试数据和调试报告 通过与同学的探讨
6、,商议,互相学习,完成了对程序编写,修改以及对程序的调试,最终我实现了这个程序的运行。 2.4软件使用说明1.用户把程序代码放在编辑器中,运行结果如下图所示:2.用户可按照输出所示输入对应指令完成对信息的输入,查询,删除以及修改等操作。3.对数据进行保存。3.课程设计小结在这次课程设计中,通过从各个方面查找资料,与同学的探讨,强化了计算机的基础知识,基本熟练掌握了C语言程序编写的方法与技巧。学会了综合运用所学的C语言知识,编制和调试程序。加强了自身编写程序与使用编程语言的能力。通过对代码的分析,我了解到部分大型软件的编程习惯,深深的感受到平时的编程习惯与良好的编程习惯相差甚远,我决定在以后的编
7、程过程中养成良好的编程习惯,这样不仅有助于自己所编的程序清晰明了更便于对错误的修改同时还有助于别人来理解你的程序。同时通过这次课程设计我还提高了通过从各方面查找资料来丰富自己的知识的能力。最后感谢指导老师的悉心指导。附:程序完整代码#include #include #include struct stud long num; char name20; double score; ; typedef struct stucode struct stud student ; struct stucode *next; L; void menu(); void createlist(struct
8、stucode *r); void out(struct stucode *r); void search1(struct stucode *r); void search2(struct stucode *r); void del(struct stucode *r); void insert(struct stucode *r); void sort(struct stucode *r); void main() char choose; int flag=1; struct stucode *r=NULL; while(flag) system(cls); menu(); choose=
9、getchar(); switch(choose) case 1: createlist(&r); out(r); printf(Testing function 1nPress any key to continuen); getchar(); getchar(); break; case 2: search1(r); printf(Testing function 1nPress any key to continuen); getchar(); getchar(); break; case 3: search2(r); printf(Testing function 1nPress an
10、y key to continuen); getchar(); getchar(); break; case 4: del(&r); out(r); printf(Testing function 1nPress any key to continuen); getchar(); getchar(); break; case 5: insert(&r); out(r); printf(Testing function 1nPress any key to continuen); getchar(); getchar(); break; case 6: sort(&r); out(r); pri
11、ntf(Testing function 1nPress any key to continuen); getchar(); getchar(); break; case 7: out(r); printf(Testing function 7nPress any key to continuen); getchar(); getchar(); break; case 0: flag=0; printf(The end.n); break; default: printf(nWrong Selection!(选择错误,请重选!)n);getchar();getchar(); void crea
12、telist(struct stucode *r) struct stucode *p,*t; long n; char a20; double s; if(*r) *r=NULL; printf( n请输入:n 学号(请按学号升序排列) 姓名 分数 (若要结束请输入三个零)n); scanf(%ld%s%lf,&n,a,&s); if(n=0) return; p=(L *)malloc(sizeof(L); p-student.num=n; strcpy(p-student.name,a); p-student.score=s; p-next=NULL; *r=p; scanf(%ld%s
13、%lf,&n,a,&s); while(n) t=p; p=(L *)malloc(sizeof(L); p-student.num=n; strcpy(p-student.name,a); p-student.score=s; p-next=NULL; t-next=p; scanf(%ld%s%lf,&n,a,&s); void search1(struct stucode *r) long x; if(!r) printf(没有学生信息可查询!n); return ; printf( 请输入要查询的学生信息的学生学号:n); scanf(%ld,&x); while(r&r-student.num!=x) r=r-next; if(r=NULL) printf(Error! No such student !n); else printf(%ld %s %.2lfn,r-student.num,r-student.name,r-student.score); void search2(struct stucode *r) char m20; if(!r) printf(没有学生信息可查询!n); return ; printf(