学生成绩的程序

学生成绩的程序
学生成绩的程序

写一个统计学生成绩的程序。分别用子函数求出:(1)输入n个学生m门功课的成绩(2)每个学生的平均分;(3)每门功课的平均分;(4)找出最高分所对应的学生和功课。

要求:(1)由四个单独的子函数完成上述功能

(2)用动态存储分配思想完成数组的定义

代码:

#include

#include

#include

using namespace std;

struct Course {

string c_name;

int c_number;

float m_score;

Course(){}

Course(string name, int number, float score) {

if(name != " " && number > 0)

{

c_name = name; c_number = number; m_score = score;

}

else

cout << "Error!!!" << endl;

}

}*p_course;

struct Student {

string m_name;

int m_number;

Course * p_course;

Student(){}

Student(string name, int number, Course *course) {

if(name != " " && number > 0)

{

m_name = name; m_number = number; p_course=course;

}

else

cout << "Error!!!" << endl;

}

}*p_student;

int stu_n, cou_m;

void printStudentInformation()

{

int n,m,i,j;

cout << "Please input the number of student£o" << endl;

cin >> n;

cout << "Please input the course of student: " << endl;

cin >> m;

Student *p_stu = new Student[n];

Course *p_cou = new Course[m];

for( i=0; i

p_stu[i].p_course = new Course[m];

cout << "Please input number and name of every student£o" << endl;

for( i=0; i

cin >> p_stu[i].m_number >> p_stu[i].m_name;

cout << "Please input number and name of every course£o" << endl;

for( i=0; i

cin >> p_cou[i].c_number >> p_cou[i].c_name;

cout << "Please input course garde of student: " << endl;

cout << endl;

cout <<"*********************************************************" << endl;

for( i=0; i

cout << " " << p_cou[i].c_name;

cout << endl;

for( i=0 ;i

{

cout << p_stu[i].m_name << " ";

for( j=0; j

cin >> p_stu[i].p_course[j].m_score;

}

cout << endl;

cout <<"*********************************************************" << endl;

p_student = p_stu;

p_course = p_cou;

stu_n = n;

cou_m = m;

}

void getStudentAverage()

{

int i,j;

float *p_average=new float[stu_n];

float sum=0;

for( i=0; i

{

for( j=0; j

{

sum+=p_student[i].p_course[j].m_score;

}

p_average[i] = sum/cou_m;

sum=0;

}

cout << fixed;

cout.precision(1);

cout <<"*********************************************************" << endl;

cout << endl;

cout << "Name " << "Number " << "AverageGrade " << endl;

cout << setiosflags(ios::left);

for( i = 0; i < stu_n ; i++)

cout<< setw(15) << p_student[i].m_name << setw(10) << p_student[i].m_number << setw(12) << p_average[i] << endl;

cout << endl;

cout <<"*********************************************************" << endl;

cout << endl;

}

void getCourseaver()

{

int i,j;

float *p_couAver= new float[cou_m];

float sum = 0;

for( i=0; i

{

for(j=0; j

sum += p_student[j].p_course[i].m_score;

p_couAver[i] = sum/stu_n;

sum = 0;

}

cout << "The average grade of course: " << endl;

cout <<"*********************************************************" << endl;

cout << endl;

for( i=0; i

cout << p_course[i].c_name << " ";

cout << endl;

cout << fixed ;

cout.precision(1);

for( i=0; i

cout << setw(9) << p_couAver[i];

cout << endl;

cout <<"*********************************************************" << endl;

cout << endl;

}

void findBest()

{

int i,j;

float max = 0;

int stu_i, cou_j;

for( i=0; i

for( j=0; j

if(p_student[i].p_course[j].m_score > max)

{

max = p_student[i].p_course[j].m_score;

stu_i=i;

cou_j=j;

}

cout << "Student information of high grade: " << endl;

cout <<"*********************************************************" << endl;

cout << endl;

cout << setiosflags(ios::left);

cout << "Grade " << " Source " << "Name " << "Number " << endl;

cout<< setw(8) << p_student[stu_i].p_course[cou_j].m_score << setw(12) << p_course[cou_j].c_name << setw(14)<< p_student[stu_i].m_name << setw(8) << p_student[stu_i].m_number << endl;

cout << endl;

cout <<"*********************************************************" << endl;

cout << endl;

}

int main()

{

int kind;

cout << endl;

cout << " ************************************" << endl << endl;

cout << endl;

cout << " 1. Input information of student " << endl << endl;

cout << endl;

cout << " 2. All of students average grade " << endl << endl;

cout << endl;

cout << " 3. All of source average grade " << endl << endl;

cout << endl;

cout << " 4. High grade " << endl << endl;

cout << endl;

cout << " 0. Quit " << endl << endl;

cout << endl;

cout << " ************************************" << endl;

cout << endl;

do

{

cout << "Input the number of your choise: " ;

cin >> kind;

cout << endl;

if(kind > 4 || kind < 0)

cout << "Input error @ please again!!!" << endl;

switch(kind)

{

case 1:

printStudentInformation();

break;

case 2:

getStudentAverage();

break;

case 3:

getCourseaver();

break;

case 4:

findBest();

break;

}

}while( kind != 0 );

return 0;

}

C语言程序设计学生成绩管理系统实验报告

移通学院 C语言程序设计报告书设计名称:学生成绩管理系统 专业: 指导老师: 班级: : 学号: 座号: 时间

一、实验目的 1.在编辑应用程序过程中,逐步加深对C语言编程的理解; 2.加强实践的能力,动手能力,同时进一步对所学的知识 进行巩固; 3.培养初步编程的能力,为以后的学习奠定基础。 二、实验容 运用所学的C语言知识编辑一个应用程序:学习成绩管理系统 三.系统软件环境: 本程序主要运行在:Visual C++ 6.0 Turbo C/C++ 3.0 四.课程设计题目: 学生成绩管理系统 程序说明:有N个学生,每个学生的数据包含学号(不重复)、、三门课的成绩及平均成绩,试设计一学生成绩管理系统,使之能提供以下功能: (1)主菜单

(2)各菜单项功能 ①成绩录入:输入学生的学号、及三门课的成绩; ②成绩查询: *按学号查询学生记录。 ③成绩统计: *计算学生的平均分; *根据学生的平均分高低,对学生的数据进行排序后输出; ④退出系统:退出整个系统(即主菜单)。 五.数据结构设计描述: ↓ ↓ 六.各变量的定义和作用

int num; /*定义学号,变量为整型*/ char name; /*定义,变量为字符型*/ int score; /*定义课程的成绩,变量为整型*/ float average; /*定义平均分,变量为浮点型*/ 七.系统各函数的功能,、相互调用关系 1.函数实现功能说明: (1)menu函数 是定义一个菜单函数,其功能在于输出菜单界面供使用者选择。 (2)input函数 是定义用于输入学生信息。 (3)select 函数 是定义用于查询学生信息。包括学号、及各科成绩。 (4)statistics 函数 计算学生的平均分。 根据学生的平均分高低,对学生的数据进行排序输出。 2.相互调用关系: Main函数调用menu函数。 Menu 函数可以调用input 函数、select函数和statistics函数 八.心得体会

数据库课设学生成绩管理系统开发文档

学生成绩管理系统 背景简介 学生成绩的手工录入与查询,是一项非常繁重而枯燥的劳动,耗费许多人才和物力,而且会因人的情绪烦躁而出现失误,因此在计算机飞速发展的今天,应用数据库技术实现学生成绩的计算机管理是可行而必要的工作。本课题旨在对学生成绩实现计算机管理,提高工作效率,提高管理水平。 2 系统目标 当前,应用数据库技术编写信息管理软件,已是很成熟的技术,关键是如何实现设计要求,如何设计出友好的人机界面,使程序运行稳定、使用方便、操作简便,建立学生成绩管理系统,采用计算机对学生成绩进行管理,进一步提高办学效益和现代化水平。本系统的设计与实现需要达到如下要求: 1. 原始数据录入(包括学生信息、课程信息和学生成绩的录入); 2. 课程查询?学生信息和成绩查询查询; 3. 报表输出(包括学生成绩汇总报表、需重修的学生统计表、班级单科成绩表等); 4. 数据维护(包括数据备份、数据恢复等)。 5. 随着网络技术的发展,可考虑提供网络在线查询功能。 3 功能要求 针对上述系统实现目标,学生成绩管理系统至少需要包括以下功能: 1. 基本信息的管理系统,基本功能如下: (1)能够完成新、老生信息的输入、修改、删除等工作,学生的基本信息,包括学号、姓名、性别、籍贯等,具体可根据需求自行设计; (2)能够完成课程信息的输入、修改、删除等工作,课程的基本信息,包括课程编号、课程名称、学时、学分、先修课等,具体可根据需求自行设计; (3)可以按照特定的信息进行查找,并按照特定的要求进行排序; (4)可以对学生及课程的基本信息进行打印输出; 2. 学生成绩的管理,基本功能如下: (1)学生成绩的输入、修改、删除等基本操作; (2)成绩的查询功能,可以按学号、姓名等进行成绩查询; (3)成绩的综合统计功能,包括学生成绩按照不同条件进行排名,管理人员可以选择

学生成绩管理程序设计

学生成绩管理程序设计 目录 摘要 (1) 1.绪论 (1) 2. 系统分析 (1) 2.1功能需求 (1) 2.2数据需求 (1) 2.3性能需求 (2) 3. 总体设计 (2) 3.1功能模块设计 (2) 3.2系统设计方案 (2) 4总体设计 (3) 4.1学生信息录入管理模块 (3) 4.2学生成绩信息统计管理模块 (4) 4.3学生排名管理模块 (4) 4.4学生信息修改管理模块 (5) 5. 调试与测试 (6) 5.1调试 (6) 5.2测试 (7) 6. 结论 (7) 结束语 (7) 参考文献 (8) 附录1-用户手册 (9)

摘要 学生成绩信息管理程序是一个学校不可缺少的部分,学校可以利用这套程序进行学生的成绩信息管理,也方便查询修改学生的成绩各项信息,可以提高管理工作的效率。 本系统使用C语言作为开发工具的,开发学生成绩信息管理系统,实现了录入学生成绩信息,按姓名、学号等条件删除学生成绩信息。 本文从分析课题的题目背景、题目意义、题目要求等出发,分别从需求分析、总体设计、详细设计、测试等各个方面详细介绍了系统的设计与实现过程,最后对系统的完成情况进行了总结。 关键词:学生成绩信息管理;删除; C语言 1.绪论 随着科技的发展,愈来愈多的学校选择了运用学生成绩信息管理程序来管理学生成绩信息。学生成绩信息管理程序是一个学校不可缺少的部分,学校可以利用这套程序进行学生的成绩信息管理,也方便查询修改学生的各项信息,可以提高管理工作的效率和简化管理工作的程序。有利的为公司节省了运作成本,优化资源利用率,这也正是编写本程序的目的所在。 根据课程设计任务书要求,本系统开发主要完成以下功能和性能。 1.录入学生数据信息(不用考虑学期),学生信息至少包括姓名、学号、语 文、数学、英语成绩,学生信息应及时保存在文件中; 2.根据学号删除某生信息; 3.能够计算平均分并显示所有学生名次。 2. 系统分析 2.1 功能需求 本系统主要是企业对职工信息简单管理的系统。 该系统需要有录入信息,删除信息,统计信息,循环显示主菜单,保存信息的功能,并且利用显示函数将学生的所有信息显示出来。 2.2数据需求 需要向系统输入学号,姓名,语文、数学、英语成绩等信息。

智用Excel高效分析学生成绩

智用Excel高效分析学生成绩 智用Excel高效分析学生成绩 学生成绩的统计分析是学校重要且枯燥烦琐的工作,市面上有许多相关的成绩管理系统,有学校不惜重金购买来提高处理成绩的效率。然而,此种成绩管理系统普遍存在以下两大缺陷:系统编程人员缺少教学工作方面的经验,而且各校对学生成绩的统计要求各不相同,设计出来的系统很难满足众家之需求;容易出现诸多问题,校方难以自我解决,只能联系专业人员前来救援,远水救近火,难免影响成绩统计的进度。 俗话说得好:“自力更生,丰衣足食。”本人经过摸索,利用大众软件Excel设计了一个全校成绩自动统计的Excel模板,只需在“设置”工作表中初始化考试名称,在“成绩”工作表中导入各考生的班级、姓名、学号和各科成绩,即可在其他工作表中自动统计学校领导、班主任、任课老师所需要的学生成绩分析结果,非常方便。下面笔者将作具体介绍,以期抛砖引玉,与读者朋友一起学习和探讨。 一、学生成绩录入 成绩录入是统计分析的基础,但录入时常会遇到两个问题。 1.有时多科成绩需同时录入,倘若各科分别录在不同的Excel文件中,之后的拼接工作将十分烦琐而且容易出错,若录在同一文件中则同时只能录入一科成绩,降低了效率。针对这个问题,本人通过共享Excel工作簿来解决。具体操作步骤如下:选择Excel软件“工具”菜单中的“共享工作簿”,在窗口中选择“允许多用户同时编辑”,这样就可以在多台电脑上同时在这个Excel文件中录入成绩了,而且互不影响。 2.由于粗心,有时会输入一些让人哭笑不得的成绩,如8978分、七月九日等。为避免这类错误的出现,我们可以设置成绩录入区的数据有效性。只要在Excel菜单中选择“数据”—“有效性”,设置有效性条件为0到100的整数即可,如果输入的成绩超出这个范围,系统就会报错。

学生成绩统计c语言

课程设计 课程名称____C语言课程设计___ 题目名称____学生成绩统计_____ 学生学院______物理学院_______ 专业班级____电子科学与技术___ 学号_____3110008570______学生姓名______胡健___________ 指导教师_______刘力斌________ 2012 年10 月17 日

C语言课程设计报告 一、C语言课程设计的目的: 进一步消化和巩固已学过的C 语言程序设计基础理论,学习和实践程序设计的各种技能,利用C 语言来设计各种应用程序和管理系统,为社会提供各种现代化的管理工具。根据课堂讲授内容,做相应的自主练习,消化课堂所讲解的内容;通过调试典型例题或习题积累调试C程序的经验;通过完成辅导教材中的编程题,逐渐培养学生的编程能力、用计算机解决实际问题的能力。在许多常规学科的日常教学中,我们不难发现这样一个现象,不少学生的思维常常处于混乱的状态。写起作文来前言不搭后语,解起数学题来步骤混乱,这些都是缺乏思维训练的结果。程序设计是公认的、最能直接有效地训练学生的创新思维,培养分析问题、解决问题能力的学科之一。即使一个简单的程序,从任务分析、确定算法、界面布局、编写代码到调试运行,整个过程学生都需要有条理地构思,这中间有猜测设想、判断推理的抽象思维训练,也有分析问题、解决问题、预测目标等能力的培养。 二、课程设计报告正文 课程设计题目的原文: 学生成绩统计 【问题描述】 学期考试结束,统计有N个班某班每个人的平均成绩,每门课的平均成绩,并按个人平均成绩从高到低的顺序输出成绩,输出不及格人名单。输入、输出格式自定。 【实现提示】 假设某班有:30人(姓名自定) 考试课程有:高等数学、物理、外语、C语言、德育5门课程。 将所有同学的成绩保留在文件中,对文件中的数据处理,输出所要求的内容,程序的功能主要包括3方面: ①输入成绩到文件中 ②输出成绩 ③输出不及格学生名单 ④成绩排序 ⑤修改记录 ⑥删除记录 ⑦插入记录等 主函数中对3个功能选择(菜单),调用对应的函数完成。 【测试数据】 自定模拟数据 题目的分析(需求分析): 该题目主要是锻炼学生对于运用C语言结构体,指针以及文件修改的能力,C语言最难的部分就在于指针,所以,能用最简洁的语句写出一个合理的程序,老师的目的就达到了。通过该课程设计的锻炼,加深学生对这些知识的掌握以及理解。

基于Web的学生成绩管理系统的设计和实现

论文评定 指导教师意见: 指导教师:___________(签名) 年月日

原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进行研究工作所取得的成果。除文中已经注明引用的内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品或成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本声明的法律结果由本人承担。 论文作者签名:*** 日期:2009 年10 月30 日

基于Web的学生成绩管理系统的设计和实现 摘要 进入21世纪后,科学技术突飞猛进,信息时代的来临不仅让计算机在科技上得到应用,更让计算机在生活上得到了更广泛的应用,对如今的学校来说,实现电子信息化的办公是必然趋势,学校中的信息量主要体现在学生成绩的管理上面,因此学生成绩管理系统是一个教育单位不可缺少的部分。 本毕业设计所描述的学生成绩管理系统是采用https://www.360docs.net/doc/fd9114947.html,作为网络编程框架,SQL Server 2005作为数据库编写的一个B/S模式的系统。系统主要实现了:用户管理、成绩查询、成绩管理和科目管理等功能。本文详细介绍了学生成绩管理系统的需求分析、功能设计和系统设计,在系统设计中给出数据库的设计和本系统的总体设计方案,在系统实现中具体介绍了各个功能的所能实现的情况和主要代码,同时附有运行界面图。 关键字:成绩管理,成绩录入,成绩查询,.NET , B/S

STUDENTS’ PERFORMANNCE MANAGEMENT SYSTEM ABSTRACT After entering the 21st century, science and technology advance by leaps and bounds, the advent of the information age is not only make the computer is widely used in science and technology, more make the computer in life has been more widely, for now, the school of electronic information office is an inevitable trend, the school of information are mainly embodied in the management of students' grades above, education management system is a indispensable part of the unit. The graduation design of student achievement management system is described using https://www.360docs.net/doc/fd9114947.html, is a network programming framework, SQL Server 2005 as a database of writing a B/s-based mode of the system. System is mainly realized: user management, scores query, performance management and management of subject etc. Function. This paper introduces the student performance management system requirements analysis, functional design and system design, system design in database design and the overall design scheme of the system, in the system are introduced in details of each function can realize the situation and the main operation interface with code. Key words:Grade Management,Achievements recorded scores query,.NET ,B/S

数据库技术之学生成绩管理系统程序设计

数据库技术之学生成绩管理系统程序 设计

<数据库技术>课程设计 <学生成绩管理系统>程序 附录用户登陆窗口代码: Dim username As String, userpass As String Private Sub Command1_Click() Adodc1.Recordset.MoveFirst Adodc1.Recordset.Find ("userID='" & Text1 & "'") If Adodc1.Recordset.EOF Then MsgBox "无此用户,请重新输入!" Exit Sub Else abc = Adodc1.Recordset.Fields(1) If Text2 = Trim(abc) Then MsgBox "欢迎使用本系统,点击进入!", vbOKOnly, " 登陆" Me.Hide Form2.Show Else MsgBox " 用户名或密码不正确, 请重新输入!"

Text1 = "" Text2 = "" Exit Sub End If End If End Sub Private Sub Command2_Click() End End Sub 添加记录代码: Private Sub Command1_Click() Adodc1.Recordset.AddNew Text1 = InputBox(" 请输入学生学号", " 添加学号 ") Text2 = InputBox(" 请输入学生姓名", " 添加姓名") Text3 = InputBox(" 请输入学生性别", " 添加性别") Text4 = InputBox(" 请输入学生年龄", " 添加年龄") If Not IsNumeric(Text4) Then MsgBox " 请输入数值" Text4.SetFocus

综合程序设计一学生成绩统计

综合程序设计一学生成绩统计 一、实验目的和任务: 实验目的: 1.练习结构、数组、指针、函数、文件等知识的综合运用; 2.理解全局变量、局部变量、静态变量等内容。 3.了解字符串函数的使用和预处理的作用。 4.理解结构化程序设计方法,利用结构化程序设计方法,综合运用函数、数组、指针、结构等进行较复杂程序设计,能够实现一些简单的功能型程序。 实验任务: 1.设计表示学生信息的结构; 2.确定函数流程,清楚函数实现功能; 3.熟悉文件的操作,编写函数从文件读取学生信息; 4.编写统计函数,对读取的信息进行统计; 5.编写输出函数,熟悉格式控制符的使用; 6.设计测试文件,测试设计的结构和编写的函数; 7.给出测试结果,程序评价。 二、实验内容 从文件中读取学生信息并打印。完成以下编程实验,调试运行程序并完成报告。设每个学生包含如下信息: 1.设计一个表示学生信息的结构struct student; 2.编写函数从文件读入所有学生信息:

a)函数定义int ReadStudentInfo(const char* filename, struct student** pStudents); 函数返回值:返回学生个数,失败返回-1。输入参数const char* filename:数据文件名;struct student** pStudents:返回读取的学生信息,内存由ReadStudentInfo函数分配,main函数释放。 b)建议函数流程: i.打开数据文件,失败返回-1; ii.从头到尾扫描数据文件(即预读一遍)获得学生人数; iii.根据学生人数,利用malloc和sizeof等函数或运算符为struct student** pStudents分配内存; iv.利用fseek函数,定位到文件头; v.读取数据文件,并把每一条记录通过数组下标法或指针法保存到结构体数组pStudents中; vi.关闭文件; vii.返回学生人数。 c)数据文件格式说明: 一行一条学生信息的记录,不同属性用空格隔开,输入数据中无总成绩记录。 3.编写统计函数: a)函数定义void Count(struct student pStudents[], int num)。输入参数分别为保存学生的结构数组和学生人数。 b)功能为:统计所有学生的总成绩和每个班(根据学号判断班级)的平均成绩;输入参数包括学生信息结构数组,学生人数,计算的每个学生的总成绩直接填充到对应的输入结构数组对应字段中。统计信息包括每个班的总人数、平均成绩数组,用全局变量来表示。访问每个学生信息的时候,用指针来指向当前正在处理的学生。 c)设计一个宏,实现根据学号计算班级,并在函数Count中使用。 4.编写信息输出函数: 要求通过一定的格式控制符,使得输出美观。输出格式为:

学生成绩管理系统+流程图 (2)

学生成绩管理系统的可行性分析报告 一、系统简述 学生成绩管理系统是以计算机为工具,通过对教务管理所需的信息管理,把管理人员从繁琐的数据计算处理中解脱出来,为老师节省很多时间跟精力,提高老师的工作效率,通过学生成绩管理系统给学校管理者减轻工作的负担,将工作的失误几率降到最低,为广大老师同学带来便利,使大家能够更好的投入到学习中。同时这个系统还可以减少人力与管理费用,提供信息准确度更高,更简便的学生信息管理系统。 该系统的功能能够实现学生成绩信息的管理和查询;同时还可以对信息进行修改、删除和添加,另外该系统应该能做到可以对学生成绩信息以及成绩信息查询和修改的效率尽可能做到精确,同时各项功能的操作要简单,不需过多的对人员的培训。 而延边大学正推行学分制改革,进一步完善改进学生成绩管理系统很有必要。学生成绩管理系统是学校不可缺少的一个重要部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生成绩管理系统应该为用户提供充足的信息和快捷的查询手段。同时,学生成绩管理是各大学的主要日常管理工作之一,涉及到校、系、师、生的诸多方面,随着教学体制的不断改革,尤其是学分制、选课制的展开和深入,学生成绩日常管理工作及保存管理日趋繁重、复杂。推行学生成绩管理系统势在必行。 二、系统的开发目标 “学生成绩管理系统”针对的学校学生情况对学生各学年的成绩进行有效的管理。能够快速的查询出学生的各科成绩以及所在班级等各种用途。 学生成绩管理系统是将现代化的计算机技术和传统的教学、教务工作相结合,按照学院的工作流程设计完成的。为了使系统在学院的管理中发挥更大的作用,实现工作过程的计算机化,提高工作效率和工作质量,有如下的系统开发目标: 1.系统应具有实用性、可靠性和适用性,同时注意到先进性; 2.对各个数据库进行动态管理,防止混乱;

C语言学生成绩管理系统设计

航空航天大学 课程设计报告 大作业名称:C语言课程设计 大作业题目:学生成绩管理系统设计 院(系):计算机学院 专业:计算机科学与技术 班级: 学号: 姓名: 指导教师: 完成日期:2016年12月24日

目录 第1章概要设计 (1) 1.1题目的容与要求 (1) 1.2总体结构 (1) 第2章详细设计 (2) 2.1主模块 (2) 2.2输入模块 (3) 2.3显示模块 (3) 2.4修改模块 (4) 2.5删除模块 (4) 2.6查询模块 (5) 2.7统计模块 (6) 第3章调试分析 (7) 第4章使用说明 (8) 参考文献 (12) 附录(程序清单) (14)

第1章概要设计 1.1题目的容与要求 容: 学生成绩信息包括:姓名、学号、语文、数学、英语。 实现的主要功能有: 1)信息维护。包括学生成绩的输入、按学号删除、按学号修改等。 2) 信息查询。输入学号或姓名,显示出该生三个科目的成绩,计算出三科总分 并显示,按总分将所有学生成绩排序,显示出该生的名次。 3)成绩统计。先输入任意一个科目,接着选择a或b来分别显示平均分或统计分数段学生,若选择a,则直接显示出该科目的平均分;若选择b,则提示用户输入一个分数段,显示所有该科目属于该分数段的学生信息,并给出学生总数。 要求: 1)系统以菜单方式工作。在不同的界面为用户给出具体提示。 2)系统利用C语言实现,源程序要有适当的注释。 3)采用VC环境进行运行调试。 1.2总体结构 本程序主要分为七个模块(功能模块图见图1.1):结构体模块,输入模块,显示模块,修改模块,删除模块,查询模块,统计模块。 结构体模块:建立一个结构体模块,为链表存信息用。输入模块:键盘输入

学生成绩管理系统开发规划方案报告.doc

---- 学生成绩管理系统可行性分析报告 一、系统建立的目的及背景 1、编写目的 当今学生成绩管理的繁索给具有强烈时间观念的行政人员带来 了诸多不便,教学办公室缺少一种完善的学籍管理软件,为了对学生成绩的管理方便,开发人员完成了全面的调查与分析,同时与目标用户 进行了多次深入沟通,主要用于大中专院校学生日常管理工作,以规范的学生档案为基础,实现了学生考勤,学籍变更、学生奖惩、考试成 绩、教师考勤等电算化管理,实现学校人力资源的优化和学生成绩管理的科学管理而设计的,通过试用本系统,可以更加有效的管理学生成绩信息,其中包括学生的基本信息,成绩信息并且具有信息的增加,查询,修改等功能。 2、项目背景 当今学生成绩管理的繁索给具有强烈时间观念的行政人员带来了 诸多不便,教学办公室缺少一种完善的学籍管理软件,为了对学生成绩的管理方便,节省资源,提高工作效率,开发人员完成了全面的调 查与分析,同时与目标用户进行了多次深入沟通,并在次基础上着手

开发《学生成绩管理系统》软件。 二、功能特点: 学生信息查询、存储、共享的整体解决方案 1.学生档案管理: 建立规范的电子学生档案,并实现自动拍照功能,规范、易用。 -----

---- 2.方便的查询功能: 根据要求迅速查找出所有学生档案中符合要求的信息,支持EXCEL 导出,准确、快捷。 3.学生考勤管理 请假申请直接在软件中提交,由主管老师审核,系统自动统计学生请 假次数,高效、明了。 4.学生成绩管理 支持 EXCEL 模板导入学生成绩,系统自动统计各科成绩并排名。 3.学生综合情况报表 独创的《学生情况综合报表》自动分学期将学生档案、成绩、排名、 奖惩、考勤等学生表现情况进行汇总,颠覆了以往期末人工汇总的方 法,全面、简捷。 4.支持多用户管理模式: 用户根据不同权限分别管理各自资料,方便管理、节约成本。 三、可行性研究的前提 1.要求

学生成绩管理系统C++程序设计

项目设计题目(学生成绩管理系统) 学号:姓名:自评成绩:成绩: 1.选题意义、依据 学生成绩系统的设计从学生的应用中而来,学生了解该系统的组成和运行过程,它贴近学生的生活能使学生更加方便的使用各个语句、函数、结构体等。 依据学生期末成绩表的格式。 2.系统功能设计与分析(功能模块说明) 系统主要用于从一个文件夹读入学生信息 (101 张三85 78 87 102 李斯57 59 60 103 王红84 79 87 104 赵子龙72 75 76 105 李洪磊88 98 89),包括学生学号、姓名、成绩(数学、英语、数据库),程序中引用了八个函数void Cscore(int); void Rank(int ave); void Listnumber(int i); void Listscore(int i); void Lookup(int); void Alter(int); void Dele(int &i); void Insert(int &i); 系统主要实现的功能有:查询、修改、删除、插入、成绩单(以学号排名)和成绩单(以名次排名)。 Cscore 函数主要是对学生进行排名。具有相同总分的学生具有相同的名次,例如:第三名和第四名具有相同的总分则在表中不会出现第四名,将出现两个第三名紧接着出现第五名学生的情况。 Rank 函数主要用于按平均分对学生进行备注。把学生分为四个等级:>90分为excellent,80—90分为medium,60—80分为qualified,<60分为disqualified。 Listnumber 函数主要用于把学生的信息(学号姓名数学英语数据库总分平均分名次备注)以学号排名的顺序用表的形式输出,方便学生查看。Listnumber 函数中还调用了Cscore 和Rank 函数。 Listscore 函数是把学生的信息以总成绩排名的形式输出。 Lookup 函数主要运用学号或姓名形式查询单个学生信息,如果存在则输出该学生信息(学号姓名数学英语数据库总分平均分名次备注),否则输出“Input message is error.”。 Alter 函数是修改指定学号的学生信息。主要用于修改指定学号学生的各科成绩并输出修改后的学生信息(学号姓名数学英语数据库总分平均分名次备注)。 Delete 函数用于删除指定学生的信息。可用两种方式删除:以学号形式删除学生信息,以姓名形式删除学生信息。若要删除了学生不存在则输出“message

C语言课程设计-学生成绩统计软件

C语言课程设计实验报告 一问题描述:学生成绩统计软件 二基本要求: 1)每条记录由学号、姓名、若干门课程的成绩组成; 2)能计算每个学生的总分和平均分并显示; 3)能按平均分统计各分数段的人数,并以分布图显示,如图; 4)再此基础上能够进行文件操作。 三系统分析与设计: 由于程序要求对文件进行操作,所以需要建立一个文件存储学生信息并且能从文件中读取并输出。学生信息从键盘输入,根据提示并以ENTER结束每条信息的输入。 1总体设计: 程序通过main()函数调用两个模块函数来实现要求。两个模块分别是输入和计算的getdata函数和输出图表的putsgraph函数。 2 详细设计: 1)文件建立:因为要求对文件进行操作,所以首先建立一个文件存放学生的信息,用到FILE 文件指针,fp1=fopen(“file1”,”w+”); 2)学生的信息存放在结构体数组中,struct student_score s[N];并且通过for循环,调用子函数getdata,从键盘接受学生信息并且计算总分和平均分,用return返回主函数,并用fprintf 写入文件中,用rewind返回文件头,用fscanf读出信息并显示在屏幕上,统计各平均分段的人数,通过调用putsgraph输出图表。 四结构图: 主函数 五流程图

