学生信息管理系统 (2).doc
《学生信息管理系统 (2).doc》由会员分享,可在线阅读,更多相关《学生信息管理系统 (2).doc(20页珍藏版)》请在沃文网上搜索。
1、实验题目:学生个人信息管理系统一、实验目的1、 经过对C语言程序设计的学习,我们学习了理论知识,了解了C语言程序设计的思想,这些知识都为我们的下一步学习打下了坚实的基础。通过课程设计,一方面是为了检查我们一个学期来我们学习的成果,另一方面也是为了让我们进一步的掌握和运用它,同时也让我们认清自己的不足之处和薄弱环节,加以弥补和加强。2、通过C语言课程设计,了解高级程序设计语言的结构,掌握基本的程序设计过程和技巧,掌握基本的分析问题和利用计算机求解问题的能力,具备初步的高级语言程序设计能力。为后续课程的学习、毕业设计和将来的工作打下坚实基础。 3、 掌握文件和文件指针的概念以及文件的定义方法,认识
2、文件打开、关闭、读、写等文件基本操作函数。 4、掌握结构体类型变量、数组的定义和使用。 5、了解指针和链表的概念,掌握指针的定义和使用指针变量的方法以及链表的正确用法。灵活使用链表来储存学生信息。6、 掌握数组的定义、引用以及输入输出的方法、通过字符数组存储字符串,进一步使用字符串。 7、掌握C语言数据类型,如何定义一个整型、字符型和实型的变量,以及对它们赋值的方法。 8、熟练运用if语句和switch语句以及嵌套应用。涉及循环调用的,了解并掌握三种控制语句while、do-while和for语句。9、学习并掌握C语言定义函数的基本方法、声明函数及调用函数的方法和过程。二、实验内容我设计的是“
3、学生个人管理系统”主要是针对在校学生的管理,方便学校对学生的管理。其中包括对存储信息的添加、查询、删除、修改的功能,而每条存储的项又包括对学号、姓名、性别、民族、年龄、电话、住址的管理。 三、需求分析为了更方便学校对学生的管理,处理好每个学生的个人信息,加强学校对学生的管理,我在课程设计时特选择了该系统。学生个人信息管理系统是个学校管理的基础,而传统的学校管理系统里面存放过多的信息,却缺少一些简单快速的查找功能,导致要找到所需信息很麻烦,浪费很多时间。针对这一问题,我在自己设计的简单的学生跟人信息管理系统的程序中,特别注意这一点。性能描述:各种功能都可以满足;程序相对较小,因而运行时反应比较迅
4、速,不存在响应不及时地问题。四、概要设计1、方案设计 对系统进行分析,给出结构图2、数据结构说明程序中定义的数据类型结构体(各个成员的作用)3、模块功能说明 对各个模块进行功能的描述五、详细设计 各模块流程图, 函数之间相互调用的图示 ,程序设计过程及编码。主函数 输入密码密码正确确?确确?确进入界面正确错误选择选项执行程序结束开始 1、查询模块 开始输入所查学号信息找到输出学生信息是返回主菜单未找到该信息2、添加模块开始 添加学生信息 录入要添加的学生信息返回主菜单写入文件返回 回 3.修改模块开始录入要修改的学号信息存在是否修改后的信息写入文件主菜单输入信息开始打开文件4.录入模块 结束写
5、入文件5.打印模块开始打开文件从文件中读出并显示关闭文件结束6.排序模块开始打开文件打开文件打开文件输出排序结果按学号排序结束7.删除模块 未找到信息开始输出所要删除的学号信息找到删除学生信息返回主菜单六、调试情况,设计技巧及体会(重点)1、这只是一个小小的简单的学生个人信息管理系统,功能都是很有限,有限的功能里又存在着很多问题。如果再增加个分组管理或排序的话可能会更好。2、遇到的问题: 编译和调试工具:一开始选择VC/C+,但其中没有包含很多常用的函数,如clrscr(),getch(),以及头文件alloc.h等,这给编译和调试带来了麻烦,但是最后通过向老师请教后,使用其他的函数代替了这部
6、分函数,达到了相同的结果。 3在设计过程中的感受开始开始的时候,基本没什么头绪,老师提示加上参考课本后有了一点思路,然后开始一点一点慢慢设计,然而还是遍地撒网,到处是错误,导致连一小部分也没办法运行出来。后来采用分模块一步步设计的方法,效果立马就出来了,这小小地增加了我做下去的信心。不过后来,由于缺少耐心,急于求成,导致了我出现了好多初学者易犯的错误。比如变量定义类型出现错误、花括号不配对、输入变量时忘了取地址、还有由于小小的拼写错误而自己又粗心大意地检查导致的花费了一上午的时间没什么进展的情况等等。这些问题甚至让我产生了放弃的想法。不过后来,在看到别的同学的认真样后,我还是坚持下来了。没有足
7、够的耐力和信心就很难坚持对课程设计每一步的顺利进行。在这次课程设计中我也知道了自己的动手能力不强,在设计过程中不能够把书本上的知识与实践相结合,这点有待加强练习!通过本次的课程设计,我有了一些独立思考并综合运用所学相关知识的能力,并且在老师和同学的热心帮助下解决了以前常常一些容易被忽略的问题,学到了很多。这就更加要求我在以后的学习中进一步有针对的学习,继续坚持实践,强化上机动手编程能力,闯过理论与实践相结合的难关!3、编写程序是一个很严谨的过程,容不得半点马虎和大意。并且一定要养成一个良好的习惯。比如说每个层次的花括号应对齐,这样即不容易多写或遗漏花括号,有能帮助检查出错之处,可以节省很多时间
8、。4、编写程序遇到问题时一定要多思考,要有耐心,敢于尝试,多总结。再自己经过反复修改和尝试之后还没解决问题时与老师同学商量讨论才会收获更多。5、虚心地向比自己优秀的同学学习,学他们程序中的长处,运用到自己的程序中,这样会进步更快。6、在设计的过程中,面临了很多问题,主要原因还是基本知识不熟悉,平时练得比较少。感觉手比较生,还有文件方面的知识欠缺,不能灵活运用,还有指针方面的知识很生疏。最初的感觉是心有余而力不足,但是,随着不断的练习和学习,不断的请教老师和同学,不断的看书了解基本知识,慢慢的有点适应了,程序写完之后运行一下子出现了好多个错误,让我感到很无奈,心慌。但在老师的细心指导下,一点点调
9、试,最终正确。编译通过后,在运行时有出现错误,不能读写,不过后来都解决了。经历了这次课程设计,不仅在意志力方面我得到了锻炼,更是对我的学习提供了帮助。在C语言程序设计的过程中我知道了自己在以前的学习中有很大的不足导致在设计过程中出现了很多的问题,有些地方看不懂也不知道怎么去设计,但是在设计过程中也学习了很多,虽然一时不能完全掌握以前没有学好的知识,不过也给自己敲响了警钟,在学习中不可以伏于表面,要想学好每一门课程都要踏踏实实,做什么都不是给别人看的,都是要更好地掌握该门知识,提高自身修养,提高自己的能力!为以后的工作打下良好的知识基础和技能基础!最后衷心的感谢指导老师们!谢谢! 七、 源程序清
10、单(略,详见电子版实验报告)/*头文件*/#include #include #include #define N sizeof(M)struct stulong num;char name20;float score1,score2,score3;float aver;typedef struct s_typestruct stu student ;struct s_type *next;M;/*各函数的声明*/void login();void menu();void createlist(struct s_type *w);float averege( float a,float b,f
11、loat c);void output(struct s_type *w);void search_num(struct s_type *w);void search_name(struct s_type *w);void del(struct s_type *w);void insert(struct s_type *w);void sort_score(struct s_type *w);void sort_num(struct s_type *w);/*文件的打开、创建函数*/struct s_type *read_inf()FILE *fp;fp=fopen(c:Softgrade.t
12、xt,wt+);if(fp=fopen(c:Softgrade.txt,wt+)=NULL)printf(读文件出错!);getch();exit(1);/*文件的保存函数*/void save(struct s_type *w)struct s_type *p1;FILE *fp;fp=fopen(c:Softgrade.txt,wt+);if(fp=NULL)printf(Error!press any key to return.n);getch();exit(1);for(p1=w-next;p1!=NULL;p1=p1-next)fwrite(p1,N,1,fp);fp=fopen(
13、d:grade.txt,wt+);for(p1=w-next;p1!=NULL;p1=p1-next)fread(p1,N,1,fp);fclose(fp);/*登陆密码*/void login()char mi;char s7;int i,j,t;for(t=1;t=3;t+)printf(密码:);for(i=0;inext=NULL;p2=w; /*将申请到的空间作为头指针*/while(!feof(fp) /*循环读数据直到文件尾结束*/p1=(M *)malloc(N);fread(p1,N,1,fp);p2-next=p1;if(!feof(fp)p2=p1;free(p1);p2
14、-next=NULL;fclose(fp);return(w);/*创建学生信息列表*/void create(struct s_type *w)struct s_type *p,*q;long n;char choice,a20;float r,s,t;if(*w) *w=NULL;printf(n请输入学生信息:n);printf(n 学号: );scanf(%ld,&n);printf(n 姓名: );scanf(%s,a);printf(n 语文成绩: );scanf(%f,&r);printf(n 数学成绩: );scanf(%f,&s);printf(n 英语成绩: );scanf
15、(%f,&t);p=(M *)malloc(N);p-student.num=n;strcpy(p-student.name,a);p-student.score1=r;p-student.score2=s;p-student.score3=t;p-student.aver=averege(r,s,t);p-next=NULL;*w=p;while(1)printf(n 学号: );scanf(%ld,&n);printf(n 姓名: );scanf(%s,a);printf(n 语文成绩: );scanf(%f,&r);printf(n 数学成绩: );scanf(%f,&s);printf
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生信息管理系统 2 学生 信息管理 系统