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

合集下载

C语言课程设计---班级成绩管理系统

C语言课程设计---班级成绩管理系统

课程设计报告课程名称C语言程序设计课题名称班级成绩管理系统专业班级学号姓名指导教师年月日湖南工程学院课程设计任务书课程名称C语言程序设计课题班级成绩管理系统专业班级学生姓名学号指导老师审批任务书下达日期年月日任务完成日期年月日目录一、引言 (1)二、总体设计 (2)三、详细设计 (4)四、问题分析及总结 (13)五、参考文献 (15)六、附件 (15)一、设计内容与设计要求1. 设计内容:班级成绩管理系统设计涉及的知识点:①掌握并熟练运用C语言的基本数据类型与各种表达式,程序的流程控制语句;②掌握数组的基本概念。

熟练掌握一维数组、二维数组的应用、掌握字符数组与字符串的关系以及字符串的简单处理。

③掌握函数的定义,函数的返回值,函数的调用,函数的形式参数和实际参数之间的关系;掌握变量的作用域与生存期,了解函数的作用域。

④掌握结构体的概念,结构体类型的定义,结构体变量的定义和初始化,结构体成员的表示,结构体变量的赋值含义,结构体与指针、函数的关系。

⑤掌握文件、文件类型指针的基本概念,熟练掌握文件的打开与关闭以及文件的建立、读写等有关操作。

2.设计要求:1)用C语言实现系统;利用结构体数组实现班级成绩的数据结构设计;系统的各个功能模块要求用函数的形式实现;应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观;各项显示数据均要求以表格的形式输出;在各功能子模块中应设计相应的二级菜单。

2) 建立一个班级学生成绩数据库,文件名为bjcjk.txt,并从该文件中读取数据;3) 班级成绩管理系统应能提供以下功能:(1)主菜单界面设计。

通过提示用户输入一个数字选项,调用相应的功能函数。

(2)学生成绩显示:完成班级全部学生成绩的显示,显示时按表格的形式,且应有表头;(3)学生成绩追加:完成新增一个(或多个)学生的成绩记录,要求在追加过程中有相应的提示信息,完成追加后能重新计算学生平均成绩并显示;(4)学生成绩修改:要求能按学号和按姓名两种定位方式,且可以按用户要求修改记录中除学号和姓名以外的指定内容,并重新计算学生的平均成绩;(5)学生成绩信息的查询;要示系统能按学号、按姓名查询以及能查总分在某一指定范围内的学生信息,且能显示符合条件的所的记录,若所需查询的信息不存在时应有相应的提示信息。

C语言课程设计报告学生成绩管理系统(广工)

C语言课程设计报告学生成绩管理系统(广工)

一、课程设计题目:学生成绩管理二、需求分析给出n个学生的m门考试的成绩表,每个学生的信息由学号、姓名、性别以及各科成绩组成。

对学生的考试成绩进行有关统计:按总数高低次序,打印出名次表,分数相同的为同一名次;按名次打印出每个学生的学号、姓名、总分以及各科成绩,并打印统计表。

三、概要设计程序要有的功能:1。

输入记录2。

用指定格式显示全部记录3。

根据姓名查找记录4。

根据姓名删除记录5. 保存记录到文件6。

按序号显示记录7。

按姓名由小到大的顺序排序程序运行当中,通过选择对应的功能序号来实现所需功能。

对输入的数据要有事先的分析,如果用户输入的数据与实际不相符如输入成绩的数值为负,则程序应输出相应的提示:“您输入的数据有误,请核实!”。

再者就是,当再输入完相应的数据后,程序作出相应的提示,询问用户是否要保存数据。

在排列学生成绩时候,如果出现成绩相同的情况,程序自动作出处理。

最后,在程序可以正确运行的基础上,再增加一些功能,如在排列的时候,自动输出最高分与最低分。

与及格成绩作比较,输出及格人数等相关信息。

流程图:四、详细设计源程序:#include ”stdio。

h”#include "stdlib.h”#include "string。

