首页 > 精品范文库 > 1号文库
PHP学生成绩管理系统综合实验报告(模版)
编辑:紫陌红尘 识别码:10-1072494 1号文库 发布时间: 2024-07-20 17:44:27 来源:网络

第一篇:PHP学生成绩管理系统综合实验报告(模版)

一、实验目的:

1、掌握PHP基本语法及应用。

2、掌握SESSION和COOKIE的使用。

3、掌握使用PHP和页面进行交互。

4、掌握PHP图像处理应用。

5、掌握MySQL数据库的使用及使用PHP操作MySQL数据库。

6、了解系统开发的其他工具及语言。

7、掌握系统开发的基本流程。

二、实验设备及环境:

硬件:多媒体计算机

软件:Windows系列操作系统、PHP系列运行及编译环境、MySQL数据库、Zend Studio

三、实验内容及要求:

1、需求分析

学生成绩管理系统主要使用者是教师和学生使用,因此,对于本系统的分析可以针对这二者进行分别分析;本系统旨在对PHP进行练习,做出一个简易的学生成绩管理系统。主要功能如下:

学生:登录系统,进入系统,查询自己的成绩;

教师:登录系统,进入系统,查询学生信息,查询全部学生成绩,录入学生成绩,管理课表;

通过上面的需求分析可以看到,教师的操作相对较多,但是学生的使用人数要远大于教师的人数,因此在性能上应该对学生的部分增加压力支持,这样才能够满足很多学生同时进行成绩查询的需要。

具体实现的功能结构图如下:

学生成绩管理系统学生教师登录进入系统查询自己的成绩登录进入系统查询学生信息查询全部学生成绩录入学生成绩课程管理

图1.1 功能结构图

2、系统概要设计

根据上文的需求分析,下面进行系统的基本概要设计:

首先系统相对做的比较简易,同时,为了数据传输便利,php文件和静态页面html文件放在项目文件目录下,然后图片资源安排在单独的文件夹中;

Php做网页设计来说,他的表现能力相对较差,因此表现还是要通过html进行展示,所以项目由PHP文件和html文件组成。

基本设计如下:

基本页面:静态页面,登录主页; 学生:动态页面,显示个人成绩

教师:静态页面,登录主页,课程插入,成绩输入,学生信息录入,学生信息查询;动态页面,成绩修改,学生信息修改,学生成绩查询,课程录入处理,成绩录入处理,课程管理等;

基本项目文件结构图如下:

图2.1项目文件结构图

3、数据库设计

依据上文的设计,对数据库进行设计,建立了5个基本表,将学生信息从学生表中分离出来,可以提升程序执行的速度(在数据量较大的时候),具体如下:

教师:用户名,密码

课程:课程号,课程名称,学分 学生:用户名,密码 成绩:学号,课号,成绩

学生信息:学号,姓名,年龄,性别,系部 E-R图如下:

教师NN学生11学生信息N学生成绩学习N课程

图3.1 学生成绩E-R图

4、编码(贴图并分析主要界面的实现过程,重要代码不能超过一页)

系统主要通过PHP从数据库中检索出来数据,然后用于界面展示和操作,其中,检索查询左右学生信息的PHP页面主要代码如下:

<?php session_start();@ $db = new mysqli(“localhost”,“root”,“root”,“sgrademangement”);if(mysqli_connect_errno()){ echo “连接数据库失败”;}

$query = “select s.sid,s.sname,g.cid,c.cname,g.sgrade from sinfo s,grade g,course c

where s.sid=g.sid

and c.cid = g.cid”;$result = $db->query($query);$num_result = $result->num_rows;?>

……

<?php for($i = 0;$i < $num_result;$i++)

{

$row = $result->fetch_assoc();

?>

<?php echo stripslashes($row['sid']);?>

<?php echo stripslashes($row['sname']);?>

<?php echo stripslashes($row['cid']);?>

<?php echo stripslashes($row['cname']);?>

<?php echo stripslashes($row['sgrade']);?>

删除

修改

<?php } //$result->free();$db->close();?>

5、测试

经过对系统的基本功能进行测试,系统基本实现了需求分析中要实现的功能,运行效果基本满足要求;下面是系统运行截图:

图5.1 学生成绩查询

图5.2 学生信息查询

四、心得体会

在此次的学生成绩管理系统程序设计的过程中,我使用Zend Studio进行了一次PHP系统的开发,由于时间以及其它的一些原因,没办法把系统进行比较深入的开发,实在是惭愧,这次设计让我加深了对PHP开发的理解以及思考,同时认识到了一些问题。

我充分认识到了做计划的重要性,只要实现把整体方案规划好,才能保证以后设计的顺利进行,才能应对出现的突发事件,达到系统设计的目标。由于水平有限,错误在所难免,设计过程中有许多不敬如人意的地方。我想,这也是在以后的学习和工作中激励我不断学习,不断前进的动力。我会在今后的工作中不断地完善它,充实它,使之能够更方便、更准确、更快捷地在工作中应用到系统开发技术,提高工作效率。以上是我在本次管理信息系统程序设计中的一点体会,由于自己水平有限,难免又许多错误,请老师予以指正,我将继续努力!

第二篇:学生成绩管理系统实验报告

中南大学

二○一三~二○一四学年第二学期 信息科学与工程学院

C++课程设计报告

课程名称: C++课程设计班级: 通信工程1304班学号:0905130417姓名:毛腾指导教师:

二○一四年七月

目录

一. 需求分析

二.三.

四.五.六.

程序结构

算法分析运行结果

学之心得

程序源码

一. 需求分析

(一)小型学生成绩管理系统

1、需要处理的基础数据

 学生基本信息:如班级、学号、姓名、性别、年龄、宿舍号码、电话号

码等。

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

2、系统的基本功能

 数据的录入:如录入学生的基本信息,以及该学生选修课程的基本信息;  数据的修改:如修改指定学号、或者指定姓名的学生信息,或者修改其

选修课程信息;

 数据的插入:插入某个学生信息;

 数据的查询:如按学号查询、按姓名查询等;

 数据的删除:如删除指定学号、或者指定姓名的学生及其选修课程信息; 平均成绩的计算:计算每个学生各门功课的平均成绩,并按平均成绩从

高到低的次序输出学生信息;

 列出不及格学生清单(学号、姓名、不及格的课程和成绩)。 考虑用文件把数据保存起来(可选)。

二.程序结构

(1)程序框图

第三篇:PHP综合应用实验报告

PHP综合应用实验报告

班 级:10网工三班

学生姓名:谢昊天

学号:1215134046

实验目的和要求:

1、使学生理解PHP网站开发流程;

2、使学生能够把平时所学的知识进行统一的整合;

3、使学生理解一个完整的网站应用系统的构成。

实验内容:

参看教材的第10章,按照教材上的要求完成一个简单的新闻发布系统。整个系统要具备以下内容:

1、数据库设计

要出具整个系统的E-R图;

2、系统模块的设计 要有用户管理、新闻发布、文件上传、新闻编辑、新闻查询以及发表评论等功能。

3、其他要求

要使用Cookie或Session会话技术,要使用网站分页技术。

实验步骤与调试过程:

1、创建数据库,创建4个表分别为:news(新闻信息表),review(新闻评论信息表),category(新闻类别表),login(登陆信息表)。

2、为每一个表添加相关的字段,完成各个表之间的约束性的创建。其中新闻信息表的创建包括这几个字段:每个新闻的ID号,新闻标题title,新闻的内容content,附注attachment。新闻评论表包括:评论ID;评论内容;是否被审查;新闻类别表包括:类别id;类别名;登陆表包括:登陆ID;登陆名;登陆密码;登陆身份。

3、完成系统功能需求、模块等分析。在系统功能模块的实现中,为实现添加、取出、修改、删除新闻的各种信息都必须先连接主机,选择数据库,向数据库发出请求需要使用三个函数分别是: mysql_pconnect()(连接主机),mysql_select_db()(选择数据库),mysql_query()(向数据库发出请求)。

4、为了完成对数据库中数据进行相关的添加、删除等操作需要使用insert(向数据库插入数据)、delete(删除数据表中的数据)、select(检索数据)、update(更新数据)。