六程序清单 #define N 5 #include #include struct student_score { long num; char name[20]; float score[4]; float total; float aver; }s[N]; struct name { char a[10]; }n[8]; void main() { FILE *fp1; struct student_score getdata(struct student_score st,int x); struct name n[8]={"NUMBER","NAME","SCORE1","SCORE2","SCORE3","SCORE4","TOTAL","AVERA GE"}; int putsgraph(int sa, int sb,int sc,int sd,int se); int i,s1=0,s2=0,s3=0,s4=0,s5=0; if((fp1=fopen("file1","w+"))==NULL) {printf("cannot open file %s\n",fp1); exit(0);} for(i=0;i

学生成绩管理系统C++编程含源码

《C++程序设计》 课程设计报告设计题目:学生成绩管理系统 专业:计算机科学与技术(网络工程) 班级: 学号: 姓名: 指导老师: 日期:

目录 一、设计任务与要求 (3) 1.设计内容 (3) 2.课程设计的要求 (3) 二、系统分析(需求分析) (3) 1.需求分析 (3) 2.系统性能要求 (3) 3.系统的功能分析 (3) 4.系统功能模块 (3) 5.模块框架图 (3) 三、系统设计与实现 (4) 1.界面设计 (4) 2.功能设计与实现 (4) 四、测试结果 (4) 五、总结 (5) 六、参考资料 (5) 附录:源程序 (5)