h”int shoudsave=0;/* */struct student{char num[10];/*学号*/char name[20];char sex[4];int cgrade;int mgrade;int egrade;int totle;int ave;char neartime[10];/*最近更新时间*/};typedef struct node{struct student data;struct node *next;}Node,*Link;void menu(){printf(”*********************************主菜单*****************************************”);printf(”\t1登记学生资料\t\t\t\t\t2删除学生资料\n”);printf(”\t3查询学生资料\t\t\t\t\t4修改学生资料\n”);printf(”\t5保存学生资料\t\t\t\t\t0退出系统\n”);printf(”********************************************************************************\n");}void printstart(){printf(”-————---—-——————--——----———-—-—-————--————--—--—--—-————---—-—————--———\n”);}void Wrong(){printf(”\n=====>提示:输入错误!\n”);}void Nofind(){printf("\n=====〉提示:没有找到该学生!\n");}void printc()/*本函数用于输出中文*/printf(”学号\t 姓名性别英语成绩数学成绩C语言成绩总分平均分\n”); }void printe(Node *p)/* 本函数用于输出英文*/{printf("%—12s%s\t%s\t%d\t%d\t%d\t %d\t %d\n",p—〉data。

学生成绩管理系统c语言课程设计报告

学生成绩管理系统c语言课程设计报告

学生成绩管理系统c语言课程设计报告一、引言学生成绩管理系统是一个为学校或教育机构提供学生学业成绩管理的重要工具。

通过该系统,可以方便地记录和查询学生的各项成绩,帮助教师和学生了解学生的学业表现,及时作出教学和学习的调整和改进。

本文将介绍一个基于C语言的学生成绩管理系统的设计与实现。

二、需求分析1. 学生信息管理:包括学生基本信息的录入、修改和删除。

2. 成绩信息管理:包括成绩的录入、修改和删除。

3. 成绩查询与统计:可以按照学生学号或姓名查询学生的成绩,并能够进行成绩的统计分析,如计算平均分和排名等。

4. 数据存储与备份:能够将学生信息和成绩信息存储在文件中,并能够进行数据的备份和恢复。

三、系统设计1. 学生信息管理模块:设计一个结构体来存储学生的基本信息,包括学号、姓名、性别、年龄等。

通过菜单选择,可以实现学生信息的录入、修改和删除功能。

2. 成绩信息管理模块:设计一个结构体来存储学生的成绩信息,包括科目名称和成绩。

通过菜单选择,可以实现成绩信息的录入、修改和删除功能。

3. 成绩查询与统计模块:通过学号或姓名查询学生的成绩,并能够进行成绩的统计分析,如计算平均分和排名等。

4. 数据存储与备份模块:设计文件操作函数,将学生信息和成绩信息存储在文件中,并能够进行数据的备份和恢复。

四、系统实现1. 使用C语言编写程序代码,通过结构体和数组等数据结构实现学生信息和成绩信息的存储。

2. 利用文件操作函数实现数据的读取和存储,包括学生信息和成绩信息的存储和备份。

3. 设计菜单界面,通过用户选择来实现各个功能模块的调用。

五、系统测试与优化1. 针对各个功能模块进行测试,验证系统的正确性和稳定性。

2. 根据测试结果优化程序代码,提高系统性能和用户体验。

3. 完善系统功能,考虑异常情况的处理,提高系统的容错性和健壮性。

六、总结与展望通过本次课程设计,我们成功实现了一个基于C语言的学生成绩管理系统。

该系统能够方便地记录和查询学生的成绩信息,帮助教师和学生进行教学和学习的分析和改进。

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

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

移通学院C语言程序设计报告书设计名称:学生成绩管理系统专业:指导老师:班级:姓名:学号:座号:时间一、实验目的1.在编辑应用程序过程中,逐步加深对C语言编程的理解;2.加强实践的能力,动手能力,同时进一步对所学的知识进行巩固;3.培养初步编程的能力,为以后的学习奠定基础;二、实验内容运用所学的C语言知识编辑一个应用程序:学习成绩管理系统三.系统软件环境:本程序主要运行在: Visual C++ 6.0Turbo C/C++ 3.0四.课程设计题目:学生成绩管理系统程序说明:有N个学生,每个学生的数据包含学号不重复、姓名、三门课的成绩及平均成绩,试设计一学生成绩管理系统,使之能提供以下功能:1主菜单2各菜单项功能①成绩录入:输入学生的学号、姓名及三门课的成绩;②成绩查询:按学号查询学生记录;③成绩统计:计算学生的平均分;根据学生的平均分高低,对学生的数据进行排序后输出;④退出系统:退出整个系统即主菜单;五.数据结构设计描述:↓int num; /定义学号,变量为整型/char name; /定义姓名,变量为字符型/int score; /定义课程的成绩,变量为整型/float average; /定义平均分,变量为浮点型/七.系统各函数的功能,、相互调用关系1.函数实现功能说明:1menu函数是定义一个菜单函数,其功能在于输出菜单界面供使用者选择;2input函数是定义用于输入学生信息;3select 函数是定义用于查询学生信息;包括学号、姓名及各科成绩;4statistics 函数计算学生的平均分;根据学生的平均分高低,对学生的数据进行排序输出;2.相互调用关系:Main函数调用menu函数;Menu 函数可以调用input 函数、select函数和statistics 函数八.心得体会C语言是一种较为基础和普遍的编程语言,应用相当广泛,这次课程设计的要求与C语言的广泛应用相比较还有很大的差距;我们对于C语言的理解和使用还处在一个初级的阶段,我们要想掌握它,要学习的还很多,同时要懂得创新,许多的编程方法都是人们一步一步总结出来的,我想我们也要努力拓展自己的思维,努力去寻求新的方法,以创造出更为完善的应用程序; 九.程序:include <stdio.h>include <stdlib.h>include <conio.h>define N 3 /学生人数/define M 3 /课程门数/struct student{int num; /学号/char name20; /姓名/int score3; /三门课成绩/float average;}stuN; /学生数/void input; /查询/void select; /统计/void menu;void input{int i,j;printf"\t\t①成绩录入\n\n";fori=0;i<N;i++{printf"请输入学号:";scanf"%d",&stui.num;printf"请输入姓名:";scanf"%s",&;forj=0;j<M;j++{printf"第%d门成绩的分数:",j+1;scanf"%d",&stui.scorej;}printf"\n\n";}printf"\n\n";printf"输入完毕按任意键返回主菜单";}/2.查询/void selectint no{int i;printf"学生%d号: \n",no; printf"学号: %d\n",stuno-1.num; printf"姓名: %s\n",;for i=0;i<M;i++{printf"第%d门课程的成绩为: ",i+1; printf"%d\n",stuno-1.scorei;}printf"\n按任意键返回主菜单";getch;}/3.统计/void statistics{float temp=0;int i=0;/学生成绩平均分/temp=0;printf"\t\t③成绩统计\n\n";forj=0;j<N;j++{fori=0;i<M;i++{temp=temp+stuj.scorei;}stuj.average=temp/N;printf"\n学生%s的成绩平均成绩为:",;printf"%0.2f分",stuj.average;temp=0;}/排序/for j=0;j<N;j++fori=0;i<N-j-1;i++ifstui.average<stui+1.average{ temp=stui.average;stui.average=stui+1.average;stui+1.average=temp;}printf"\n\n学生平均成绩前三名:";fori=0;i<3;i++{printf"\n第%d名:%0.2f分",i+1,stui.average;}printf"\n\n按任意键返回主菜单";getch;}void menu{ int num=0;int n=0;printf"\n\t\t\t学生成绩管理系统\n\n";printf"\n\t\t\t①成绩录入\n\t\t\t②成绩查询\n\t\t\t③成绩统计\n\t\t\t④退出系统\n";printf"\t\t\tchoose:";scanf"%d",&num;switchnum{case 1:system"cls";input;break;case 2:system"cls";printf"\t\t②成绩查询\n\n"; printf"请输入要查询的学生号1~3:";scanf"%d",&n;selectn;break;case 3:system"cls";statistics;break;case 4:exit0;default:;}}void main{while1{system"cls"; /清屏/menu;}}。

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

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

课程设计说明书设计名称: C语言课程设计题目:学生成绩管理系统学生姓名:专业:网络工程班级: 12级1班学号: 2012394108指导教师:日期:年月日课程设计任务书网络工程专业 12 年级 1 班孙璐一、设计题目学生成绩管理系统二、主要内容数据库的数据项主要数据包括:学号、姓名、年级、专业、成绩1、成绩2、成绩3、平均成绩、总成绩。

要求具有以下功能:(1)系统以菜单方式工作。

(2)显示、保存记录;添加、删除、修改任意个记录。

(3)排序功能:打开学生数据库,计算每个学生的平均成绩和总成绩,用冒泡法或选择排序法将平均成绩和总成绩排序后生成两个新文件(从大到小),存盘并显示这两个文件的全部记录。

(4)查询功能:打开总成绩排序文件,用折半查找法统计出给定分数的人数并显示。

并能按学号或姓名查找并显示某个学生的各科成绩。

(5)统计功能:对各科成绩统计分析(平均分、最高分、最低分、及格率等);统计各科各分数段人数。

三、具体要求围绕课程设计的目的和意义,基本要求如下:1、认真阅读《C语言课程设计》指导书,明确课程设计的目的、意义和要求;2、快速总结C程序设计语言的精髓,如:函数的概念、函数的设计和函数的调用;3、快速熟悉Tuber C 或C++的上机环境。

能熟练进行高级编辑操作(特别是字块操作);熟悉步进式、断点跟踪的程序调试方法,提高工作效率。

4、根据“课程设计题目”,采用结构化的程序设计思想,确定系统的总体设计方案、确"定时间进度。

如果是多人共一题,则要首先完成小组内的人员分工及安排,不允许重题现象。

5.学习并了解良好的程序设计风格。

按质、按量、并按时间完成课程设计的任务。

6.提供可运行的课程设计系统,参加上机面试答辩。

本次课程设计的重点是:学会设计并编写函数,掌握好各函数之间的调用关系;利用文件操作函数,建立数据库并完成对数据库的各种操作;掌握几种典型算法的应用(如:冒泡法、选择排序法和折半查找法)。

学生成绩管理系统c语言课程设计报告

学生成绩管理系统c语言课程设计报告

《学生成绩管理系统》课程设计报告专业:信息科学与工程学院班级:电气信息类0916班姓名:曹坤指导教师:汤哲学号: 02课程设计报告一、课程设计题目学生成绩管理系统1、需要处理的基础数据学生基本信息:如班级、学号、姓名、性别、年龄等。

学生选修课程的基本信息:课程编号、课程名称、学分、考试成绩、平时成绩、综合成绩(考试成绩*+平时成绩*)等。

主菜单2、系统的基本功能数据的录入:如录入学生的基本信息,以及该学生选修课程的基本信息;数据的修改:如修改指定学号、或者指定姓名的学生信息,或者修改其选修课程信息;数据的插入:插入某个学生信息;数据的查询:如按学号查询、按姓名查询等;数据的删除:如删除指定学号、或者指定姓名的学生及其选修课程信息;平均成绩的计算:计算每个学生各门功课的平均成绩,并按平均成绩从高到低的次序输出学生信息;列出不及格学生清单(学号、姓名、不及格的课程和成绩)。

考虑用文件把数据保存起来(可选)。

3、链表struct stu /*定义学生基本信息结构体*/{int i; /*以输入的顺序来确定的学生序号*/char num[11];char classnum[5];char name[128];char sex[32];int age;float ave;struct stu *next;};int n=0; /*学生人数*/struct stu *head=0;struct stu1 /*定义学生选修课信息结构体*/{char lessonnum[11];char lessonname[256];float score;float testgrade;float commongrade;float grade;struct stu1 *next;};int m;struct stu1 *a[max_num] ;/*定义一个指针数组来记住课程链表地址*/ /*---------------------- 数据的录入程序-----------------------*/void create(void) /*建立学生基本信息链表*/{n=0;struct stu *p1,*p2;char ch,ch1;struct stu1 *create1(void);do{n=n+1;a[n]=0;system("cls");p1=(struct stu *)malloc(LEN);printf("\n学号:");scanf("%s",p1->num);printf("\n班级:");scanf("%s",p1->classnum);printf("\n姓名:");scanf("%s",p1->name) ;printf("\n性别:");scanf("%s",p1->sex);printf("\n年龄:");scanf("%d",&p1->age);if(n==1)head=p1;else p2->next=p1;p2=p1;printf("\n是否输入选修课信息(y/n)\n");fflush(stdin); /*清空输入缓冲区*/ch1=getchar();if(ch1=='y'||ch1=='Y')a[n]=create1(); /*根据序号来记忆课程链表地址*/ p1->i=n;system("cls");printf("\n是否继续输入另一学生信息(y/n)\n");fflush(stdin); /*清空输入缓冲区*/ch=getchar();}while(ch=='y'||ch=='Y');p2->next=0;}struct stu1 *create1(void) /*建立课程链表*/{m=0;struct stu1 *p1,*p2;char ch;struct stu1 *head=0;do{m=m+1;system("cls");p1=(struct stu1 *)malloc(LEM);printf("\n课程编号:");scanf("%s",p1->lessonnum);printf("\n课程名称:");scanf("%s",p1->lessonname);printf("\n学分:");scanf("%f",&p1->score);printf("\n考试成绩:");scanf("%f",&p1->testgrade);printf("\n平时成绩:");scanf("%f",&p1->commongrade);p1->grade=p1->testgrade*+p1->commongrade*;printf("\n综合成绩:%-6.1f",p1->grade);if(m==1)head=p1;else p2->next=p1;p2=p1;printf("\n是否继续输入另一课程信息(y/n)\n");fflush(stdin); /*清空输入缓冲区*/ch=getchar();}while(ch=='y'||ch=='Y');p2->next=0;return(head);}二、设计思路界面:界面的显示由循环语句和switch语句来控制完成。

c语言课程设计学生成绩管理系统报告

c语言课程设计学生成绩管理系统报告

c语言课程设计学生成绩管理系统报告一、教学目标本课程旨在通过C语言编程实现一个学生成绩管理系统,让学生掌握C语言的基本语法、数据结构、函数、文件操作等知识,培养学生编写程序解决实际问题的能力。

具体目标如下:1.知识目标:(1)掌握C语言的基本语法和编程技巧;(2)了解数据结构的基本概念,学会使用数组、链表等数据结构;(3)熟悉函数的定义和调用,掌握函数的参数传递和返回值;(4)掌握文件操作,了解文件读写的原理和方法。

2.技能目标:(1)能够独立编写C语言程序,解决实际问题;(2)具备良好的编程习惯,代码结构清晰、可读性强;(3)掌握调试和优化程序的方法,提高程序的运行效率;(4)学会使用版本控制系统,如Git,进行代码管理和协作开发。

3.情感态度价值观目标:(1)培养学生的编程兴趣,激发学习C语言的积极性;(2)培养学生团队协作精神,提高沟通与协作能力;(3)培养学生的问题解决能力,培养创新意识和持续学习的态度;(4)培养学生具有良好的职业道德,遵守编程规范,尊重他人代码。

二、教学内容本课程的教学内容主要包括C语言的基本语法、数据结构、函数、文件操作等。

具体安排如下:1.C语言基本语法:介绍C语言的数据类型、运算符、表达式、控制语句等基本概念;2.数据结构:讲解数组、链表、栈和队列等数据结构的基本原理和应用;3.函数:讲解函数的定义、声明、调用,以及函数的参数传递和返回值;4.文件操作:介绍文件的概念、文件读写的方法和技巧。

三、教学方法本课程采用讲授法、案例分析法、实验法等多种教学方法相结合,以激发学生的学习兴趣和主动性。

具体方法如下:1.讲授法:通过讲解C语言的基本语法、数据结构、函数和文件操作等知识,使学生掌握课程的基本概念和编程技巧;2.案例分析法:分析实际编程案例,让学生学会将理论知识应用于实际问题解决;3.实验法:安排上机实验,让学生动手编写程序,培养实际编程能力;4.小组讨论法:学生进行小组讨论,培养团队协作和沟通能力。

C语言课程设计报告(学生成绩管理系统)

C语言课程设计报告(学生成绩管理系统)

C语言课程设计报告:学生成绩管理系统系统需求一、当前学生信息:通过结构体struct student 来保存学生的姓名,学号,性别,语文,数学,英语和计算机等等相关信息,并且通过cin函数来进行给当前学生输入初始信息。

二、学生成绩查询: 输入一个学号,在文件中查找此学生, 若找到则输出此学生的全部信息和成绩;若找不到则输出查找失败的信息。

同时也可以全部把各科的平均成绩,最高和最低分输出.三、新生插入:通过给该生的学号来和原班上的学生的学号比较大小,若大就在后,若小则靠前排,将此生的信息保存下来.四、输出全部学生信息和全部学生成绩。

五、退出系统.六、附加说明:系统将来完善的功能有:可以通过性别来模糊查询,也可以通过姓名的姓来先进行模糊查询,以便后面精确查找。

总体设计一、仔细阅读系统要求,首先将此系统化分为如下模块(即如下函数)1、输入初始的学生信息:其中包括学生的姓名、学号和性别以及学生的语文、数学、英语和计算机等相关信息;可用函数cin(stu *p1)来实现此操作。

2、查询模块:可用stu *lookdata(stu *p1)来实现。

找到就输出此学生全部信息包括学生的语文、数学、英语和计算机等的成绩。

3、插入模块:可用insert( )函数来实现。

其中通过学号的大小来比较的,并且以此来排序.4、输出学生的信息以及成绩:通过学生的姓名来查看学生的语文、数学、英语和计算机等相关成绩,同时也可以分别通过caverage()、maverage()、eaverage() 和comaverage() 来输出语文、数学、英语和计算机等成绩的平均分数、最高和最低分数。

5、退出系统:可用一个函数exit()来实现,首先将信息保存到文件中,释放动态创建的内存空间,再退出此程序。

二、系统主模块结构图:详细设计一、界面设计此系统界面采用图形和数字化菜单设计。

主界面设计如下:学生成绩管理系统请选择相应的数字执行相应的功能:1:是否输入其他数据2:查看数据3:插入数据4:查找数据5:更新数据6:保留数据7:显示或打印数据8:语文成绩状况9:数学成绩状况10:英语成绩状况11:计算机成绩状况12:?13:退出系统二、数据结构设计:程序设计中用到的结构体类型:学生信息结构体类型:typedef struct student{char name[MAX];int num[MAX];char sex[MAX];int chinese;int mathematic;int english;int computer;struct student *next;}程序代码://原始密码是123456#include"stdio.h”#include"stddef.h"#include"stddef。

c语言课程设计学生成绩管理系统总结

c语言课程设计学生成绩管理系统总结

c语言课程设计学生成绩管理系统总结
以下是一篇符合您要求的文档:
在这次C语言课程设计中,我们开发了一个学生成绩管理系统。

这个系统的主要目标是帮助教师更方便地管理学生成绩,包括输入、存储、查询和修改成绩等功能。

在设计这个系统时,我们首先分析了需求,明确了系统的基本功能和用户群体。

我们选择了合适的开发工具和技术,包括C语言和文件操作。

在系统开发过程中,我们遇到了许多问题,如内存管理、输入验证和算法优化等。

通过查阅资料和团队协作,我们逐一解决了这些问题。

在系统测试阶段,我们对各个功能进行了详细的测试,包括正常情况和异常情况。

测试结果表明,系统基本符合设计要求,但在一些细节方面仍需改进。

例如,在输入成绩时,系统没有对成绩的有效性进行验证,这可能导致错误的数据被存储。

这次课程设计让我们更深入地了解了C语言和软件开发的过程。

通过实际操作,我们学会了如何分析需求、设计系统、解决问题和测试软件等方面的技能。

虽然系统还存在一些问题,但这次课程设计对我们来说是一次非常有价值的实践经验。

学生成绩管理系统的设计与实现代码

学生成绩管理系统的设计与实现代码

学生成绩管理系统的设计与实现代码本系统有增加学生记录、修改学生记录、删除学生记录、按姓名查询学生记录、按C语言成绩对学生进行排序、退出系统6大功能。

能够对学生的姓名,学号,c语言成绩做相应的操作。

在检测到输入成绩大于55时,会自动加上5。

该管理系统设计功能模块图:下面是源代码:#include "stdio.h"#include "string.h"/*定义学生结构体*/struct Student{char ID[20]; //学号char Name[20]; //姓名float C_Mark; //C语言成绩};/*声明学生数组及学生数量*/struct Student students[1000];int num=0;/*通过学号返回数组下标*/int Student_SearchByIndex(char id[]) {int i;for (i=0;i<num;i++){if (strcmp(students[i].ID,id)==0) {return i;}}return -1;}/*通过姓名返回数组下标*/int Student_SearchByName(char name[]) {int i;for (i=0;i<num;i++){if (strcmp(students[i].Name,name)==0){return i;}}return -1;}/*显示单条学生记录*/void Student_DisplaySingle(int index){printf("%10s%10s%8s\n","学号","姓名","C语言成绩");printf("-------------------------------------------------------------\n");printf("%10s%10s%8.2f\n",students[index].ID,students[index] .Name,students[index].C_Mark);}/****1、增加学生记录*****/void Student_Insert(){while(1){printf("请输入学号:");scanf("%s",&students[num].ID);getchar();printf("请输入姓名:");scanf("%s",&students[num].Name);getchar();printf("请输入C语言成绩:");scanf("%f",&students[num].C_Mark);getchar();if (54<students[num].C_Mark && students[num].C_Mark< 60) //把55~59分之间的成绩都加上5分{students[num].C_Mark += 5;}num++;printf("是否继续?(Y/N),继续请按任意键,否则输入N:");if (getchar()=='N'){break;}}}/******2、修改学生信息**********/void Student_Modify(){while(1){char id[20];int index;printf("请输入要修改的学生的学号:");scanf("%s",&id);getchar();index=Student_SearchByIndex(id);if (index==-1){printf("该学生不存在!\n");}else{printf("你要修改的学生信息为:\n");Student_DisplaySingle(index);printf("-- 请输入新值--\n");printf("请输入学号:");scanf("%s",&students[index].ID);getchar();printf("请输入姓名:");scanf("%s",&students[index].Name);getchar();printf("请输入C语言成绩:");scanf("%f",&students[index].C_Mark);getchar();}printf("是否继续?(Y/N),继续请按任意键,否则输入N:");if (getchar()=='N'){break;}}}/****3、删除学生信息****/void Student_Delete(){int i;while(1){char id[20];int index;printf("请输入要删除的学生的学号:");scanf("%s",&id);getchar();index=Student_SearchByIndex(id);if (index==-1){printf("学生不存在!\n");}else{printf("你要删除的学生信息为:\n");Student_DisplaySingle(index);printf("是否真的要删除?(Y/N)");if (getchar()=='Y'){for (i=index;i<num-1;i++){students[i]=students[i+1];//把后边的对象都向前移动}num--;}getchar();printf("已删除\n");}printf("是否继续删除?(Y/N),继续请按任意键,否则输入N:");if (getchar()=='N'){break;}}}/****4、按姓名查询******/void Student_Select(){while(1){char name[20];int index;printf("请输入要查询的学生的姓名:");scanf("%s",&name);getchar();index=Student_SearchByName(name);if (index==-1){printf("学生不存在!\n");}else{printf("你要查询的学生信息为:\n");Student_DisplaySingle(index);}printf("是否继续?(Y/N),继续请按任意键,否则输入N:");if (getchar()=='N'){break;}}}/******5、按C语言成绩排序*******/void Student_SortByAverage(){int i,j;struct Student tmp;for (i=0;i<num;i++){for (j=1;j<num-i;j++){if (students[j-1].C_Mark<students[j].C_Mark){tmp=students[j-1];students[j-1]=students[j];students[j]=tmp;}}}}/*显示学生信息*/void Student_Display(){int i;printf("%10s%10s%8s\n","学号","姓名","成绩");printf("-------------------------------------------------------------\n");for (i=0;i<num;i++){printf("%10s%10s%8.2f\n",students[i].ID,students[i].Name ,students[i].C_Mark);}}/*将学生信息从文件(Database.txt)中读出*/void IO_ReadInfo(){FILE *fp;int i;if ((fp=fopen("Database.txt","rb"))==NULL){printf("不能打开文件!\n");return;}if (fread(&num,sizeof(int),1,fp)!=1){num=-1;}else{for(i=0;i<num;i++){fread(&students[i],sizeof(struct Student),1,fp);}}fclose(fp);}/*将学生信息写入文件(Database.txt)*/void IO_WriteInfo(){FILE *fp;int i;if ((fp=fopen("Database.txt","wb"))==NULL){printf("不能打开文件!\n");return;}if (fwrite(&num,sizeof(int),1,fp)!=1){printf("写入文件错误!\n");}for (i=0;i<num;i++){if (fwrite(&students[i],sizeof(struct Student),1,fp)!=1){printf("写入文件错误!\n");}}fclose(fp);}/***********主程序*********/void main(){int choice;IO_ReadInfo(); //读取文件while(1){/*主菜单*/printf("\n------ 学生成绩管理系统------\n");printf("1. 增加学生记录\n");printf("2. 修改学生记录\n");printf("3. 删除学生记录\n");printf("4. 按姓名查询学生记录\n");printf("5. 按C语言成绩排序\n");printf("6. 退出\n");printf("请选择(1-6):");scanf("%d",&choice);getchar();switch(choice){case 1:Student_Insert();break;case 2:Student_Modify();break;case 3:Student_Delete();break;case 4:Student_Select();break;case 5:Student_SortByAverage();Student_Display();break;case 6:exit(0);break;}IO_WriteInfo();}}1234567891011121415161718192021222324252627282930313233343637383940414243444546474849505152535455565859606162636465666768697071727374757677788081828384858687888990919293949596979899 100102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320322323324325326327328329330331332333334335336337338运行结果:测试第一个功能,输入四个学生的成绩:测试第二个功能,修改学生记录:测试第三个功能,删除学生记录:测试第四个功能,按姓名查询学生记录:测试第五个功能,显示所有学生的成绩,按照C语言成绩由高到底排序:我们可以看到,各项功能的实现,在第2个步骤中,将赵的成绩改为80,而第3个步骤删除了李的成绩。

学生成绩管理系统C语言

学生成绩管理系统C语言

【学生成绩管理系统】计算机程序编程课程设计实验报告实验地点:第一教学楼502室实验平台:Windows XP Microsoft Visual C++ 6.0实验用时:2013.8。

27——2013.8.30实验题目学生成绩管理系统一.实验目的使用标准C或C++实现一般管理系统的基本功能。

进一步巩固C语言的学习,培养一定的综合编程能力。

二.实验设计要求(一)需要处理的基础数据学生基本信息包括:➢学号(如2010级14班6号写作20101406)➢姓➢名➢性别➢出生年月日➢课程对应的考试成绩(外语SCORE[0]、高数SCORE[1]、C语言SCORE[2]、马哲SCORE[3])➢平均成绩和总成绩(二)系统功能1.学生基本情况录入.要求对输入的性别、出生年月日的合理性进行判断(如0代表“女”,1代表“男",输入其他值非法,年龄不能为负,月份不能大于13等)。

2.允许对已经录入的数据进行显示。

3.允许进行数据的插入。

4.删除基本数据的相关信息。

5.基于姓名的查询。

如:姓张的所有同学。

6.基于各种基本数据的统计计算。

如:①统计每个学生各门功课的平均成绩,并按平均成绩从高到低的次序排名输出每个学生各门功课的综合成绩和平均成绩(名次、学号、姓名、平均成绩、各门功课的考试成绩)。

②列出90分及以上、80分及以上、70分及以上、60分及以上、不及格学生清单(学号、姓名、不及格的课程和成绩)。

③统计并输出各门功课的平均成绩和总平均成绩。

④按班级统计并输出总成绩(需对学号进行解析).(三)数据结构说明typedef struct St1{ char IDNumber[16]; /*学号*/char FamilyName[16];/*姓*/char GivenName[16]; /*名*/int sex;/*性别(0代表“女”,1代表“男”)*/int BirthYear;/*出生年*/int BirthMonth;/*出生月*/int BirthDay;/*出生日*/float score[4]; /*成绩*/float sum; /*总分*/float average;/*平均分*/struct St1 *next;}StudentNode;(四)菜单的样板模式为:1。

C语言课程设计学生成绩管理系统答辩PPT演示课件

C语言课程设计学生成绩管理系统答辩PPT演示课件
7
6.关键技术
• 面向过程设计 • 数据结构 • C、C++控制台应用 • 文件操作 • 内存、指针、字符串操作 • 链表数据结构的使用。 • 查找、排序算法 • 位运算
8
del
find
整 体 流 程 图
input insert
display1
display
临时增加功能:加密(secret) 和存储(save)
金阳 周志飞
徐州工程学院
2
1.项目目标
• 1.体会从需求理解出发,到软件概要设计,详细设计, 开发,测试的整体流程。熟悉软件开发整体过程
• 2.能够熟练掌握使用C进行数据链表开发。 • 3.能够熟练掌握使用C进行数据的存储。 • 4.培养快速学习新知识的能力。
3
2.开发概要 • 开发一个运行于Windows XP平台的学生
23
(6).查找当前任一学生信息模块——find()
24
(7).显示当前所有学生信息——display()
25
9.项目总结
• 完成该项目的设计后,本小组成员做出如下总结:
• 1.对C语言本身学习的不够好,运用的基本上 函数数组等一些简单的编程方法,对指针单链 表操作等运用却反一定的能力。
• 2.通过本次课程设计更加明白了团队合作对于 一项工程的重要性并了解了一些基本的项目开 发的流程等知识。
add
9
7.项目亮点
• 1.加密功能——secret():利用字符型数组的知识,对 系统进行加密 。同时当输入密码超过三次时用户将无权 进入该系统!
10
2.文件存储功能——save()
• 对当前所包含的全部学生信息保存到磁盘的一个文件中
11

学生成绩管理系统的设计与概述

学生成绩管理系统的设计与概述

学生成绩管理系统的设计与概述关键词:学生成绩管理;C语言;程序设计;C-Free一、设计目的1.巩固和加深对c语言知识的理解和掌握2.提高利用c语言进行编程和运行的能力3.学会利用编程解决实际问题二、功能模块介绍本学生成绩管理系统主要包括以下几点功能:1.新建数据2.添加数据3.删除数据4.排序5.查询6.退出其中新建数据用于用户输入学生的个人信息(学号和名字)及成绩(数学和程序设计两科成绩);添加数据和删除数据便于用户对数据的增删;而排序(包括数学成绩、程序设计成绩以及总分成绩)可以通过不同的排序依据使用户更方便了解学生各科总体水平以及高分和低分;查询则包括按学号查询、姓名查询、成绩查询,其中成绩查询还有统计的功能,即输入指定分数,程序运行后显示该科目中考试成绩大于等于指定分数的学生并统计满足条件的人数。

三、数据结构描述本系统采用结构体的形式和链表的数据结构建立学生的个人信息档案,主要内容如下:struct student{char num[20];char name[20];int math_score;int program_score;int sum_score;struct student *next;}stu[N];其中学号和姓名为字符串类型,方便输入;成绩为整形,数学成绩和程序设计成绩由用户输入,总分由系统根据用户所输计算;N为符号常量和全局变量,用户可随时改变学生人数。

采用结构体的形式,适应了学生数据类型多样性的特点,链表类型的数据结构可以方便的插入或删除数据,较为灵活方便。

四、函数程序介绍程序按照系统功能分为七大模块,分别是:主函数,新建数据函数,添加数据函数,删除数据函数,排序函数,查询函数以及输出函数。

主函数:在主函数中对各函数进行声明,显示系统主界面,根据用户的不同选择调用不同的函数。

同时对主函数采用do while的循环,使系统执行完一次操作后自动跳出主菜单,方便用户使用。

c语言课程设计学生成绩管理系统流程图

c语言课程设计学生成绩管理系统流程图

C语言课程设计学生成绩管理系统流程图本文介绍了一个基于C语言的学生成绩管理系统的流程图设计。

该系统可以帮助学校管理学生的成绩信息,包括录入学生成绩、查询学生信息、统计学生成绩等功能。

1. 系统流程图概览graph LRA[开始] --> B(登录系统)B --> C{登录是否成功}C -- 是 --> D(显示菜单)C -- 否 --> BD --> E[输入操作选项]E --> F{选择操作}F -- 1 --> G(录入学生成绩)F -- 2 --> H(查询学生信息)F -- 3 --> I(统计学生成绩)F -- 4 --> J(显示菜单)F -- 5 --> K(退出系统)G --> L[输入学生信息]L --> M[保存学生成绩]M --> N[继续操作]N --> GH --> O[输入学生学号]O --> P[查询学生信息]P --> NI --> Q[统计学生成绩]Q --> R[显示统计结果]R --> NJ --> DK --> S[结束]2. 系统流程图详解2.1. 开始系统开始运行,进入登录界面。

2.2. 登录系统用户输入登录信息,包括用户名和密码。

2.3. 用户登录验证系统对用户输入的用户名和密码进行验证,包括检查用户名是否存在和密码是否匹配等。

•如果登录验证成功,进入显示菜单页面。

•如果登录验证失败,返回登录系统页面,提示用户重新输入。

2.4. 显示菜单系统显示主功能菜单,供用户选择需要执行的操作。

2.5. 输入操作选项用户根据菜单提示,输入相应的操作选项。

2.6. 选择操作系统根据用户输入的操作选项,执行相应的操作。

•如果用户选择录入学生成绩,进入输入学生信息步骤。

•如果用户选择查询学生信息,进入输入学生学号步骤。

•如果用户选择统计学生成绩,进入统计学生成绩步骤。

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

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

内蒙古科技大学本科生课程设计说明书题目:C语言课程设计——学生成绩管理系统学生姓名:郭**学号:**********专业:计算机科学与技术班级:计科-2指导教师:***日期:2015年 12月25日内蒙古科技大学课程设计说明书内蒙古科技大学课程设计任务书I内蒙古科技大学课程设计说明书目录内蒙古科技大学课程设计任务书 (I)第一章需求分析 (3)1.1引言 (3)1.2任务概述 (3)1.3数据描述 (3)1.4功能需求 (3)1.5性能需求 (3)1.6运行需求 (4)1.7任务计划 (4)第二章概要设计 (4)2.1总体设计 (4)2.2数据类型设计(或数据结构设计) (5)2.3接口设计 //函数声明 (5)2.4运行界面设计 (6)第三章详细设计 (7)3.1输入模块设计 (7)3.2输出模块设计 (7)3.3 查找模块设计 (8)3.4排序模块设计 (8)3.5保存及读取模块设计 (9)第四章测试分析 (10)4.1测试程序执行情况 (10)第五章课程设计总结 (14)附录:程序代码 (15)参考文献 (32)致谢 (32)II内蒙古科技大学课程设计说明书第一章需求分析1.1引言因学校中学生信息庞大,复杂,为了方便教师们管理学生信息,特编写了一个学生成绩管理系统。

1.2任务概述1.目标本学生成绩管理系统主要是为学校里的老师提供一个管理学生信息的平台。

根据系统界面的提示信息对学生信息进行添加、浏览、修改、保存等操作。

2.运行环境Windows系统3.用户特点懂得一些基本的电脑操作即可。

4.条件限制计算机一台1.3数据描述系统的数据类型有:整型int,实型float,字符型char,结构体struct;自己定义的数据类型有:STU;1.4功能需求❖从键盘输入包括学号、姓名、各门课程成绩(不少于5门),并将其保存在磁盘文件里❖打开文件后,计算每个人的总分和平均分,排序并保存❖具有单项查询或多项查询的功能(即按照给定的关键字,如姓名找出满足条件的纪录)❖具有插入、删除和修改功能具有输出文件数据信息的功能1.5性能需求无3内蒙古科技大学课程设计说明书1.6运行需求1.硬件环境普通的计算机2.软件环境支持的操作系统包括windows98/xp及及以上版本1.7任务计划本系统共分为一个主页面模块(主函数部分),五个功能模块(功能函数)分别为增加学生成绩信息、查看学生成绩信息、修改学生成绩信息、对学生信息进行排序、退出。

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

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

C语言课程设计报告院系:机械与电子信息学院姓名:王鹏飞班号:07310126学号:20101003558指导教师:龚文引日期:2011年7月学生成绩管理系统一、题目要求设计一个学生成绩管理程序,对在校某班学生几门课程的考试成绩进行统一管理。

每个学生记录包括学号、姓名、年龄、数学、英语、物理成绩,默认以学号为序存放。

(1)一个文件按以班为单位存储学生记录.(2)将允许的操作分为四种,以A、B、C、D、E、F为标志(若设置菜单操作更佳):A:插入一个新的学生记录(录入学生信息);B:修改学生记录;C:删除一个学生记录;D:登记成绩;E:修改成绩;F:浏览全班成绩。

(3)计算学生的总成绩。

(4)按学号排序输出全班成绩表。

二、需求分析根据题目要求,由于学生信息是存放在文件中,所以应提供文件的输入、输出等操作;在程序中需要浏览学生的信息,应提供添加、修改、删除、排序等操作;另外还应提供键盘式选择菜单实现功能选择。

三、总体设计根据上面的需求分析,可以将这个系统的设计分为8个模块,数据输入,添加数据,修改数据,删除数据,修改成绩,学号排序,浏览成绩,退出模块。

四。

详细设计1、主函数【分析】将各个功能模块设置为菜单选项,方便调用,且执行完每部分功能模块后能够方便返回到系统界面.【流程图】:【程序代码】:menu() /*主界面*/{int w1;char n; /*。

变量n保存选择菜单数字,w1判断输入的数字是否在功能菜单对应数字范围内*/do{puts(”\t\t***************菜单****************\n\n”);puts(”\t\t\t\tA。

录入学生信息”);puts(”\t\t\t\tB.修改学生记录”);puts(”\t\t\t\tC。

删除一个学生记录”);puts(”\t\t\t\tD.登记成绩”);puts("\t\t\t\tE。

修改成绩");puts("\t\t\t\tF。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

项目设计题目(学生成绩管理系统)学号:姓名:自评成绩:成绩:1.选题意义、依据学生成绩系统的设计从学生的应用中而来,学生了解该系统的组成和运行过程,它贴近学生的生活能使学生更加方便的使用各个语句、函数、结构体等。

依据学生期末成绩表的格式。

2.系统功能设计与分析(功能模块说明)系统主要用于从一个文件夹读入学生信息(101 张三85 78 87102 李斯57 59 60103 王红84 79 87104 赵子龙72 75 76105 李洪磊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 函数用于删除指定学生的信息。

可用两种方式删除:以学号形式删除学生信息,以姓名形式删除学生信息。

若要删除了学生不存在则输出“messageerror.”。

Insert 函数用来插入学生的信息,一次调用Insert 函数可以添加多个学生的信息。

Insert 函数中还调用了Cscore 和Rank 函数。

3.涉及的主要知识点说明(1)系统主要运用了函数的声明、定义、调用(值调用和地址调用)。

(2)对文件的读入操作。

(3)在平均分的求取上采用四舍五入的方式,运用了类型转换。

(4)多次运用if和for嵌套,在for嵌套中又运用了break语句。

(5)运用了switch。

(6)对字符数组的比较中运用了strcmp,还运用toupper把小写字母转换成大写。

(7)对学生信息进行的插入和有序删除操作。

(8)运用iomanip对输出进行美观。

4.创新性说明(怎么解决)创新性:系统可以对具有相同总分学生的学生输出相同的名次。

若存在三个相同的分数都为第二名,则在输出时出现三个第二名不会出现第三、四名,紧接着出现第五名。

解决方法:(1)用一个数组记录具有相同分数的人数,数组下标和学生信息所具有的下标相同;(2)删除相同的总分只保留其中一个分数;(3)对删除相同总分的分数按从高到底进行排序;(4)对各个学生的总分进行排名。

5.源代码<<endl;return 1;}for (i=0; i<MAX && infile; i++){infile>>stu[i].num>>stu[i].name>>stu[i].math>>stu[i].english>>stu[i].database;stu[i].sum=stu[i].math+stu[i].english+stu[i].database;stu[i].average=int(float(stu[i].sum)/3+;}i=i-1;cout<<endl<<"Welcome to 学生成绩管理系统"<<endl;cout<<"Y or N 进入菜单栏"<<endl;cin>>ch;ch=toupper(ch);while (ch=='Y'){cout<<endl<<" 菜单:"<<endl<<" 1)查询"<<endl<<" 2)修改"<<endl<<" 3)删除"<<endl<<" 4)插入"<<endl<<" 5)成绩单(以学号排名)"<<endl<<" 6)成绩单(以名次排名)"<<endl;cout<<"***请选择1--4 中任何一个:"<<endl;cin>>k;cout<<endl;switch (k){case 1:Lookup(i);break;case 2:Alter(i);break;case 3:Dele(i);break;case 4:Insert(i);break;case 5:Listnumber(i);break;case 6:Listscore(i);break;default :cout<<"error input!"<<endl;}cout<<endl<<"继续选择Y or N "<<endl;cin>>ch;ch=toupper(ch);}cout<<"Thank you for using!"<<endl<<"Bye bye !"<<endl;();return 0;} um;}for (j=0; j<i; j++){h[j]=0;for (k=0; k<i; k++){if (sum0[j]==sum0[k]){h[j]++; um){score[j+1]=score[j]+b[j];stu[k].score=score[j+1];b[j+1]=h[k];} um<<setw(9)<<stu[j].name<<setw(4)<<stu[j].math<<setw(6)<<stu[j].english<<setw(6)<<stu[j].database;cout<<setw(8)<<stu[j].sum<<setw(7)<<stu[j].average;cout<<setw(7);cout<<stu[j].score<<" ";Rank(stu[j].average);}}void Listscore(int i){int j,k;Cscore(i);cout<<"学号姓名数学英语数据库总分平均分名次备注"<<endl;for (j=1; j<i+1; j++){for (k=0; k<i; k++){if(stu[k].score==j){cout<<setw(1)<<stu[k].num<<setw(9)<<stu[k].name<<setw(4)<<stu[k].math<<setw(6)<<stu[k].english<<setw(6)<<stu[k].database;cout<<setw(8)<<stu[k].sum<<setw(7)<<stu[k].average;cout<<setw(7);cout<<stu[k].score<<" ";Rank(stu[k].average);}}}}void Lookup(int i) <<endl;cout<<"1 is use number,0 is use name."<<endl;cin>>n;if (n) um){k=j;break;}}}else ame,name1)==0){k=j;break;}}if (k==MAX){cout<<"Input message is error."<<endl;}else um<<setw(9)<<stu[j].name<<setw(4)<<stu[j].math<<setw(6) <<stu[j].english<<setw(6)<<stu[j].database;cout<<setw(8)<<stu[j].sum<<setw(7)<<stu[j].average;cout<<setw(7);cout<<stu[j].score<<" ";Rank(stu[j].average);}}void Alter(int i) ."<<endl;cout<<"Please input number:";cin>>numb;for (j=0;j<i;j++){if (numb==stu[j].num){cout<<"find out:"<<endl;cout<<"学号:"<<stu[j].num<<" 姓名:"<<stu[j].name<<endl;cout<<"Please input new result: 数学英语数据库"<<endl;cin>>stu[j].math>>stu[j].english>>stu[j].database;stu[j].sum=stu[j].math+stu[j].english+stu[j].database;stu[j].average=int(float(stu[j].sum)/+;Cscore(i);um<<setw(9)<<stu[j].name<<setw(4)<<stu[j].math<<setw(6)<<stu[j].english<<setw(6)<<stu[j].database;cout<<setw(8)<<stu[j].sum<<setw(7)<<stu[j].average;cout<<setw(7);cout<<stu[j].score<<" ";Rank(stu[j].average);break;}}}void Dele(int &i) ."<<endl;cout<<"Please select:"<<endl;cout<<" [1]以学号形式删除学生信息"<<endl;cout<<" [0]以姓名形式删除学生信息"<<endl;cin>>k;if (k) um)break;}}else ame)==0)break;}}if (j<i){for(; j<i-1; j++){stu[j].num=stu[j+1].num;strcpy(stu[j].name,stu[j+1].name);stu[j].math=stu[j+1].math;stu[j].english=stu[j+1].english;stu[j].database=stu[j+1].database;stu[j].sum=stu[j+1].sum;stu[j].average=stu[j+1].average;}i=i-1;C score(i);}elsecout<<"message error."<<endl;}void Insert(int &i) ."<<endl;cout<<"Please input insert number of people:";cin>>n;i=i+n;cout<<"Please input insert :"<<endl;cout<<"学号姓名数学英语数据库"<<endl;for (j=i-n; j<i; j++){cin>>stu[j].num>>stu[j].name>>stu[j].math>>stu[j].english>>stu[j].database;stu[j].sum=stu[j].math+stu[j].english+stu[j].d atabase;s tu[j].average=int(float(stu[j].sum)/+;}Cscore(i);cout<<"学号姓名数学英语数据库总分平均分名次备注"<<endl;for (j=i-n; j<i; j++){cout<<setw(1)<<stu[j].num<<setw(9)<<stu[j].name<<setw(4)<<stu[j].math<<setw(6) <<stu[j].english<<setw(6)<<stu[j].database;cout<<setw(8)<<stu[j].sum<<setw(7)<<stu[j].average;cout<<setw(7);cout<<stu[j].score<<" ";Rank(stu[j].average);}}6.运行结果与分析运行结果:分析:系统基本上能实现对成绩的查询、、修改、删除、插入、成绩单(以学号排名)和成绩单(以名次排名)等功能,并且可以插入多个学生的信息。

相关文档
最新文档