……
{
$row = $result->fetch_assoc();
?>
| | | | | 删除 | 修改 |
free();$db->close();?>
5、测试
经过对系统的基本功能进行测试,系统基本实现了需求分析中要实现的功能,运行效果基本满足要求;下面是系统运行截图:
图5.1 学生成绩查询
图5.2 学生信息查询
四、心得体会
在此次的学生成绩管理系统程序设计的过程中,我使用Zend Studio进行了一次PHP系统的开发,由于时间以及其它的一些原因,没办法把系统进行比较深入的开发,实在是惭愧,这次设计让我加深了对PHP开发的理解以及思考,同时认识到了一些问题。
我充分认识到了做计划的重要性,只要实现把整体方案规划好,才能保证以后设计的顺利进行,才能应对出现的突发事件,达到系统设计的目标。由于水平有限,错误在所难免,设计过程中有许多不敬如人意的地方。我想,这也是在以后的学习和工作中激励我不断学习,不断前进的动力。我会在今后的工作中不断地完善它,充实它,使之能够更方便、更准确、更快捷地在工作中应用到系统开发技术,提高工作效率。以上是我在本次管理信息系统程序设计中的一点体会,由于自己水平有限,难免又许多错误,请老师予以指正,我将继续努力!
学生实验报告
实验课名称: C++程序设计
实验项目名称:综合大作业——学生成绩管理系统 专业名称:
班
学级:号:
学生姓名:
同组成员:
教师姓名:
日
题目:学生成绩管理系统一、实验目的:
(1)对C++语法、基础知识和编程技巧进行综合运用,编写具有一定综合应用价值的稍大一些的程序。培养学生分析和解决实际问题的能力。
(2)熟悉掌握C++的语法和面向对象程序设计方法。进一步理解和运用结构化和面向对象程设计想结合的思想和方法
(3)培养学生的逻辑思维能力,编程能力和程序调试能力以及工程项目分析和管理能力。
(4)学会利用流程图或N-S图表示算法;
(5)掌握书写程设计开发文档的能力(书写课程设计报告);
二、设计任务与要求:
(1)要求利用面向对象的方法以及C++的编程思想来完成系统的设计。
(2)在系统的设计中,能够运用面向对象的机制(继承、派生)来实现系统功能,并且要建立清晰的类层次关系。
(3)主函数中提供菜单选项,并给出足够的选择信息以及提示信息。界面友好(良好的人机交互),加必要的注释;
(4)程序具有一定的健壮性,不会因为用户的输入错误引起程序运行错误而中断执行。
三、系统需求分析:
(1)需求分析
建立成绩管理系统,包含了学生的全部信息,包括学号,姓名,出生日期,年龄(通过计算得出),各科成绩等。然后对其相关操作。
(2)系统功能分析
信息录入、信息显示、信息查询、信息删除、信息修改、信息保存。
(3)系统功能模块
a、主程序模块
本程序各个模块功能均用函数实现,主程序主要用来实现数据的初始化,定义变量,调用函数等,实现对程序的整体控制。
b、登录密码模块
本模块用于管理登录,只保存了两个管理员,并且输入错误,会提示错误原因,管理员不存在或者密码错误,同时有输入上限,三次输入错误即退出系统。
c、信息录入模块
录入学生成绩信息(包括学生学号、姓名、出生日期、年龄、各门课程的成绩等),将信息记录到当前*End中,然后End指向新的内存。
d、信息显示模块
显示录入的所有信息,使用for循环,起始条件Head->Next,终止于End。
e、信息查询模块
输入学号或名字,查询学生各门课程的成绩及总成绩,输入姓名查询,将查询到指针保存到指针数组中,同时使用i记录保存指针的数目,然后将End赋给指针数组作为结束条件;输入学号查询,成功则返回上一个指针,不成功就返回空。
f、信息删除模块
两种方式,通过姓名,调用FindItem(char * name,student *a[])并返回i,i=0不存在,i=1直接删除,i>1显示所有相同姓名的信息供用户选择删除,通过学号(唯一性)直接删除该学生的成绩信息;
g、信息修改模块
同删除模块类似,首先查询,出现重名选择修改。
h、信息排序模块
根据总成绩高低排序,交换两个数据域完成排序,用for循环完成所有的信息排序。h、信息保存模块
退出时,将学生的学号、姓名及各门课程的成绩等信息保存于外部存储器的sort.txt文件中。
(4)模块功能框架图
四、系统设计与实现
1、基类class Student用来封装学生的所有信息,以及基本操作即读写数据。
2、派生类class Studentmessage继承了Student的所有功能,同时增加了增加信息,显示,修改等功能,实现对信息的所有操作。
3、main()用来实现对程序的整体控制;code()用于保护信息安全性,限制登录。
4、定义文件输入流对象in和输出流对象out,实现对外部文件的操作,使得数据得
以保存。
5、Student * Next用于实现链表的操作,保存下一个对象的地址。
五、调试过程:测试数据及结果
1、新建
2、查找
3、修改
4、删除
六、系统有待改进的地方
七、设计心得与体会
八、参考资料
八、系统有待改进的地方
九、设计心得与体会
此次c++课程设计,在指导教师的精心教导下,我们学会了如何用C++编写一个简单的应用程序。首先要对程序的设计要求有一个比较明确的认识,然后系统分析与系统设计,最后是代码设计与调试。程序实现上,设计了简单的查询界面,将各个功能集中出来按照程序编写原则,便于查询。
根据C++课程所学的概念、理论和方法,按照C++程序设计的基本步骤,设计出一个适当规模的程序;进一步加深对C++语言的理解和掌握。理论联系实际,加深和巩固所学的理论知识,提高实践能力和计算机的综合运用能力。我们编写程序的过程是辛苦与快乐的,程序的编写原则很重要,只要我们在编程,就必须不断改进,才能更好提高编程能力。
十、参考资料
《C++primer》(美)普拉塔(Prata,S.)著 人民邮电出版社 《数据结构》严蔚敏 著清华大学出版社
1.实验内容
实现一个学生成绩处理程序,先输入多名学生的学号和成绩,然后进入菜单,可以选择打印,添加,修改,删除或查询成绩(学号查询和成绩段查询)。
2.实验步骤 2.1 程序1 2.1.1 程序功能
这是一个学生成绩处理程序,通过用户输入多名学生的学号和成绩,然后进入菜单,可以选择打印,添加,修改,删除或查询成绩(学号查询和成绩段查询)。2.1.2 设计思路
将一个大程序分块化处理,各个部分先用普通方法实现,在能运行的条件下改用插入排序和折半查找实现。先实现输入成绩和菜单,再一项一项实现菜单中的功能。
2.1.3 流程图或其他描述(不要求可以不写)
2.1.4 程序代码(要有注释)
//实现一个学生成绩处理程序,可以选择打印、添加、修改、删除或查询成绩(学号和成绩段查询)
#include #include #include #include #define N 80
typedef struct student { long num;int score;}STU;
STU stu[N];int n=0;int KEY=0;int k;
void Input();void Output();void Add();void Direct();void Delete();void Search();void Sch();void Save();void Read();
void main(){
switch(chos){ case 1: Input();break;system(“cls”);printf(“n”);printf(“学生成绩管理系统nn”);printf(“1.录入n2.显示n3.添加n4.修改n”);printf(“5.删除n6.查找n7.查询n8.退出n”);printf(“n请选择: ”);scanf(“%d”, &chos);int chos;case 2:
} Output();break;case 3: Add();break;case 4: KEY = 1;Search();break;case 5: Delete();break;case 6: Search();break;case 7: Sch();break;case 8: exit(0);break;default:
} printf(“错误!请按要求输入!”);Sleep(2000);main();void Input(){
} int i=-1;system(“cls”);printf(“当输入学号为负时返回!n”);do{
i++;printf(“n”);printf(“请输入第%2d个学生的学号: ”, i+1);scanf(“%ld”, &stu[i].num);if(stu[i].num < 0)break;printf(“请输入第%2d个学生的成绩: ”, i+1);scanf(“%d”, &stu[i].score);n++;}while(i=0);if(stu[i].num <0)Save();void Output(){ system(“cls”);printf(“n”);
} Read();printf(“nn任意键返回!”);getchar();getchar();main();void Add(){
for(i=0;i}
if(stu[N-1].num < stu[i].num){
for(j=n;j>i;j--){
} stu[i].num = stu[N-1].num;stu[i].score = stu[N-1].score;break;stu[j].num = stu[j-1].num;stu[j].score = stu[j-1].score;}else{
} stu[n].num = stu[N-1].num;stu[n].score = stu[N-1].score;break;}n++;printf(“修改后的”);Save();void Direct(){
}
void Delete(){
system(“cls”);printf(“请输入要删除信息的学生学号: ”);scanf(“%ld”, &del);getchar();printf(“确认删除?(Y/N)”);int i, del;char key;printf(“请输入修改后的成绩: ”);scanf(“%d”, &stu[k].score);printf(“修改后的成绩为:n”);printf(“t%8ldt%dn”, stu[k].num, stu[k].score);printf(“nn”);printf(“修改后的”);Save();
} scanf(“%c”, &key);if(key=='y' || key=='Y'){
} printf(“修改后的”);Save();for(i=0;i} if(del == stu[i].num){
} stu[i] = stu[i+1];n-= 1;void Search(){
int i;char key = 'y';
} long search;system(“cls”);if(KEY==1)printf(“n请输入要修改成绩学生的学号: ”);else printf(“n请输入要查询成绩学生的学号: ”);scanf(“%ld”, &search);for(i=0;i} if(KEY == 1)Direct();KEY = 0;if(search == stu[i].num){
} printf(“学生信息为:n”);printf(“t%ldt%dn”, stu[i].num, stu[i].score);k = i;void Sch(){
}
void Save(){ printf(“任意键返回!”);getchar();getchar();main();for(i=0;i} if(stu[i].score>=a && stu[i].score<=b)printf(“t%ldt%dn”, stu[i].num, stu[i].score);system(“cls”);printf(“请输入您要查询的成绩段(A B): ”);scanf(“%d %d”, &a, &b);printf(“符合条件的学生有:n”);int i, a ,b;
} FILE *fp;if((fp=fopen(“score.bin”, “wb”))== NULL){
} fwrite(stu, sizeof(STU), n, fp);fclose(fp);printf(“Failed to save the data!n”);exit(0);printf(“学生成绩已储存在”score.bin“中!n”);printf(“nn任意键返回!”);getchar();getchar();main();void Read(){
FILE *fp;int i, total;
} printf(“学生信息:n”);if((fp=fopen(“score.bin”, “rb”))== NULL){
} printf(“Failed to read the data!n”);exit(0);for(i=0;!feof(fp);i++){ } fclose(fp);fread(&stu[i], sizeof(STU), 1, fp);total = i-1;for(i=0;i3.实验体会
3.1 调试中出现的问题及解决过程
在程序中运用数组时还是不够熟练,调试时总出现指代不明或无法显示所要内容的情况,在认真看老师课上例子后找出错误所在,修改后运行成功。
3.2 心得体会 3.3 实验改进建议
在查询某个学生成绩,可实现查询第n-m名学生成绩,查询分数在n-m之间的学生成绩,查询平均成绩;学生成绩修改(增加、删除、修改)等。
//*学生成绩管理系统*//
#include
#define N 3
struct student
{
int no;
char name[20];
float english;
float computer;
float math;
float average;
};
void getclass(struct student *class_gishui)
{
int i;
printf(“请输入%d个学生的学号 姓名 英语 计算机 数学n”,N);
for(i=0;i{
printf(“第%d个学生”,i+1);
scanf(“%d%s%f%f%f”,&class_gishui[i].no,&class_gishui[i].name,&class_gishui[i].english,&class_gishui[i].computer,&class_gishui[i].math);
}
}
void print_class(struct student *class_gishui)
{
int i;
for(i=0;i{
class_gishui[i].average=(class_gishui[i].english+class_gishui[i].computer+class_gishui[i].math)/3;
}
printf(“学生信息表如下:n”);
printf(“学号tt姓名tt英语tt计算机tt数学tt平均成绩n”);
for(i=0;iprintf(“%dtt%stt%ft%ft%ft%fn”,class_gishui[i].no,class_gishui[i].name,class_gishui[i].english,class_gishui[i].computer,class_gishui[i].math,class_gishui[i].average);
}
void paixu(struct student *class_gishui)
{
int i,j,flag;
struct student t[1];
for(i=0;(i{
flag=0;
for(j=0;jif(class_gishui[j].average>class_gishui[j+1].average)
{
t[0]=class_gishui[j];
class_gishui[j]=class_gishui[j+1];
class_gishui[j+1]=t[0];
flag=1;
}
if(flag==0)
break;
}
printf(“排序后学生成绩为:n”);
printf(“学号t姓名t英语tt计算机tt数学tt平均成绩n”);
for(i=0;iprintf(“%dt%st%ft%ft%ft%fn”,class_gishui[i].no,class_gishui[i].name,class_gishui[i].english,class_gishui[i].computer,class_gishui[i].math,class_gishui[i].average);
}
void main()
{
struct student class_gishui[N];
getclass(class_gishui);
print_class(class_gishui);
paixu(class_gishui);
}
下载学生成绩管理系统实验报告.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
网址:https://www.xiexiebang.com/a7/2019051318/8b272cfa1a61f56d.html
声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。
数据库课程设计报告-----学生管理系统一、需求分析根据老师的要求,我主要把精力集中在学生选课的功能实现上,角色分为管理员与学生 实现功能包括如下两部分:A.学生端实现功能:1.系......
SQL实习《学生成绩管理系统》——ASP.NET/SQL Server班级:姓名:学号:【实验名称】:基于.net的学生成绩管理系统【实验目的】:熟悉基于.net设计系统的步骤和方法【实验步骤】:1、新......
C++程序设计实验报告 院系:电子与控制工程学院 交通信息与控制工程系 学号:2011320101 姓名:XXX 2012年11月20 日 学生信息管理系统 一、 问题描述和需求分析; 编写一个学生信......
Option Explicit Option Base 1 Dim st() As String Dim grade() As chengji, str1$, str2$, prog() As kecheng Private Sub chengji_Click() ' 输出序号、成绩及分数 Cls......
目录 目 录 摘要 ....................................................................................... 错误!未定义书签。 Abstract ....................................
学生成绩管理系统毕业设计论文 【摘要】 本系统依据开发要求主要应用于教育系统,完成对日常的教育工作中学生成绩档案的数字化管理。开发本系统可使学院教职员工减轻工作压......
问题的提出:编程建立学生成绩管理系统。要求具有以下功能:一个学生的信息包括学号、姓名、英语成绩、语文成绩、数学成绩,要求输入每位学生的信息并显示这些信息;同时计算每位学......
07:学生成绩管理系统
【项目背景】
随着多媒体技术和网络通信技术的发展,基于Internet的学生成绩管理系统作为一种全新的教学手段,越来越受到人们的关注。学生成绩管理系统是指......