一、设计任务与要求 1.设计内容: a.设计四个类;学生类(描述学生基本信息);成绩类:班级类;课程类(描述课程信息:课程编号,科目名称(如高等数学,大学英语等);学生成绩及课程信息用文件保存,每个类一个文件,程序执行时从文件读入; b.能按学期,按班级完成对学生成绩的录入,修改,能按班级统计学生的成绩;求学生的总分及平均分;并能根据学生的平均成绩进行排序,能查询学生成绩,不及格科目及学生名单;能按班级输出学生的成绩单。 –设置学生的成绩信息:学生学号、姓名、所选课程名称、平时成绩、期末成绩、平时成绩所占百分比 –计算学生总评成绩:总评成绩=平时成绩*平时成绩所占百分比+期末成绩*(1-平时成绩所占百分比) –显示学生的姓名、所选课程名称以及平时成绩、期末成绩和总评成绩信息。分单人显示和以班输出(班成绩单格式输出到文件) –注意,至少一个班,30人三门课 2.课程设计的要求: 根据C++课程所学的概念、理论和方法,按照C++程序设计的基本步骤,设计出一个适当规模的程序来实现设计课程内容中的全部功能;设计主控模块程序.对给出的程序源代码要给出各部分的详细注释.自己根据能力及需要添加相应功能模块,增强模拟系统功能。包括系统的功能分析、系统的功能模块设计、程序流程图或结构框图、逻辑结构设计,数据库中的表、视图(如果使用)、索引的结构和定义、触发器、存储过程、课程设计体会。 二、系统分析(需求分析) 1.需求分析: a.能对学生各科成绩进行录入:。 b.能对学生的成绩进行增加。 c.能对学生的成绩进行删除。 d.能对学生的成绩进行修改。 e.能对学生的成绩按总成绩,姓名,进行查询。 f.能输出学生的所有数据。 g.能进行成绩统计 h能进行总分查询排名。 2.系统性能要求: a.系统安全、可靠; b.功能齐全; c.操作方便、界面友好; d易于维护和扩充。 3.系统的功能分析:

利用EXCEL对学生成绩进行分析与制作学生成绩条

利用EXCEL对学生成绩进行分析与制作学生成绩条 每到学期结束时,教师的一项重要工作就是要统计学生的成绩,在电脑逐步普及的今天,我们就把这项繁杂的工作交给Excel去自动完成吧。 本节任务:制作一个学生成绩自动统计表,可以自动统计最高分、最低分、总分、平均分、名次、三率等数据信息,还可以根据自定条件以不同的颜色显示分数。自动统计表做好以后还可以保存成模板,以便以后使用。 涉及术语:单元格、工作表、工作薄、引用(相对/绝对)、自动填充、排序、条件格式等。涉及函数:AVERAGE、COUNTIF 、MAX、MIN、RANK、SUM 任务一:统计最高分、最低分、总分、平均分、名次、三率等数据信息。 1、启动Excel,同时选中A1至L1单元格,按“格式”工具条上的“合并及居中”按钮,将其合并成一个单元格,然后输入统计表的标题“高一(1)班期末成绩统计表 2、根据统计表的格式,将有关列标题及相关内容输入到相应的单元格中。 提示:其中学号的输入可通过“填充柄”快速完成。 3、选中K3单元格,输入公式:=SUM(C3:J3),用于计算第一位学生的总分。 4、选中L3单元格,输入公式:=RANK(K3,$K$3:$K$12),计算出第一位学生总分成绩的名次(此处,假定共有10位学生)。 5、同时选中K3和L3单元格,将鼠标移至L3单元格右下角的成“细十字”状时(通常称这种状态为“填充柄”状态),按住左键向下拖拉至L12单元格,完成其他学生的总分及名次的统计处理工作。 6、分别选中C16、C17单元格,输入公式:=MAX(C3:C12)和=MIN(C3:C12),用于统计“语文”学科的最高分和最低分。 7、选中C18单元格,输入公式:=AVERAGE(C3:C12),用于统计“语文”学科的平均分。 注意:如果成绩表中没有输入成绩时,这一公式将显示出一个错误的值“#DIV/0!”,这个错误代码将在数据输入后消失。 8、选中C19单元格,输入公式:=SUM(C3:C12),用于统计“语文”学科的总分。 9、选中C20单元格,输入公式:=COUNTIF(C3:C12,'>=80')/COUNTIF(C3:C12,'>0'),用于统计“语文”学科的优秀率。同样在C21内输入相应公式统计良好率。

C程序设计学生成绩管理系统

· 课程设计题目:学生成绩管理

第1章系统概要 系统介绍 设计一个学生管理系统,能够实现学生信息输入,并对这些信息进行处理并输出。基本功能要求 从键盘输入某班级若干个学生的学号、姓名、三门课(语文、数学、英语)的成绩,分别实现如下功能; (1)统计每个学生的总分和平均分。 (2)按总分由大到小排出名次。 (3)打印出成绩在全班平均分以上的学生名单和数据信息。 (4)任意输入一个学号或姓名,能够查找出该学生在班级中的排名及其考试成绩。 本系统是根据学生成绩管理的需要,而建立一个“学生成绩管理系统”,以及方便对成绩的各项管理操作。本系统能对成绩进行输入和输出;能按成绩对学生进行排序,并显示学生资料、成绩等,不过得以系统输入学生资料、成绩为前提。能根据学生的姓名或学号来查询该学生的资料。

第2章设计思路与算法程序功能结构图 图2-1 学生成绩管理系统功能图 各模块介绍

学生成绩管理系统包括七个模块:输入学生资料,输出学生资料,统计总分和平均分,按学生总成绩或平均成绩排序,打印平均分高于班级平均分的学生信息,按姓名或学号查找,菜单选择这七个模块既相互联系又相互独立。 各模块功能介绍 1)输入模块(void setdata(student stu[])): 主要功能是用来对学生的成绩进行输入。使用该功能可以输入所有学生的信息、资料等。具体包括学生的班级,学号,姓名,各科成绩。 2)输出模块(void print(student stu[],int i)): 主要功能是用来对学生的成绩进行输出。在系统已经录入了学生资料成绩的前提下,使用该功能可以显示所有学生的信息、资料等。具体包括学生的班级,学号,姓名,各科成绩,总成绩和平均成绩。 3)统计模块(void count(student stu[])): 主要功能是用来对学生的成绩进行计算。在系统已经录入了学生资料成绩的前提下,使用该功能可以计算出每个学生的总成绩和平均成绩。 4)排序模块(void sort(student stu[])): 按学生平均成绩进行排列模块块,此模块的主要功能是用来对学生的平均成绩进行排序,这样在统计名次是就比较方便。在系统保存学生资料的前提下,使用此功能能快速统计出学生的名次情况。 5)打印平均分高于班级平均分的学生信息模块(void getaverage(student stu[])):主要功能是输出学生平均分高于等于班级平均分的学生信息。 6)查找模块(void search1(student stu[],char*a) 按学号查找void search2(student stu[],char*b) 按姓名查找): 主要功能是用来查找学生资料,在系统输入学生资料的前提下,想查找某个学生的资料,我们只要知道他的学号或姓名,输入学号或姓名后,系统可以帮我们把他的信息输出。7)菜单模块(int select1()): 主要功能是用来选择哪种操作。根据提示可对学生信息进行处理。 第3章源程序代码 #include<> umber<<"\t"<

