【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 学生成绩查询系统的程序文件清单


查看更多论文指导相关内容,请点击论文指导

2024 免费范文网版权所有. 京ICP备19018213号-1