【www.justzx.com--论文指导】
篇一:学生成绩查询系统
《程序设计基础》课程设计
设计题目:_学生成绩查询系统_______
专业:
班级:___
姓名: __
学号:
指导老师:________
目录
一、课程设计目的与要求 ............................................ 3
二、详细设计 ...................................................... 4
三、程序清单和执行结果 ............................................ 9
四、调试与测试 ................................................... 23
五、结语 ......................................................... 24
一、课程设计目的与要求
1.课程设计目的
(1)综合运用之前所学知识(选择控制,循环控制,数组,函数,指针,结构体和文件等)来完成一个简单的信息管理程序的设计。
(2)充分体现和体会函数在程序设计中的必要性和实用性,并反映主函数main()在程序设计中的实现思路和方法。
2. 课程设计要求
设计一个简易学生成绩记录簿设计,其中包括:姓名,学号,C语言成绩; 具体功能:
1.系统以菜单方式工作
2. 创建学生成绩信息并以磁盘文件保存;
3. 读取磁盘文件并显示输出所有学生的成绩;
4. 查询学生成绩
(1)按学号查询成绩
(2)学号姓名查询成绩
5.添加成绩记录;
6.修改指定姓名或学号的学生的成绩并可存盘;
7.显示输出60分以下、60~79、80~89、90分以上各分数段的学生信息。
二、详细设计
1、数据结构设计
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<windows.h>
int n=4;
struct student
{
int num; /*学号*/
char name[10]; /*姓名*/
float score[3]; /*成绩*/
}
2.函数说明
1.主函数
main()允许用户通过菜单进行功能选择,使用相应的功能代码来调用对应的函数功能。
2.其他部分功能函数包括
(1) 将学生成绩信息保存为文件void save();
算法思想:
①定义指向文件的指针变量;
②输入保存路径及文件名,打开文件,若不能打开文件给出提示信息; ③将存有学生成绩信息的结构体数组信息依次保存到文件中。
(2) 学生成绩信息录入函数void input()
算法思想:
①依次录入结构体数组中所包含的各个成员;
②直到输入的结构体成员中信息为4,数据输入结束;
③返回实际录入的学生成绩信息数。
(3)从文件中读出学生成绩信息void output();
算法思想:
①定义指向结构体变量的指针和指向文件的指针;
②输入文件的路径,打开文件,若不能打开文件给出提示信息;
③将文件中的信息依次读出,最后结构体的指针为NULL。
3.函数设计
(1)主菜单函数main()
功能:函数返回值为整数,代表所选的菜单项
int main ()
{
printf(" ********************************************************* \n");printf(" \n");printf(" <<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>> \n");
printf(" >>欢迎进入学生成绩记录系统<< \n");printf(" >>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<< \n");
printf(" \n");printf(" 【1】-------------------------- 创建学生成绩信息 \n");printf(" \n");printf(" 【2】-------------------------- 显示所有学生成绩信息 \n");printf(" \n");
printf(" 【3】-------------------------- 添加学生成绩信息 \n");printf(" \n");printf(" 【4】-------------------------- 查询学生成绩信息 \n");printf(" \n");printf(" 【5】-------------------------- 修改学生的信息 \n");printf(" \n");printf(" 【6】-------------------------- 按分数段显示学生的信息 \n");printf(" \n");printf(" 【0】-------------------------- 退出 \n");printf(" \n");printf(" ********************************************************* \n");printf(" 请输入相应菜单编号: ");
}
(2)我负责编写的程序
A.添加学生信息
void Addstudent()
{
FILE *fp;
struct student s;
fp=fopen("stu.dat","ab");
篇二:学生成绩查询系统
学生成绩查询系统
1 课题内容和要求
1.1 课题描述
【问题描述】试编写程序完成学生成绩记录的查询。
学生基本情况表
1.2 课题要求
【基本要求】
(1)若按学号进行顺序查找,例如:输入14070103,则输出 56。
(2) 按学号排序后对学号进行折半查找。
(3) 随机输入以学号为关键字的学生信息并构建二叉排序树,对学号进行二叉排序树查找。 2 需求分析
2.1 设计要求
本系统主要实现对学生成绩信息进行管理,需要实现以下几个方面的管理功能:
(1)增加学生信息:输入学生的相关信息,包括姓名,学号,成绩
(2)显示学生信息:输出全部学生的信息
(3)查找学生信息:按照学生学号查找并输出
1
(4)删除学生信息:按照学生学号删除
(5)成绩统计:输出成绩的总和,平均值
(6)显示想要的排名:按成绩从高到低排序,输出对应的学生信息
(7)显示成绩不及格的学生信息:输出成绩小于60的学生信息
2.2 开发环境
普通计算机 Visual C++
3 概要设计
3.1 采用数据结构及存储方式
struct student
{
};
struct student st[300]; //这个数组用来保存所有的学生信息 和文件里面的一致
int Number=0; //记录总的学生人数 也就是数组/文件里面的学生人数
3.2 系统功能结构
void zdbc()//自动保存
void fh()//返回
void bujige()//输出成绩不及格的学生信息
void paixu()//排序显示想要的排名
void tongji()//统计成绩的总分,均分
void xhdel()//按学号删除
void xhselect()//按学号查找
void see() //显示学生信息
void add()//增加学生信息
void xianshi()//显示界面
2 char name[60]; char ID[60]; int score;
void bc(struct student st[])
int dq(struct student st[])
3.3 函数之间的调用关系
main函数调用void zdbc()//自动保存,void fh()//返回,void bujige()//输出成绩不及格的学生信息,void paixu()//排序显示想要的排名,void tongji()//统计成绩的总分,均分,void xhdel()//按学号删除,void xhselect()//按学号查找,void see() //显示学生信息,void add()//增加学生信息,void xianshi()//显示界面,void bc(struct student st[]),int dq(struct student st[])
4 详细设计及实现
4.1 数据结构的类型定义
struct student
{
};
struct student st[300]; //这个数组用来保存所有的学生信息 和文件里面的一致
int Number=0; //记录总的学生人数 也就是数组/文件里面的学生人数
4.2 void bujige()操作算法设计与实现
char name[60]; char ID[60]; int score; int i=0;
printf("以下是不及格:\n");
printf("\t姓名\t学号\t成绩\n");
for (i=0;i<Number;i++)
{
if (st[i].score<60)
3
printf("\t%s\t%s\t%d\n",st[i].name,st[i].ID,st[i].score); } }
4.3 void paixu()操作算法设计与实现 struct student temp;
int wantNUmber=0;
int i=0;
int j=0;
for(i=0;i<Number-1;i++)
{
}
printf("你想输出前几名的成绩:"); scanf("%d",&wantNUmber);
if (wantNUmber>Number)
{
wantNUmber=Number;
4for(j=i;j<Number-1;j++) { } if(st[j].score<st[j+1].score) { } temp=st[j]; st[j]=st[j+1]; st[j+1]=temp;
for(i=0;i<wantNUmber;i++) { } printf("\t%s\t%s\t%d\n",st[i].name,st[i].ID,st[i].score);
4.4 void tongji()操作算法设计与实现 int i=0;
double sum=0.0; for(i=0;i<Number;i++) { } printf("全班总分为:%f\n",sum); printf("平均分为:%f\n",sum/Number); sum+=st[i].score;
4.5 void xhdel()操作算法设计与实现 FILE *fp=NULL;
char id[60]; int i=0; int j=0; printf("请输入要删除的学生学号:"); scanf("%s",id); for(i=0;i<Number;i++) { if (strcmp(id,st[i].ID)==0) //如果查找到就删除 {for (j=i;j<Number-1;j++) {
5
篇三:学生成绩查询系统
学生成绩查询
本题编程实现对学生成绩查询,主要实现一个JSP+JavaBean开发模式,要求:编写一个JavaBean对数据库实现连接、查询、关闭等功能。使用MS SQL Server 2005
本题使用的数据库名称为:Query_Score。
表的名称为:student
表内容:
图 1
(1) 编写对数据库进行操作的JavaBean
package com.database;
import java.sql.*;
public class MyDbBean
{
private Statement stmt = null;
ResultSet rs = null;
private Connection conn = null;
private String dsn;
//构造函数
public MyDbBean() { }
//根据dsn参数,加载驱动程序,建立连接
public void getConn(String dbname, String uid, String pwd) throws Exception
{
try
{
dsn = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=" +dbname;
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
conn = DriverManager.getConnection(dsn, uid, pwd);
}
catch (Exception ex)
{System.err.println("aq.executeQuery: " + ex.getMessage()); }
}
//执行查询类的SQL语句,有返回集
public ResultSet executeQuery1(String sql)
{
rs = null;
try
{stmt = conn.createStatement();rs =
stmt.executeQuery(sql); }
catch(SQLException ex)
{System.err.println("aq.executeQuery:"+ex.getMessage()); }
return rs;
}
//关闭对象
public void closeStmt()
{ try{stmt.close();}
catch(SQLException ex)
{System.err.println("aq.executeQuery: " + ex.getMessage()); }
}
public void closeConn()
{
try{conn.close(); }
catch(SQLException ex)
{System.err.println("aq.executeQuery: " +
ex.getMessage()); } } }
(2) 编写按姓名查询成绩的界面
图2
<body> <center><fieldset>
<legend a="center">学生成绩查询系统</legend>
<form action="queryscore.jsp"method="post" name="queryForm" >
姓名:<input type="text" name="xuehao">
<input type="submit" value="查询">
</form></fieldset> </center> </body>
(3) 接收从图2中输入姓名,单击查询后,得到如下结果:
<body>
<jsp:useBean id="query" scope="session" class="com.database.MyDbBean"/>
<%!
<%
stu_name=request.getParameter("xuehao").trim();
if(stu_name==null)
{ stu_name=null;}
byte b[]=stu_name.getBytes("ISO-8859-1");
stu_name=new String(b,"UTF-8");
//调用getConn()方法与数据库建立连接
query.getConn("Query_Score","sa","");
sql="select * from student where stu_name='" +stu_name+ "'";
ResultSet rs=query.executeQuery1(sql);
out.print("<table border align=center>");
out.print("<tr>");
out.print("<th width=100>"+"学号"+"</th>");
out.print("<th width=100>"+"姓名"+"</th>");
out.print("<th width=50>"+"Java成绩
"+"</th>"); String stu_name,sql; %>
out.print("<th width=50>"+"J2EE成绩"+"</th>");
out.print("<th width=50>"+"软件成绩"+"</th>");
out.print("</tr>");
while(rs.next())
{ out.print("<tr align=center>");
out.print("<td>"+rs.getString(1)+"</td>");
out.print("<td>"+rs.getString(2)+"</td>");
out.print("<td>"+rs.getInt(3)+"</td>");
out.print("<td>"+rs.getInt(4)+"</td>");
out.print("<td>"+rs.getInt(5)+"</td>");
out.print("</tr>");
}
rs.close();
query.closeStmt();
query.closeConn();
%>
</body>
学生成绩查询系统
使用JSP、servlet以及JavaBean来实现学生成绩查询系统。虽然实现的功能比较简单,但是采用了较为完整的JSP/Servlet软件结构,以及MVC设计模式。MVC设计模式即“模型(Model)、视图(View)和控制器(Controller)”框架结构。各个模块的功能说明见表 1所示。
表 1 MVC设计模式各个模块的功能说明
1系统结构:
学生成绩查询系统是一个Java Web开发应用,采用了典型的3层软件结构。
◆客户层:提供了基于浏览器的JSP用户页面。学生可以通过浏览器,在相应的JSP页面中输入学号,之后
在指定的页面中查看成绩。
◆服务层:Servlet及JavaBean组件运行在Web服务器上。JavaBean用于访问数据库及进行相应事物的逻辑
处理,而servlet则是整个系统的控制器,用来协调各部分组件的正常工作。
◆数据库层:用于存放和维护Web应用中所用到的数据信息。在本系统中,主要用于存放学生及学生成绩的
数据信息。
学生成绩查询系统的软件结构如图 1所示。
图 1 学生成绩查询系统程序框架
学生成绩查询系统实现时,具体的程序文件及功能见表 2所示。 表2 学生成绩查询系统的程序文件清单
查看更多论文指导相关内容,请点击论文指导