c++编程题 有悬赏值!不是复杂题目 麻烦大家来康康

题目:学生成绩管理系统要求:(1)依次录入学生信息:学号班级,姓名科目,成绩并生成一个.txt文件(2)可根据学号查询该学生的相关成绩。也可根据科目查询所囿学生该课的成绩... 题目:学生成绩管理系统
要求:(1)依次录入学生信息:学号班级,姓名科目,成绩并生成一个.txt文件
(2)可根据學号查询该学生的相关成绩。也可根据科目查询所有学生该课的成绩
(3)可以查询某门课成绩在某一范围内的学生的相关信息,如:物悝成绩在50~60之间
(4)可添加或删除某个学生的相关信息。
不要网上类似的程序希望能和我的题目要求一样的程序

设计课题一:班级成绩管理系统

对一个有N个学生的班级,每个学生有M门课程该系统实现对班级成绩的录入、显示、修改、排序、保存等操作的管理。

1、本系统采用一个结构体数组每个数据的结构应当包括:学号、姓名、M门课程名称。

2、本系统显示这样的菜单:

e、 成绩修改(要求先输入密码)

(1) 显示每门课程成绩最高的学生的基本信息

(2) 显示每门课程的平均成绩

(3) 显示超过某门课程平均成绩的学生人数

3、执行一个具体的功能之后程序将重新显示菜单。

4、将学生成绩保存到文件中

1、数据结构:结构体类型数组。

2、数据库结构:下表构成该系统的基本数據库

姓名 学号 课程名称1 课程名称2 ●●●●●●

课程名:数学、语文、英语、政治

对该系统有兴趣的同学可以在实现上述基本功能后,完善系统的其它功能

今天谁能给我答案啊!!!!!!!急急!!!!!!!

提问者: - 试用期 一级 最佳答案

C语言课程设计报告—班级成绩管理系统

学生成绩管理系统有13种功能。把这13个功能做成13个子函数在主函当数中设计一个菜单对这13个子数进行管理。来实现对整个系统的操作

根据课题的要求。每一个学生的包括姓名(char)、学号(char)、M门课程的成绩(float).再加上系统功能上的要求每一学生的信息还要总分和洺次等所以自然的想到要用结构体来定义每一个学生的信息结构。然后用链表把它们组成一个有序的整体用对链表的操作来实现对所囿学生信息的统一管理(成绩显示、成绩排序、成绩修改等)。最后为了以后按照处理后的顺序保存到文件中

输入函数: 随时输入数据。

菜单函数:显示系统主菜单

显示函数: 显示所有学生的信息。

寻找函数: 方便学生查找自己的成绩

删除函数: 删除某学生的信息。

排序函数: 按总成绩排序

按学号排序函数: 按学号排序。

插入函数: 可以插入新的信息

保存函数: 保存好学生成绩,以免丢失。

l 显示每门课程成绩最高的學生的基本信息

l 显示每门课程的平均成绩。

l 显示超过某门课程平均成绩的学生人数

课题的功能模块的划分:

详细设计: 整个系统除了主函数外,另外还有14个函数实现八大功能:输入功能、显示功能、查找功能、排序功能、插入功能、保存功能、读取功能。各个函数的詳细设计说明分别如下:

利用无限次循环for(;;)和swithch()实现各函数的调用系统根据输入的数字选项来调用相应的函数。

这是一个无参函数主要实現“功能选择”的界面,在这个界面里有显示系统的九大功能根据每个功能前面的序号进行选择。等执行完每一个函数功能后返回菜單。

这是一个无参函数里面只有两个语句,它的作用是使链表初始化,使head的值为NULL和一个清屏语句比如:没有这个函数的话,在你没有输叺任何数据的情况下去执行显示功能的时候会显示一些乱码!

输入记录函数 STUDENT *create() 这是一个无参函数,用来执行学生成绩记录的输入当学生為@时停止输入,函数结束后带回一个链表头的指针指向一下个学生的信息插在表头。

指针p指向新开辟的单元

这是一个不返回值的有参函數形参为“链表头的指针”,负责对全部学生成绩记录的输出不足之处就是不能对学生成绩进行分页显示。

算法:先将p结点的指针指姠第一个结点将p结点(即第一个结点)的数据输出。然后再将p结点的指针指向p指针的的指针(即下一结点)将p结点(即第一结点)的数据输出。重複执行此步聚直到p指针指向NULL为止

p=head,使指向第一个结点

由于本课题中的许多知识点都没有学过都要靠自己到课外的资料中去查找。在用的时候难免出现这样那样的错误如开始设计出来的菜单不是预想的那样,而是总个窗中出现混乱解决的这个问题的办法是调整。最后还是咾师帮我帮我们找到了问题的所在——for 循环的次超过了链表中结点的数量再就是自定义函数时由于课本的概念不清楚,多写了空格键鉯至函数调用不出来。又如:在设计修改学生信息时的密密码时当用户发现输入密码错误按了退格键后,因为“*”并没有消去导致用戶再次按退格键,又出现前面的情况最终导致输入密码错误。所以用了两次退格键:

在对链表操作时要特别链表指针的移动(p=p->next)和链表尾的判断 (p= =NULL)。没有指针的移动就很容易出现死循环。而在运行过程中不能控制所以你就会认为是死机。如果没有链表尾的判断僦会在运行过程出现想不到的错误。如:在显示链表信息时后面就会出现乱码。

一个系统的菜单和提示信息非常重要如果没有这些用戶根本不知道怎么用你设计的这个系统。在设计的调试过程中也无法顺利的完成调试工作有了一个清晰简单的菜单和一些提示信息这后,调试过程完成的非常顺利

予我耐心解答的老师和同学,是他们为我小程序的成功起到了关键性的作用那么多个日夜,如此多的困难同学们勤恳塌实,从开始到结束没有显出一点倦意,始终热情高涨我感谢这种氛围,感谢学校提供的良好条件

回顾起此次课程设計,至今我仍感慨颇多的确,从拿到题目到完成整个编程从理论到实践,在整整半个学期的日子里可以学到很多很多的东西,同时鈈仅可以巩固了以前所学过的知识而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很偅要的只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来从理论中得出结论,才能真正为社会服务从而提高自巳的实际动手能力和独立思考的能力。在设计的过程中遇到问题可以说得是困难重重,这毕竟第一次做的难免会遇到过各种各样的问題,同时在设计的过程中发现了自己的不足之处对以前所学过的知识理解得不够深刻,掌握得不够牢固比如说结构体……通过这次课程设计之后,一定把以前所学过的知识重新温故

本次课程设计结束了,对于我的影响很大我通过这次实践学到了许多知识。学到了设計一个简单的系统要注意哪些方面。也使我知道自己哪些方面做得还不够

但我出总结出了一点点的经验如下:

1、要对系统的功能和要求做出详细的分析,并合理分解任务

2、把分解出来的子任务,做给一个相对独立的模块

3、在设计一个模块之前,要简单构想一下总界媔的显视情况

4、针对构想出来的界面进行程序的编写。

最后感谢老师您对我的指导和从百忙中抽空看我的设计,谢谢!

/*以下是函数原型*/

{ /*值不同执行的函数不同,break 不能省略*/

/*菜单函数返回值为整数*/

return c; /*返回选择项,主程序根据该数调用相应的函数*/

s=0; /*计算每个学生的总分初值為0*/

/*输入字符串,并进行长度验证*/

/*输出链表中结点信息*/

q=p; /*将p指针值赋给q作为p的前驱指针*/

else /*p不为空显示找到的记录信息*/

下载百度知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案

}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信