用Excel统计各分数段学生数

用Excel统计各分数段学生数 方法一:用COUNTIF函数统计 这是最常用、最容易理解的一种方法,我们用它来统计“语文”学科各分数段学生数。 如果某些学科(如体育),其成绩是不具体数值,而是字符等级(如“优秀、良好”等),我们也可以用COUNTIF函数来统计各等级的学生人数。 方法二:用DCOUNT函数统计 这个函数不太常用,但用来统计分数段学生数效果很不错。我们用它统计“数学”学科各分数段学生数。 方法三:用FREQUENCY函数统计 这是一个专门用于统计某个区域中数据的频率分布函数,我们用它来统计“英语”学科各分数段学生数。 方法四:用SUM函数统计 我们知道SUM函数通常是用来求和的,其实,他也可以用来进行多条件计数,我们用它来统计“政治”学科各分数段的学生数。 方法一:用COUNTIF函数统计 这是最常用、最容易理解的一种方法,我们用它来统计“语文”学科各分数段学生数。函数功能及用法介绍 ①分别选中C63、C67单元格,输入公式:=COUNTIF(C3:C62,"<60")和 =COUNTIF(C3:C62,">=90"),即可统计出“语文”成绩“低于60分”和“大于等于90”的学生人数。 ②分别选中C64、C65和C66单元格,输入公式: =COUNTIF(C3:C62,">=60")-COUNTIF(C3:C62,">=70")、 =COUNTIF(C3:C62,">=70")-COUNTIF(C3:C62,">=80")和

