用C语言编学生成绩管理系统.docx

上传人:scccc 文档编号:13695454 上传时间:2022-01-22 格式:DOCX 页数:10 大小:20.29KB
返回 下载 相关 举报
用C语言编学生成绩管理系统.docx_第1页
第1页 / 共10页
用C语言编学生成绩管理系统.docx_第2页
第2页 / 共10页
用C语言编学生成绩管理系统.docx_第3页
第3页 / 共10页
用C语言编学生成绩管理系统.docx_第4页
第4页 / 共10页
用C语言编学生成绩管理系统.docx_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《用C语言编学生成绩管理系统.docx》由会员分享,可在线阅读,更多相关《用C语言编学生成绩管理系统.docx(10页珍藏版)》请在三一文库上搜索。

1、用C语言编学生成绩管理系统学生成绩管理系统实验报告一、实验内容实验名称:学生成绩管理系统实验目的:1) 利用所学的三种程序基本结构以及数组、用户自定义函数进行一个简单管理系统的设计,进一步理解和掌握c 语言的语法以及三种基本程序结构的综合应用。2)通过程序中涉及的排序、查找、求和等操作加深对算法、程序设计思路、常用程序设计技巧的理解与掌握,逐步培养学生的程序开发能力。实验的基本要求:学号(字符串)、姓名(字符串)、数学成绩(整型)、程序设计成绩(整型) 。设计程序完成以下五项功能:新建数据档案、添加数据、删除数据、对输入的数据进行排序和查询。二、算法说明将数学成绩、程序设计成绩、姓名、学号分别

2、设一个数组,其中姓名和学号是二维数组,其他是一维数组,并设为全局变量方便使用。分别将各个功能以及菜单等功能设置为函数,介时调用。主函数中运行菜单函数。菜单函数中提供选择用语句调用函数。1、新建数据()。用文档导入的方式导入数据。2、添加数据()。界面出现相应信息并提示输入。输入完成后用语句选择是否再添加数据。如果选择是则继续调用函数,否则调用函数继续选择其他功能。用全局变量m 来计算增加的次数。3、删除数据()。 用语句选择是按姓名删除还是按学号删除或者返回主菜单。按姓名则输入想要删除的对象,用语句找到对象后,再用赋值的方法将下一个信息往上一个位置移动,达到覆盖要删除的信息的效果。最后用循环输

3、出。按学号删除也是同理。用全局变量m 来计算删除的次数4、排序()。用语句选择是按数学成绩(),程序设计成绩()还是总分()。按数学成绩排序时用冒泡排序的方法排列数学成绩,同时其他的姓名、学号的信息的下标也随着数学成绩的下标变动, 最后用语句一起输出。按程序设计以及总分的具体算法也是同理。每个程序后调用()返回上级子菜单以便继续操作。5、查询()。也用语句选择是按学号()、姓名 ()、数学成绩()、程序设计成绩()、总分()查找。按学号则是输入学号,用语句查找,输出该位置所对应的成绩以及姓名。按姓名、成绩查找也是同理。按成绩查找时用到0 标记,找到至少一个1 输出, 否则 0 时输出不存在。并

4、重新调用()函数返回上级子菜单。6、退出。三、程序清单N 5M 1001; /* 全局变量*/M;M;50M;50M;M;()/* 菜单函数*/();();();();();(欢迎使用学生成绩管理系统!n);(1.新建数据n2.添加数据n3.删除数据n4.排序n5.查询n6.退出n请选择:);();()1: ();2: ();3: ();4: ();5: ();6;()/*新建数据*/ *;(,r);/*导入文件*/(0)(,i);(,r);(0)(,i);(,r);(0)(,i);(,r);(0)(,i);(0)iii;J总分 n);(学号姓名数学程序设计(0)(%4s%4d%4d%4dni

5、iiii);(成功!n);();()/* 添加数据函数*/;J(请输入信息);(请输入学号:);(m);(请输入姓名:);(m);(请输入数学成绩:);(m);(请输入程序设计成绩:);(m);mmm;(0)(niiiii);(是否继续?);();();(yY)();();()/* 按名字删除函数*/ ();J210;(输入您要删除姓名:);(2);(01)(2i)0)()(j1);(j1);j1;j1;(0)(%4d %4d%4d niiiii);( 是否继续?);();();(yY) ();();()/* 按学号删除函数*/();10;(输入您要删除的学号:);();(01)(i)0) (

6、) (j1);(j1);j1;j1;(0)(%4d %4d%4d niiiii);( 是否继续?);();();(yY) ();();()/* 删除数据总函数*/;(1.按姓名n2.按学号n3.返回主菜单n请选择:);();() 1: ();2();3(); ;()/* 按数学成绩排序函数*/ ();1;11002100;(01)(01)(i1)1i;i1;11;(1i);(i1);(11);(2i);(i1);(12);(按数学成绩排序n);(0)(%4dniii);();()/*按程序设计成绩排序*/();1;11002100;(01)(01)(i1)1i;i1;11;(1i);(i1);