5、显示新闻,在显示新闻的首页上显示新闻的标题,使用循环输出所有的新闻的标题。要查看具体的内容时,点击新闻的标题的超链接进入一个新的页面即可查看这条新闻。

6、完成用户前台的登陆界面设计,普通用户要评论必须先注册,注册之后登录方可进行留言评论。

7、在程序中使用cookie来存储用户的名字。

8、.建database.php文件,实现mysql服务器的开启与关闭。init.php文件,负责用户表users中添加管理员。news_add.php文件为浏览器用户提供输入数据的界面。file_system.php文件提供上传和下载用的函数。

9、创建所用的脚本文件进行编译测试。

实验结果

1、成功完成系统设计、数据库设计。

2、成功完成数据库及表的创建.。

3、成功完成了系统模块的设计,实现了用户管理、新闻发布、文件上传、新闻编辑、新闻查询以及发表评论等功能。

4、实现了具体的各功能模块,包括数据库的链接,向数据库中添加数据,删除数据、修改数据和更新数据等以及当很多条内容记录时要进行分页的设计。

5、新闻发布成功并能够对页面进行修改。

实验总结:

通过本次试验,我对基于PHP综合应用思想有了进一步的了解,通过动手实现PHP综合应用编程及运行,更加深刻的理解了PHP综合应用的特点。本次实验是一个B/S(浏览器/服务器)交互式的校园新闻管理系统网站。系统分为两部分,一是管理员所能操作的部分,二是外界用户所能操作的部分。在管理员部分中,管理员首先需要将新闻分类,然后再向各类中添加多条新闻信息。管理员有权对新闻的类别和数量进行增加,查看,修改,删除的操作。用户部分的功能为,用户可以查看新闻的标题,详细内容并可以发表评论。评论需要经过管理员查看才可发表,管理员同样也有修改评论的权利。同时,在实验过程中,同时回顾书本上的理论知识,巩固了我的知识。通过此次实验,是我对一个完整的网站应用系统的构成有了进一步了解,把平时所学的知识进行了统一的整合,对自己以后的工作积累了经验。

主要算法和程序清单:

<? if(@$_POST[“submit”]){ if(empty($_POST[“username”]))die(“ 请输入用户名 ”);//

else $username = $_POST[“username”];// 记录用户名if(empty($_POST[“password”]))die(“ 请输入密码 ”);else $password = $_POST[“password”];$link=mysql_connect(“localhost”,“root”,“");$selectdb = mysql_select_db(”yayu“,$link);$sql=”select id,password,name from users where name='$username'“;$result=mysql_query($sql)or die(mysql_error());while($pa = mysql_fetch_assoc($result)){ // mysql_fetch_assoc()函数是把返回的数据以数组的方式保存,数组的下标与字段名 // 相对应

$pwd = $pa[password];$userid = $pa[id];// 检测用户名是否正确

if(!$result){ echo ” 错误的用户名 “;echo ”
重新登陆 “;mysql_close($link);exit;} // 检测密码是否正确

if($pwd!= $password){ echo ” 亲爱的 “.$username.”
“;echo ” 密码输入错误 “;echo ”
请 重新登陆 “;mysql_close($link);exit;} // 如果一切正常,则设置 Cookie setcookie(”username“,$_POST[”username“]);header(”Location:admin.php“);} if(@$_GET[”action“]==”logout“){ setcookie(”username“,”“);header(”Location:index.php");} } ?>

第四篇:c++大作业 学生成绩管理系统 学生实验报告 样本[最终版]

学生实验报告

实验课名称: 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.)著 人民邮电出版社 《数据结构》严蔚敏 著清华大学出版社

第五篇:c语言实验报告三 学生成绩管理系统

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(202_);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;i

3.实验体会

3.1 调试中出现的问题及解决过程

在程序中运用数组时还是不够熟练,调试时总出现指代不明或无法显示所要内容的情况,在认真看老师课上例子后找出错误所在,修改后运行成功。

3.2 心得体会 3.3 实验改进建议

在查询某个学生成绩,可实现查询第n-m名学生成绩,查询分数在n-m之间的学生成绩,查询平均成绩;学生成绩修改(增加、删除、修改)等。

PHP学生成绩管理系统综合实验报告(模版)
TOP