=COUNTIF(C3:C62,">=80")-COUNTIF(C3:C62,">=90"),即可统计出成绩在60-69分、 70-79分、80-89分区间段的学生人数。 注意:同时选中C63至C67单元格,将鼠标移至C67单元格右下角,成细十字线状时,按住左键向右拖拉至I列,就可以统计出其它学科各分数段的学生数。 如果某些学科(如体育),其成绩是不具体数值,而是字符等级(如“优秀、良好”等),我们可以用COUNTIF函数来统计各等级的学生人数。 如果某些学科(如体育),其成绩是不具体数值,而是字符等级(如“优秀、良好”等),我们可以用COUNTIF函数来统计各等级的学生人数。 ①在K64至K67单元格中,分别输入成绩等级字符(参见图2)。 ②选中L64单元格,输入公式:=COUNTIF($L$3:$L$62,K64),统计出“优秀”的学生人数。 ③再次选中L64单元格,用“填充柄”将上述公式复制到L65至L67单元格中,统计出其它等级的学生人数。 上述全部统计结果参见图1。

学生成绩统计程序

#include #include struct xsnode { int xh; //学号 char xm[15]; //姓名 int gs; //高数 int yy; //英语 int wl; //物理 double xfj; //学分积 struct xsnode *next; }; void create(struct xsnode *xshead) //学生信息录入,建立链表{ int i; int n; struct xsnode *p=NULL; printf("\n 输入班级人数:"); scanf("%d",&n); printf("\n\n 输入学生信息\n"); printf("\n-----------------------------\n"); printf("学号姓名高数英语物理\n"); printf("-----------------------------\n"); for(i=0;ixh,&p->xm,&p->gs,&p->yy,&p->wl); p->next=xshead->next; xshead->next=p; } printf("-----------------------------\n"); } void xfj(struct xsnode *xshead) //求学分绩 {

