学生成绩管理系统课程设计(论文)(编辑修改稿)内容摘要:
\t\t☆☆☆李世正☆☆☆ )。 printf( \ n\ n)。 getchar()。 } 结束语提示 是在退出程序时对制作人的显示,它可以在主界面里按“ 0”键退出如图 图 系统退出时的结束语展示 19 4 系统 测试 测试分析主要是对学生成绩管理系统的一次运行,从中找出漏洞,让程序更加完美。 增加学生记录测试 测试学生记录增加时,随机选取几个姓名和成绩进行测试,程序运行正常如图 图 增加学生记录 打开文件测试 20 打开文件测试是将以前保存好的文件打开,经过测试,程序能正常打开文件如图 图 4. 2 打开文件 学生成绩排序 学生排序测试时,成绩能正常排列 如图 和图 21 图 按照名次排序 22 图 按照学号排序 查询学生成绩记录 查询学生成绩测试时,成绩能正常显示如图 和 图 为按照学号查找学生记录 23 图 按照学生姓名查找 退出学生成绩查询系统 退出系统是,结束语正常显示如图 程序能正常退出 24 图 退出学生查询系统测试 25 5 课程设计总结 这个系统提供了便捷的操作,让管理者可以 方便的记载学生的成就,信息,数据。 这 是一个综合性较强,较实际的一个编程软件。 通过一周的编程及调试程序,感觉自己对 C 的知识有加深了一层,在这个科技飞速发展的时代,掌握电脑的应用是如今每一位大学生所必须掌握的,掌握电脑知识对于现代人来说都有很重要的作用,掌握电脑知识也是一种本领,也是一种生存技能,可以在以后的工作铺好坚实的道路。 刚开始的时候程序出现很多问题,有时候感觉很苦恼、很烦躁,到那时我并没有放弃,我知道学计算机的就是很枯燥无味,需要耐心,我还是坚持了下来。 本系统的重点就是要理清思路,如何实现想要的结果,所以分成了几大类模块,我做的学生 成绩管理系统主要包括这几个模块,增加、查询、排序、修改、删除、统计、显示等几大类模块,其他我感觉还比较容易,但就是排序这一块,我参考了很多资料,有冒泡法排序、选择法排序、交换法排序等等,其他的我都不太熟悉,所以这里我用了选择法排序,实现想要的结果。 后想说的是,调试程序真的很关键。 调试程序需要较大的耐心。 可能调试程序的时间比自己编写整个程序的时间还要长,下的工夫还要深,但这是一个程序员 必须了解、接受的事实。 通过这个实训的练习,我也学到了很多东西,特别是加深了 C 的理解和应用。 但是为了更好的发展,我还是会好好学习 ,更深层的掌握专业知识。 并且在这两周的实训期间,当在课程设计过程中遇到模棱两可的问题时,同学们能过各抒己见,尊重他人见解,使我能够综 26 合各种观点,取长补短,虚心借鉴,使程序做得更尽人意;当遇到我们都无法解决的问题时,有辅导老师耐心讲解,详细地指出了程序中的错误,不仅帮我解决了当前编程中的问题,而且使我加深了对 C 语言的认识,为以后的学习铺平了道路。 感谢他们,他们不仅是我收获了更多的知识,丰富了学习经验,而且使我养成了“严谨治学”的学习态度,使我拥有了面对困难的勇气,并且体会到了浓浓的师生情。 这必定是我人生中 一笔宝贵的财富,再次感谢他们。 另外,关于删除,这个系统提供了普通的按照学号来删除该学生的个人信息及相关成绩的功能。 当然,再不知道学号的情况下,这个系统还提供了按照姓名来删除的条件。 (这样一来,有同名的就会有点麻烦,在这方面还需要改进 ) 27 参考文献 [ 1]谭浩强 .C 程序设计 .北京:清华大学出版社, 20xx,4; [ 2] C 语言程序设计实例精编; [ 3] C 语言程序设计课本; 28 附录 系统源代码: ifndef H_S TUDEN T_HH define H_S TUDEN T_HH include include string. h include malloc. h define L EN s izeo f(st r uct me ssa ge_s t ude nt ) /* 一个结构体数组元素的长度 */ define numsubs 5 /*学科数目 */ typedef struct message_stude nt /* 结构体定义 */ { char number[6]。 char name[20]。 char sex[4]。 float subject[nums ubs]。 float score。 float average。 int index。 } student。 extern int numstus。 /*学生数目 */ extern student *pointer。 /* 指向结构体数组 */ extern int lens。 int menu_selec t( )。 /*函数声明 */ int openfile (st ude nt stu[])。 /* 打开 文件 */ 29 int findrecord(s t ude nt stud[])。 /* 查找信息 */ int w r it etot e xt( st ude nt st ud[ ])。 /* 将所有记录写入文件 */ void wele()。 /*欢迎界面 */ void display1()。 /*展示制作人信息 */ void showtable()。 /*展示在桌面 */ void sort(student stu[])。 /* 将学生排序 */ void deleterecord(st ude nt stu[],int i)。 /* 删 除信息 */ void addrecord(student stud[])。 /* 增加记录 */ vo id d isp la y( st ude nt s t ud[], int n1, int n2)。 /* 显示数据*/ void amendrecord(st ude nt stud[])。 /* 修改记录 */ void count(stude nt stud[])。 /* 计算名次 */ void sortnum( st ude nt stud[])。 void sortnum2( st ude nt stud[])。 void sortname (st ude nt stud[])。 void sortname2(st ude nt stud[])。 void sortcount(st ude nt stud[])。 void sortcount2(st ude nt stud[])。 void statistic (st ud e nt stud[])。 /* 输出统计信息 */ void display1()。 endif int menu_selec t( ) /*展示在桌面上 */ { char c。 printf( \ n\ n)。 pr int f( ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ \n)。 pr int f( ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ \n)。 pr int f( ┏ ━ ━ ━ ━ ━ ━ ━ ━ ━ ┳ ━ ━ ━ ━━━━━┓ \n)。 pr int f( ☆┃ 1. 增加学生记录 ┃ 息 ┃☆ \n)。 30 pr int f( ┣ ━ ━ ━ ━ ━ ━ ━ ━ ━ ╋ ━ ━ ━ ━━━━━┫ \n)。 pr int f( ☆┃ 2. 查询学生记录 ┃ 6. 打开文件 ┃☆ \n)。 pr int f( ┣ ━ ━ ━ ━ ━ ━ ━ ━ ━ ╋ ━ ━ ━ ━━━━━┫ \n)。 pr int f( ☆┃ 3. 修改学生记录 ┃ 件 ┃☆ \n)。 pr int f( ┣ ━ ━ ━ ━ ━ ━ ━ ━ ━ ╋ ━ ━ ━ ━━━━━┫ \n)。 pr int f( ☆┃ 4. 学生纪录排序 ┃ 录 ┃☆ \n)。 pr int f( ┣ ━ ━ ━ ━ ━ ━ ━ ━ ━ ┻ ━ ━ ━ ━━━━━┫ \n)。 print f( ☆┃ ☆☆ 0. 退 出 系 统 ☆☆ ┃☆ \n)。 pr int f( ┗ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━━━━━┛ \n)。 pr int f( ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ \n)。 pr int f( ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ \n)。 printf( \ n\ n)。 printf( 请选择 (0 8) :)。 c=getchar()。 getchar()。 /*让程序停留 */ return (c 39。 039。 )。 } //include int findrecord(s t ude nt stud[]) /* 查找信息 */ { char str[2]。 int i,num。 if(numst us ==0) { printf( 没 有 可 被 查 找 的 记 录 \ n)。 31 return 1。 } else { pr int f( 以何种方式查找。 \n1. 学号 \t2. 姓名 \t3. 名次 \n)。 gets(str)。 if(str[0]==39。 139。 ) /*按学号查找 */ { printf( 请 输 入 学 号 :)。 gets(str)。 for(i=0。 i= nums t us。 i++) if(strc mp(s tr, st ud[ i]. number)= =0) { display(st ud, i, i)。 break。 } else continue。 } else if(str[0]==39。 239。 ) /* 按姓 名查找 */ { printf( 请 输 入 姓 名 :)。 gets(str)。 for(i=0。 i= nums t us。 i++) if(strc mp(s tr, st ud[ i]. na me)==0 ) { display(st ud, i, i)。 break。 } else continue。 } else if(str[0]==39。 339。 ) /* 按名次查找 */ { printf( 请 输 入 名 次 :)。 scanf(%d ,amp。 num)。 getchar()。 /*让程序停留 */ for(i=0。 i= nums t us。 i++) 32 if(num==st ud [ i]. i nde x) { display(st ud, i, i)。 break。 } else continue。 } if(i nums t us) { printf( 没 有 查 找 所 要 的 信 息。 \ n)。 return 1。 } return i。 } } //include head. h int openfile (st ude nt stu[]) /* 打开文件 */ { int i=0,j。 F ILE *fp。 char filena me[20],s tr [2]。 if(numst us !=0) {。学生成绩管理系统课程设计(论文)(编辑修改稿)
相关推荐
备份。 系统开发步骤从大体上可以分为这些,以上进行的是对开发步骤的简要分析,开发过程中肯定要比这个所说的要细,因为根据不同的需要要进行一些改变,如果不改变是不适应实际应用中的要求的,每个单位大小能力都不同,自然需要根据自己的能力来进行不同的开发。 5 第四章 系统设计 系统 功能模块图 如图所示 学生日常综合测评管理系统 数据查询 数据维护 数据录入 报表打印 退出 操行录入 考勤录入 辅导员分
13.墙面勾缝应采用加浆勾缝,并宜采用细砂拌制的 1: 水泥砂浆。 石墙勾缝也可采用水泥石灰砂浆或掺入麻絮、纸筋等的石灰或青灰浆。 14 墙面勾缝应横平竖直、深浅一致、搭接平整并压实抹光,不得有丢缝、开裂和粘结不牢等现象。 15 雨天施工应防止基槽灌水和雨天冲刷砂浆,砂浆的稠度应适当减低,砌筑高度不宜超过 1. 2 米。 收工时,应覆盖砌体表面。 16 砂浆的拌制必须采用机械搅拌。
背景下我们无疑智能管理系统、软件工具也将得到催化。 所以系统的研发势在必 行。 现状分析 数码的丰盈盛世, 智能终端经过跨界风 盛行的催化推进,数码是远远不能从硬件方面来 评定 数码的好与坏, 可行性的智能互联功能是另一评价数码的标准,互联网服务 已经 是数码产品的必备功能。 从数码行业趋势来看 学校学生管理系统从以前手工管理的方式走向网络化。 这是 可行性的方式。 即优化管理工作效率
rver 技术外, Active Server 还能 用于 MS Windows NT Workstation 和 MS Windows 95/98 中的 Personal Web Server(PWS) 的构件, 所以 无论安装的是 NT 还是 WIN95/98 ,都 一定要 在原系统上安装支持 ASP 的服务器端环境,才 可以 使机器得以运行 .asp 文件 [3]。 因为现在 绝大 部分
编写数据库应用程序,它把绝大部分的数据库操作封装在七个对象中,在 ASP 页面编程时只要调用相应的对象 就可执行相应的数据库操作。 这七个对象是: Conncction、 Command、 Parameter、 Property、 Rccordset、 Fileld、和 Err。 使用 ADO访问数据库的 ASP脚本程序首先使用 Connection(连接 )对象建立并管理与远程数据库的连接,当
对于 WEB 服务器上运行的程序最常见和最实用的任务是访问数据库。 ASP 内Database Access 组件能很容易的通过 ADO 访问存储在服务器端的数据库或者其他的数据信 息。 ADO 是 Active)(Data Objects 的简称。 ADO 是微软所支持的对数据库进行操学生成绩管理系统的设计与实现 13 作的主要方法。 它具有占用磁盘空间少、内存支出低、反应速度快等优点