7、(11);(2i);(i1);(12);(按程序设计成绩排序n);(0)(%4dniii);();()/* 按总分排序*/();1;11002100;(0)(01)(i1)1i;i1;11;(2i);(i1);(12);(1i);(i1);(11);( 总分排序);(0)(%4dniii);();()/* 排序的总函数*/;(1.数学成排序n2.程序设计成绩排序n3.总分排序n4.返回主菜单n);();()1();2();3();4();() /*按学号查找函数*/ ();10 0;(请输入学号:);();(0)(i)0)1;(%4d %4d %4dniiiii);(0) ( 不存在 n 欢迎

8、继续使用!n)();( 欢迎继续使用!n)();()/* 按姓名查找函数*/();210 0;(请输入姓名:);(2);(0)(2i)0)1(%4d %4d %4dniiiii);(1) ( 欢迎继续使用!n)(); ( 不存在 n 欢迎继续使用!n)();()0;/* 按数学成绩查找*/();(请输入数学成绩:);();(0)(i) 1;(%4d %4d %4dniiiii);();(0) ( 不存在 n 欢迎继续使用!n);();()0;/* 按程序设计成绩查找*/();(请输入程序设计成绩:);();(0)(i) 1;(%4d %4d %4dniiiii);();(0) ( 不存在 n

9、欢迎继续使用!n);();/* 按总分查找*/();()0;(请输入总分:);();(0)(i) 1;(%4d %4d %4dniiiii); ();(0) ( 不存在 n 欢迎继续使用!n);();()/*查找总函数*/;(1.学号查询n2.姓名查询n3.数学成名查询n4.程序设计成绩查询n5.总分查询n6.返回 主菜单 n);();()1();2();3();4();5();6();() /* 主函数 */ ();四、运行结果运行界面,显示“欢迎您使用学生成绩管理系统”,并提供菜单,供选择。1、新建数据:输出按序号排列的学生姓名、成绩。2、添加数据:输入相关信息后,界面输出添加后的学号、姓

10、名、成绩(数学,程序设计和总分)列表。并提示成功,要求选择是否继续,若继续则继续先前输出的提示信息,否则返回显示主菜单。3、删除数据:输入相关信息后,界面输出删除后的学号、姓名、成绩(数学,程序设计和总分)列表。并提示成功,提供选择是否继续。若继续则继续先前输出的提示信息,否则返回上级子菜单。4、排序。界面要求选择按数学成绩还是程序设计成绩排序,或者返回主菜单。选择数学成绩后, 输入数学成绩,最后显示按数学成绩的、从高到低排列的各个学生的学号、姓名和数学成绩。程序设计也是类似。排序完成后,提示成功并返回上级子菜单,继续操作。5、查询。界面要求选择按学号、姓名、数学成绩,程序设计成绩还是总分查询

11、。输入学号后输出该学号所对应的学生姓名和各个成绩。姓名查找是类似的。按数学成绩查找则是输入数学成绩,则输出大与该分数的所有人的学号以及相应的姓名和成绩。程序设计成绩和总分查找类似。所有查找若找不到就显示“不存在”。最后提示成功,要求选择是否结束操作还是返回主菜单。6、退出。退出后显示“感谢您使用学生成绩管理系统”五、分析与思考刚开始拿到题目时,感觉很棘手。但是慢慢分析后,我发现一切都是可以解决的。我和其他人不一样,别人是分步调试完成,而我是全部编好再进行调试,一运行大批的错误提示让我迷茫了。首先第一个问题,函数调用时我写上了如(, , , , ) ,发现是错的,查书之后才发现是不对的应该是(,

12、 , , ) 。而且设为全局变量更简洁;还有第93 行中的 (k); 运行的时候是对的,而调试时就不成功,原因是没有取地址符号。这些都是书本上的基础知识,我觉得基础知识非常重要不能小看,c 语言是门严谨的学科,一点小错误都会导致全局的失败,应当十分小心。在第70 行中的()也是我找了好就才发现的重要问题。没有()语句,前面的回车键就当作一个字符出入中,运行时就直接显示下面的操作,系统默认选了其他。所以用一个空的()避开了这个问题。一直坐在电脑前面调试是一件十分辛苦的事,但是调试成功的结果让人很欣慰忘记了劳累。我觉得老师布置的这个作业是很有道理的,她让我们学会了自己摸索,自己尝试其中的滋味:找不出所时的泄气,求该成功时的喜悦;也让我们喜欢上了这门课!10 / 9

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1