struct xsnode *p=xshead->next; //跳过头结点 printf("***************************************************\n"); printf(" 学号姓名高数英语物理学分积\n"); printf("---------------------------------------------------\n"); while(p!=NULL) { p->xfj=((p->gs)*6.0+(p->yy)*5.0+(p->wl)*4.0)/15.0; printf(" %-4d %-10s%-2d %-2d %-2d %-7.2f \n", p->xh,p->xm,p->gs,p->yy,p->wl,p->xfj); p=p->next; } printf("***************************************************\n"); } void xfj1(struct xsnode *xshead) //求学分绩 { struct xsnode *p=xshead->next; //跳过头结点 while(p!=NULL) { p->xfj=((p->gs)*6.0+(p->yy)*5.0+(p->wl)*4.0)/15.0; p=p->next; } } void xuehao(struct xsnode *xshead) //按学号查询学生信息 { int num; struct xsnode *p=xshead->next; //跳过头结点 printf("\n请输入查询学生学号:"); scanf("%d",&num); printf("***************************************************\n"); printf(" 学号姓名高数英语物理学分积\n"); printf("---------------------------------------------------\n"); while(p!=NULL) { if(p->xh==num) printf(" %-4d %-10s%-2d %-2d %-2d %-7.2f \n", p->xh,p->xm,p->gs,p->yy,p->wl,p->xfj); p=p->next; }

相关文档
最新文档