搜档网
当前位置:搜档网 › java学生成绩管理系统实验报告

java学生成绩管理系统实验报告

java学生成绩管理系统实验报告
java学生成绩管理系统实验报告

JA V A课内实验报告学生成绩管理系统

一.实验目的及实验环境

实验目的:在如今的高校日常管理当中,学生成绩管理系统就是其中非常重要的一环,特别是当前学生规模大,课程门类多,校区分散等实际情况,学生成绩管理系统更具有非常大的实际应用意义。但是,我们看到,其实我们学校的学生成绩管理系统在很多方面作的不是很完善,功能方面也有欠缺。随着科技的发展,基本上所有的具有一定数量数据的机构都开始使用计算机数据库来做管理。几乎所有学校也都已经在使用计算机管理数据的机制,大大减少了学校学生成绩管理的工作量。该课程设计旨在设计一个学生成绩的数据库管理系统,数据库中要求包含学生的基本信息,学科基本信息,以及学生所学课程的考试成绩。要方便学生进行成绩查询,通过该课程设计,应该达到把java理论知识更加的巩固加深,加强动手能力与实践能力,学以致用,与现实生活中的应用充分的结合起来。

实验环境:

① JAVA开发工具MyEclipse 8.5

② Microsoft SQL Server 2005

二.实验内容

在JAVA开发工具MyEclipse 8.5和Microsoft SQL Server 2005环境下,运用学到的java和数据库理论知识,设计一个具有简单的增加`删除`修改`查询操作的学生成绩管理系统。

三.方案设计

1、系统功能设计要求

此系统实现如下功能:

(1)使得学生的成绩管理工作更加清晰、条理化、自动化。

(2)通过用户名和密码登录系统,查询、删除、修改和增加课程基本资料`学生所选课程`用户密码等功能。容易地完成学生成绩信息及学生信息的基本操作。

(3) 设计人机友好界面,功能安排合理,操作使用方便,并且进一步考虑系统在安全性,完整性,并发控制,备份和恢复等方面的功能要求。

2、系统模块设计

学生成绩管理系统大体可以分成两大模块:一是学生的基本信息模块,里面应该包含学生的各方面的基本信息;二是课程管理模块,在该模块中应该包含有对学生成绩信息的查询和处理;可以得到的系统流程图如下图 2.1所示:

图2.1 学生成绩管理系统的系统流程图

3、数据字典

数据项是数据库的关系中不可再分的数据单位,下表分别列出了数据的名称、数据类型、长度、取值能否为空。利用SQL Server 2005建立学生成绩管理系统数据库,其基本表清单及表结构描述如下:

数据库中用到的表,结构如下表3.1所示:

Class基本情况数据表,结构如下表3.2所示:

表3.2 class表的数据信息

Course基本情况数据表,结构如下表3.3所示:

Student基本情况数据表,结构如下表3.4所示:

Gradecourse基本情况数据表,结构如下表3.5所示:

Result基本情况数据表,结构如下表3.6所示:

Users基本情况数据表,结构如下表3.7所示:

4.由需求分析的结果可知,本系统设计的实体包括:

(1)学生基本信息:学号、姓名、性别、出生日期、班级编号、联系电话、入学年份、家庭地址,备注信息。

(2)课程基本信息:课程名、课程号、课程类型、备注信息。

(3)成绩基本信息:考试编号、学生学号、学生姓名、班级号、课程名称、成绩。

(4)班级基本信息:班级编号、年级、班主任、教师编号。

由上述分析可得到系统的E—R图如下图4.1所示:

图4.1 学生成绩管理系统E—R图

5.逻辑和物理结构设计

(1)由系统E—R图转化而得到的关系模式如下:

① 学生(学号、姓名、性别、出生日期、班级编号、联系电话、入学年份、

家庭地址,备注信息),其主关键字为学生学号;

② 课程(课程名、课程号、课程类型、备注信息),其中主关键字为课程编号;

③ 成绩(考试编号、学生学号、学生姓名、班级号、课程名称、成绩)。

(2)确定关系模型的存取方法

在将概念模型转换成物理模型之后,我们可以对物理模型进行设计,双击物理模型的关系,可以对该关系的名称、注释等信息进行查询。可对该关系的属性列进行设计,可分别设置其名称、码、数据类型以及主码、是否为空等。在实际设计中最常用的存取方法是索引发,使用索引可以大大减少数据的查询时间,在建立索引时应遵循:在经常需要搜索的列上建立索引;在主关键字上建立索引;在经常用于连接的列上建立索引,即在外键上建立索引;在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的等规则。才能充分利用索引的作用避免因索引引起的负面作用。

(3)确定数据库的存储结构

确定数据库的存储结构主要指确定数据的存放位置和存储结构,包括确定关系、索引、日志、备份等的存储安排及存储结构,以及确定系统存储参数的配置。因为该成绩管理系统的数据量小,,所以我们只用把数据存储在使用的电脑硬盘上,不用作更多的安排

四.测试数据及运行结果

1.正常测试数据(3组)及运行结果;

登陆界面,如下图5.1所示

图5.1 用户登陆成功界面

添加界面,如下图5.2所示

图5.2 添加课程信息界面

修改界面,如下图5.3所示

图5.3 修改密码界面

2.非正常测试数据(2组)及运行结果。

用户登录界面,如下图6.1所示(输入不存在的用户信息)

图6.1 用户登录错误界面

添加界面,如下图6.2所示

图6.2 添加信息输入错误数据类型界面

重要代码(用户登录界面)

void login_actionPerformed(ActionEvent e) {

username = JOptionPane.showInputDialog(this, "请输入用户名");

String pwd = JOptionPane.showInputDialog(this, "请输入密码");

if (! (username == null && pwd == null)) {

try {//连接数据库,验证用户

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriv er");

Connection con = DriverManager.getConnection(

"jdbc:sqlserver://localhost:1433;databasename=StudentScor e ","sa","yangmeng");

ps =

con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,Res ultSet.CONCUR_READ_ONLY);

try {

rs = ps.executeQuery("select * from users where username='" +username + "' "); //读取数据库

五.总结

1.实验过程中遇到的问题及解决办法;

本次实验因为以前没有接触过sql server和eclipse的连接方面的技术,所以刚开始不知道如何操作,后来通过去图书馆查阅资料`上网`以及请教大四的学长对jdbc连接桥有了初步的了解,在后期的编程中才发现自己平时在课堂上学的东西没有很好的实践,在运用时总是有一些小错误,如不知道dispose()这个函数是干什么用的,通过查阅课本和资料了解了它是用来销毁窗口,释放资源的一个函数

2.对设计及调试过程的心得体会。

这次上机实验,虽然过程中遇到了大大小小的问题,不过后来在自己翻阅资料请教别人的过程中,理论与实践的结合让我可以明显感觉到自己对java知识有了跟深入的掌握及了解,如java环境变量的设置以及参数的返回值问题等一些必不可少的基础知识都比以前有了更多的了解,同时也让我明白了平时一定要勤加练习,将课本上死的知识变成自己的,实践出真知应该就是这个道理。

JAVA学生信息管理系统实验报告

JA V A程序设计实验报告 学号: 姓名: 班级: 实验、Java课程设计--------学生信息管理系统

一、实验目的 1.掌握Java基本语法 2.理解面向对象编程特点 3.理解Java I/O编程 4.掌握Java图形界面编程 5.掌握Java与不同数据库进行连接 二、预习内容 Java的基本语法知识、类和对象、Java Swing图形界面编程、Java I/O处理以及Java与数据库连接操作 三、实验设备与环境 通过局域网互联,安装Windows 2000/XP操作系统环境的JDK 1.6,my eclipse 或者EditPlus编程工具。并安装MySQL数据库 四、实验内容 编写并调试运行Java程序,进行设计,掌握Java开发的基础。 五、实验任务 设计学生信息管理系统。要求包括 1. 登陆模块:设立超级管理员权限,用户可以根据不同的权限登陆系统,超级管理员可以对学生信息进行增、删、改、查操作。而普通用户只可以查找学生信息。 2. 包括学生添加信息模块、学生信息删除模块、学生信息修改模块和学生信息查询模块 3.对于管理员,可以对管理员进行添加、删除以及修改密码等操作。 六、实验报告(要求独立完成参考程序的代码、编译、调试与运行) 1、程序清单: 1.1程序模块清单 package Pan; import java.awt.event.ItemListener; import javax.swing.*; import https://www.sodocs.net/doc/16577820.html,ponent;

import java.awt.BorderLayout; import java.awt.FlowLayout; import java.awt.event.InputEvent; import java.awt.event.ItemListener; import java.awt.event.KeyEvent; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; import java.util.*; import java.awt.Color; import java.text.DecimalFormat; import java.sql.*; import java.sql.Date; import java.awt.*; import java.util.Vector; public class Res { /** * @param args */ public static void main(String[] args) {

java实现学生成绩管理系统

对java初学者来说,学生成绩管理系统还是可以实现的。 import java.util.*; public class student { public static void main(String[] args){ Scanner in=new Scanner(System.in); System.out.println("请输入学生人数:"); int people=in.nextInt();//存储学生人数。 System.out.println("请输入科目数:"); int subject=in.nextInt();//存储课程数目。 String arr[]=new String[subject];//声明一个数组存储课程。 String[] str=new String[people];//声明一个数组存储一个学生的姓名各科成绩,总分,平均分。 /* * 循环输入课程名称。 */ for(int i=0;i<=arr.length-1;i++){ System.out.println("请定义第"+(1+i)+"门课程名称:"); arr[i]=in.next(); } int score[][] = new int[people][subject];//声明二维一个数组存储学生成绩。 String arrs[]=new String[people];//声明一个数组存储学生姓名。 int[] sum=new int[people];//声明一个数组存储各个学生总成绩。 int[] avg=new int[people];//声明一个数组存储各个学生平均成绩。 /* * 循环输入学生成绩。计算各个学生总分和平均成绩。 */ for(int i=0;i

操作系统实验报告--实验一--进程管理

实验一进程管理 一、目的 进程调度是处理机管理的核心内容。本实验要求编写和调试一个简单的进程调度程序。通过本实验加深理解有关进程控制块、进程队列的概念,并体会和了解进程调度算法的具体实施办法。 二、实验内容及要求 1、设计进程控制块PCB的结构(PCB结构通常包括以下信息:进程名(进程ID)、进程优先数、轮转时间片、进程所占用的CPU时间、进程的状态、当前队列指针等。可根据实验的不同,PCB结构的内容可以作适当的增删)。为了便于处理,程序中的某进程运行时间以时间片为单位计算。各进程的轮转时间数以及进程需运行的时间片数的初始值均由用户给定。 2、系统资源(r1…r w),共有w类,每类数目为r1…r w。随机产生n进程P i(id,s(j,k),t),0<=i<=n,0<=j<=m,0<=k<=dt为总运行时间,在运行过程中,会随机申请新的资源。 3、每个进程可有三个状态(即就绪状态W、运行状态R、等待或阻塞状态B),并假设初始状态为就绪状态。建立进程就绪队列。 4、编制进程调度算法:时间片轮转调度算法 本程序用该算法对n个进程进行调度,进程每执行一次,CPU时间片数加1,进程还需要的时间片数减1。在调度算法中,采用固定时间片(即:每执行一次进程,该进程的执行时间片数为已执行了1个单位),这时,CPU时间片数加1,进程还需要的时间片数减1,并排列到就绪队列的尾上。 三、实验环境 操作系统环境:Windows系统。 编程语言:C#。 四、实验思路和设计 1、程序流程图

2、主要程序代码 //PCB结构体 struct pcb { public int id; //进程ID public int ra; //所需资源A的数量 public int rb; //所需资源B的数量 public int rc; //所需资源C的数量 public int ntime; //所需的时间片个数 public int rtime; //已经运行的时间片个数 public char state; //进程状态,W(等待)、R(运行)、B(阻塞) //public int next; } ArrayList hready = new ArrayList(); ArrayList hblock = new ArrayList(); Random random = new Random(); //ArrayList p = new ArrayList(); int m, n, r, a,a1, b,b1, c,c1, h = 0, i = 1, time1Inteval;//m为要模拟的进程个数,n为初始化进程个数 //r为可随机产生的进程数(r=m-n) //a,b,c分别为A,B,C三类资源的总量 //i为进城计数,i=1…n //h为运行的时间片次数,time1Inteval为时间片大小(毫秒) //对进程进行初始化,建立就绪数组、阻塞数组。 public void input()//对进程进行初始化,建立就绪队列、阻塞队列 { m = int.Parse(textBox4.Text); n = int.Parse(textBox5.Text); a = int.Parse(textBox6.Text); b = int.Parse(textBox7.Text); c = int.Parse(textBox8.Text); a1 = a; b1 = b; c1 = c; r = m - n; time1Inteval = int.Parse(textBox9.Text); timer1.Interval = time1Inteval; for (i = 1; i <= n; i++) { pcb jincheng = new pcb(); jincheng.id = i; jincheng.ra = (random.Next(a) + 1); jincheng.rb = (random.Next(b) + 1); jincheng.rc = (random.Next(c) + 1); jincheng.ntime = (random.Next(1, 5)); jincheng.rtime = 0;

操作系统实验报告java

操作系统实验报告 院系: 专业: 班级: 学号: : 指导老师:

进程调度的模拟与存管理 一、实验目的 在采用多道程序设计的系统中,往往有若干个进程同时处于就绪状态。当就续进程个数大于处理器数时,就必须依照某种策略来决定哪些进程优先占用处理器。实验模拟实现处理机调度,以加深了解处理机调度的工作,并体会优先级和时间片轮转调度算法的具体实施方法。帮助了解在不同的存储管理方式下,应怎样实现主存空间的分配和回收。 二、实验要求 1、可随机输入若干进程,并按优先权排序; 2、从就绪队首选进程运行:优先权-1/要求运行时间-1 要求运行时间=0时,撤销该进程 3、重新排序,进行下轮调度。 4、可随时增加进程; 5、规定道数,设置后备队列和挂起状态。若存中进程少于规定道数,可自 动从后备队列调度一作业进入。被挂起进程入挂起队列,设置解挂功能 用于将指定挂起进程解挂入就绪队列。 6、每次调度后,显示各进程状态。 7、自行假设主存空间大小,预设操作系统所占大小并构造未分分区表; 表目容:起址、长度、状态(未分/空表目) 8、结合以上实验,PCB增加为: {PID,要求运行时间,优先权,状态,所需主存大小,主存起始位置,

PCB指针} 9、采用最先适应算法分配主存空间; 10、进程完成后,回收主存,并与相邻空闲分区合并。 11、采用图形界面; 三、实验容 选择一个调度算法,实现处理机调度。 1、设计一个按优先权调度算法实现处理机调度的程序; 2、设计按时间片轮转实现处理机调度的程序。 3、主存储器空间的分配和回收。在可变分区管理方式下,采用最先适应算法实现主存空间的分配和回收。 四、实验原理 该模拟系统采用java语言实现,要实现的功能有新建进程、进程调度、挂起进程、解挂进程、删除进程,道数和时间片大小可以由用户自己调整,有两种调度策略:按优先权调度和按时间片轮转调度。每个进程可能有5种状态:新建(new)、就绪(ready)、运行(running)、阻塞(waiting)、挂起(suspend)。每个状态都有一个队列用来存放处于该状态的进程,不同的调度策略采用不同的队列实现。当创建进程时,如果存中的进程数还没达到规定道数,则将新建进程插入就绪队列,如果存中进程数已经达到规定道数,则插到后备队列,后备队列中的进程的状态为new。CPU每次调度时都从就绪队列中取进程,在进程执行过程中如果下一个操作时IO操作,则将进程插入到waiting队列。在系统运行过程中可以执行进程挂起操作,但执行的挂起操作时系统自动暂停运行,在弹出窗口选

嵌入式操作系统实验报告

中南大学信息科学与工程学院实验报告 姓名:安磊 班级:计科0901 学号: 0909090310

指导老师:宋虹

目录 课程设计内容 ----------------------------------- 3 uC/OS操作系统简介 ------------------------------------ 3 uC/OS操作系统的组成 ------------------------------ 3 uC/OS操作系统功能作用 ---------------------------- 4 uC/OS文件系统的建立 ---------------------------- 6 文件系统设计的原则 ------------------------------6 文件系统的层次结构和功能模块 ---------------------6 文件系统的详细设计 -------------------------------- 8 文件系统核心代码 --------------------------------- 9 课程设计感想 ------------------------------------- 11 附录-------------------------------------------------- 12

课程设计内容 在uC/OS操作系统中增加一个简单的文件系统。 要求如下: (1)熟悉并分析uc/os操作系统 (2)设计并实现一个简单的文件系统 (3)可以是存放在内存的虚拟文件系统,也可以是存放在磁盘的实际文件系统 (4)编写测试代码,测试对文件的相关操作:建立,读写等 课程设计目的 操作系统课程主要讲述的内容是多道操作系统的原理与技术,与其它计算机原理、编译原理、汇编语言、计算机网络、程序设计等专业课程关系十分密切。 本课程设计的目的综合应用学生所学知识,建立系统和完整的计算机系统概念,理解和巩固操作系统基本理论、原理和方法,掌握操作系统开发的基本技能。 I.uC/OS操作系统简介 μC/OS-II是一种可移植的,可植入ROM的,可裁剪的,抢占式的,实时多任务操作系统内核。它被广泛应用于微处理器、微控制器和数字信号处理器。 μC/OS 和μC/OS-II 是专门为计算机的嵌入式应用设计的,绝大部分代码是用C语言编写的。CPU 硬件相关部分是用汇编语言编写的、总量约200行的汇编语言部分被压缩到最低限度,为的是便于移植到任何一种其它的CPU 上。用户只要有标准的ANSI 的C交叉编译器,有汇编器、连接器等软件工具,就可以将μC/OS-II嵌入到开发的产品中。μC/OS-II 具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点,最小内核可编译至2KB 。μC/OS-II 已经移植到了几乎所有知名的CPU 上。 严格地说uC/OS-II只是一个实时操作系统内核,它仅仅包含了任务调度,任务管理,时间管理,内存管理和任务间的通信和同步等基本功能。没有提供输入输出管理,文件系统,网络等额外的服务。但由于uC/OS-II良好的可扩展性和源码开放,这些非必须的功能完全 可以由用户自己根据需要分别实现。 uC/OS-II目标是实现一个基于优先级调度的抢占式的实时内核,并在这个内核之上提供最基本的系统服务,如信号量,邮箱,消息队列,内存管理,中断管理等。 uC/OS操作系统的组成 μC/OS-II可以大致分成核心、任务处理、时间处理、任务同步与通信,CPU的移植等5个部分。如下图:

java学生成绩管理系统代码

JAVA学生成绩管理系统代码import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.sql.*; import javax.swing.*; import java.awt.*;import java.awt.event.*; import java.awt.event.*; import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.sql.*; import javax.swing.table.JTableHeader; import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.sql.*; import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.sql.*; import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.sql.*; import javax.swing.*; import java.awt.*;

import java.awt.event.*; import java.sql.*; import javax.swing.table.DefaultTableModel; import javax.swing.table.JTableHeader; import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.sql.*; class AddForm extends JFrame implements ActionListener{ JLabel labName=new JLabel("学号:"); JLabel labDate=new JLabel("出生日期:"); JLabel labScore=new JLabel("成绩:"); JTextField txtName=new JTextField(20); JTextField txtDate=new JTextField(18); JTextField txtScore=new JTextField(20); JButton btnOk=new JButton("确定"); JButton btnClear=new JButton("清空"); JPanel pan=new JPanel(); JPanel pan1=new JPanel(); JPanel pan2=new JPanel(); JPanel pan3=new JPanel(); JPanel pan4=new JPanel(); Connection cnn; Statement stm; ResultSet rs; AddForm(){ super("添加数据"); setSize(400,300);

实时操作系统报告

实时操作系统课程实验报告 专业:通信1001 学号:3100601025 姓名:陈治州 完成时间:2013年6月11日

实验简易电饭煲的模拟 一.实验目的: 掌握在基于嵌入式实时操作系统μC/OS-II的应用中,基于多任务的模式的编程方法。锻炼综合应用多任务机制,任务间的通信机制,内存管理等的能力。 二.实验要求: 1.按“S”开机,系统进入待机状态,时间区域显示当前北京时间,默认模式“煮饭”; 2.按“C”选择模式,即在“煮饭”、“煮粥”和“煮面”模式中循环选择; 3.按“B”开始执行模式命令,“开始”状态选中,时间区域开始倒计时,倒计时完成后进入“保温”状态,同时该状态显示选中,时间区域显示保温时间; 4.按“Q”取消当前工作状态,系统进入待机状态,时间区域显示北京时间,模式为当前模式; 5.按“X”退出系统,时间区域不显示。 6.煮饭时长为30,煮粥时长为50,煮面时长为40. 三.实验设计: 1.设计思路: 以老师所给的五个程序为基础,看懂每个实验之后,对borlandc的操作有了大概的认识,重点以第五个实验Task_EX为框架,利用其中界面显示与按键扫描以及做出相应的响应,对应实现此次实验所需要的功能。 本次实验分为界面显示、按键查询与响应、切换功能、时钟显示与倒计时模块,综合在一起实验所需功能。 2.模块划分图: (1)界面显示: Main() Taskstart() Taskstartdispinit() 在TaskStartDispInit()函数中,使用PC_DispStr()函数画出界面。

(2)按键查询与响应: Main() Taskstart() 在TaskStart()函数中,用if (PC_GetKey(&key) == TRUE)判断是否有按键输入。然后根据key 的值,判断输入的按键是哪一个;在响应中用switch语句来执行对应按键的响应。 (3)切换功能: l计数“C”按 键的次数 M=l%3 Switch(m) M=0,1,2对应于煮饭,煮粥,煮面,然后使用PC_DispStr()函数在选择的选项前画上“@”指示,同时,在其余两项钱画上“”以“擦出”之前画下的“@”,注意l自增。 四.主要代码: #include "stdio.h" #include "includes.h" #include "time.h" #include "dos.h" #include "sys/types.h" #include "stdlib.h" #define TASK_STK_SIZE 512 #define N_TASKS 2 OS_STK TaskStk[N_TASKS][TASK_STK_SIZE]; OS_STK TaskStartStk[TASK_STK_SIZE]; INT8U TaskData[N_TASKS];

学生管理系统JAVA实验报告

实验报告 学生信息管理系统 学号:XXXXXXXX 姓名:XXXXXX 班级:XXXXXXXXXXXXXXX

摘要 本文着重阐述了“学生信息管理系统”的开发过程。对于设计思想和设计流程也做出了全面的叙述,在数据库创建思想以及各个数据表之间的具体关联等面也做出了详细说明,并且具体剖析了系统各个功能的实现过程以及详细设计过程,在绘制简单系统功能模块图的同时,力求更加清晰地表明设计思想以及对整个学生模块程序设计的规划及具体实现过程。 本系统具有多面特点:系统功能完备,用户使用便简捷,人性化的用户界面,安全保密设置齐全,大大减少了操作人员和用户的工作负担,提高了学生管理的工作效率和学校的信息化的水平。 Abstract This article focuses on the student information management system---student module for the development process. Introduced a system for environment and development tools, the design concept and design process has also made a comprehensive narrative, in the database to create ideological and various data tables specific links between the areas has also made detailed and specific analysis of the The various functions of the system to achieve process and detailed design process, drawing a simple system function modules map at the same time, to more

java超市管理系统实训报告

1.1 课程设计的目的 通过本次课程设计,使学生能够全面、深刻地掌握数据库系统的设计流程。根据在数据库原理课程中所学到的数据库理论知识,结合某个具体的实际需求,最终开发出一个较为实用的数据库系统。 1.2 课程设计的背景和意义 1.2.1课程设计的背景 20世纪90年代后期特别是近几年,我国的超市产业飞速发展,其经营模式更为复杂,旧的管理体制已经无法适应超市的发展,这就迫切的需要引进新的管理技术。 超市的数据和业务越来越庞大,而计算机就是一种高效的管理系统,这就需要我们把超市的管理与计算机结合起来,从而超市管理系统应运而生。依靠现代化的计算机信息处理技术来管理超市,节省了大量的人力、物力,改善了员工的并且能够快速反映出商品的进、销、存等状况和各种反馈信息分析,使管理人员快速对市场的变化做出相应的决策,加快超市经营管理效率。 1.2.2 课程设计的意义 “数据库课程设计”的设计思想旨在强调学生的实际编程能力的培养与创意灵感的发挥。为此,本课程结合学科特点,除了让学生掌握数据库原理的理论知识,还增加了需求功能让学生完成,并鼓励学生的创作出个性的程序,满足客户需求,与市场的实际项目相结合。学生对此热情高,实际收获大,效果好。通过课堂学习和参与相关项目设计,学生对书本支持有了深刻的理解,实践性教学取得了良好效果。 1.3 课程设计环境 操作系统:Windows xp 开发软件:Microsoft Visual Studio 2005 数据库:Microsoft SQL Server 2005 第2章系统需求分析 随着人们生活水平的不断提高,对于物质的需求也越来越高,而超市作为日常生活用品聚集的场所,随着全球各种超市的数目的不断增加,规模不断增大,其管理难度也相应的增加,而为了适应当今信息化发展的时代,一套完整的超市商品管理系统显得尤为重要。

简单的Java学生成绩管理系统

简单的学生成绩管理系统,能实现学生成绩的录入,计算学生成绩的总分,平均分,并将学生成绩进行排序 import java.util.*; import java.text.*; public class Management { public static void main(String[] args){ Scanner in=new Scanner(System.in); System.out.println("请输入学生人数:"); int stuNumber=in.nextInt(); //存储学生的人数 System.out.println("请输入课程数目:"); int majNumber=in.nextInt(); //存储课程的数目 String[] name=new String[stuNumber]; //声明一个String类型的存储学生名字的数组 String[] major=new String[majNumber]; //声明一个String类型的存储课程名字的数组 double[][] result=new double[stuNumber][majNumber]; //声明一个double类型的存储学生成绩的二维数组 double[] sum=new double[stuNumber]; //声明一个double类型的存储学生总分的数组 double[] avg=new double[stuNumber]; //声明一个double类型的存储学生平均分的数组 String[] str=new String[stuNumber]; //声明一个String类型的存储学生姓名数组,成绩数组,总分数组,平均分数组的数组 DecimalFormat digits=new DecimalFormat("0.0");//保留一位小数 /* * 循环输入课程的名字 * 存储在major数组中*/ for(int i=0;i

JAVA+SQL学生学籍管理系统代码及实验报告

学生学籍管理系统 1课程设计目的、设计内容与需求分析 1.1 课程设计目的 通过本次课程设计的实践操作,能够让学生懂得Java、SQL的各种相关知识的使用,真正的提高学生独立开发设计Java程序,把课堂上的知识运用在实践上,一门编程语言只有在不断实践操作和练习上才会有进步。 1.2软件设计内容 学生学籍管理系统,可用于学校等机构的学生信息管理,查询,更新与维护,使用方便,易用性强,图形界面清晰明了。该软件用java语言编写,用SQLServer2005数据库作为后台的数据库进行信息的存储,用SQL语句完成添加,查询,修改,删除的操作。用ODBC驱动实现前台Java与后台SQL数据库的连接。Java语言跨平台性强,可以在windows,linux,ubuntu等系统下使用,方便简单,安全性好。 SQLServer2005数据库高效安全,两者结合可相互利用各自的优势。系统可供输入的属性有“学号”,“姓名”,“性别”,“班级”,“学院”,“籍贯”。 该系统实现的大致功能: 1.管理员登陆界面。该界面可以输入管理员号,登陆密码。用户通过验证通过后方可进入管理系统。一定程度上保证了信息安全性,防止他人未经允许篡改学生信息。 2.查询学生信息。可以选择由用户选择“显示系统中当前的所有学生信息”。也可以选择按照“某一个学号查询该学号的学生信息”。查询到的信息会在窗口中依次显示出来。 3.添加学生信息。可以按照图形的界面的显示依次输入新学生的“学号”,“姓名”,“性别”,“班级”,“学院”,“籍贯”。完成新纪录的添加。 4.修改学生信息。可以选择按照“学号”或者“姓名”找到该学生的学生信息并输

嵌入式实时操作系统实验报告

嵌入式实时操作系统实验报告 任务间通信机制的建立 系别计算机与电子系 专业班级***** 学生姓名****** 指导教师 ****** 提交日期 2012 年 4 月 1 日

一、实验目的 掌握在基于嵌入式实时操作系统μC/OS-II的应用中,任务使用信号量的一般原理。掌握在基于优先级的可抢占嵌入式实时操作系统的应用中,出现优先级反转现象的原理及解决优先级反转的策略——优先级继承的原理。 二、实验内容 1.建立并熟悉Borland C 编译及调试环境。 2.使用课本配套光盘中第五章的例程运行(例5-4,例5-5,例5-6),观察运行结果,掌握信号量的基本原理及使用方法,理解出现优先级反转现象的根本原因并提出解决方案。 3.试编写一个应用程序,采用计数器型信号量(初值为2),有3个用户任务需要此信号量,它们轮流使用此信号量,在同一时刻只有两个任务能使用信号量,当其中一个任务获得信号量时向屏幕打印“TASK N get the signal”。观察程序运行结果并记录。 4. 试编写一个应用程序实现例5-7的内容,即用优先级继承的方法解决优先级反转的问题,观察程序运行结果并记录。 5.在例5-8基础上修改程序增加一个任务HerTask,它和YouTask一样从邮箱Str_Box里取消息并打印出来,打印信息中增加任务标识,即由哪个任务打印的;MyTask发送消息改为当Times为5的倍数时才发送,HerTask接收消息采用无等待方式,如果邮箱为空,则输出“The mailbox is empty”, 观察程序运行结果并记录。 三、实验原理 1. 信号量 μC/OS-II中的信号量由两部分组成:一个是信号量的计数值,它是一个16位的无符号整数(0 到65,535之间);另一个是由等待该信号量的任务组成的等待任务表。用户要在OS_CFG.H中将OS_SEM_EN开关量常数置成1,这样μC/OS-II 才能支持信号量。

基于java的学生信息管理系统

基于java的学生信息管理系统 摘要 随着科学技术的不断提高,目前,学校学生管理是教务管理中的一个极为重要的环节,它是整个管理的核心和基础。由于学校规模进一步扩大,学生人数逐年上升,学生情况的管理也变得越来越复杂。面对如此繁杂的任务。如果让个人去管理文档,就会显得费时费力。近年来随着计算机的迅速发展,计算机已经在

社会各个领域显示了它巨大的作用。毋庸置疑,切实有效地把计算机管理引入学校教务管理中,对于促进学校管理制度,提高学校教学质量与办学水平有着显著意义。由于上述原因,所以,学生管理系统的开发也是时代的一个必经阶段 由于学校规模进一步扩大,学生人数逐年上升,学生信息的管理也变得越来越复杂。为此,切实有效的把学生信息管理系统引入学校教务管理中,对于促进学校管理制度和提高学校教学质量有着显著意义。 本系统采用B/S结构,java为开发语言,Mysql5.5为数据库来进行设计与开发。本论文,简要阐述了系统的开发背景与开发环境,对系统的构架进行分析,由此划分出各个模块,包括用户注册模块,用户登陆模块,个人信息查询模块,基本信息管理模块,成绩管理模块,更多信息管理模块,。详细介绍了系统各个模块与功能的实现原理,最后总结开发阶段与测试阶段所遇到的问题与解决方法。 关键词:信息管理系统;JAVA;数据库;查询;学生 ABSTRACT With the continuous improvement of science and technology, at present, students in educational administration management is a very important aspect, which is the core of the entire management and infrastructure. Due to further expansion of school size, year-on-year increase in the number of students, management students are becoming increasingly complex. Faced with this complex task. If we allow individuals to manage documents, things will be very time-consuming and laborious. In recent years, with the rapid development of the computer, the computer in all

学生成绩管理系统(JAVA课程设计)

Java课程设计课题:学生成绩管理系统

一、问题及功能分析 1、身份验证,和使用系统的权限设置、判定。 2、实现同学的学号、性别、成绩等信息的录入、编辑 3、提供对学号或姓名,进行成绩或所有信息的查询。 4、计算学生平均成绩,显示最高成绩学生信息 5、能实现按成绩、学号、姓名排序列出学生信息。 6、能统计学生成绩分数段的分布(60以下、60~70、70~80、80~90、90~100)情况,并输出。 7、用文件保存数据,以便反复使用。 二、概要设计 三、详细设计 学生成绩管理系统代码设计: import java.util.*;

import https://www.sodocs.net/doc/16577820.html,ng.*; import java.io.*; class Mytest { public static void main(String[] args) throws IOException { { int select; select = 1; Student stu[]= new Student[10]; StudentMis mis=new StudentMis(); Scanner sc = new Scanner(System.in); System.out.println(); System.out.println(" ---------------------------------------"); System.out.println(" * *"); System.out.println(" 欢迎进入学生成绩管理系统 "); System.out.println(" * *"); System.out.println(" ---------------------------------------"); while(true) { System.out.println( ); System.out.println(" 请选择您的操作:"); System.out.println(" 1.录入学生成绩信息;"); System.out.println(" 2.显示学生成绩信息;"); System.out.println(" 3.计算学生平均成绩;"); System.out.println(" 4.显示最高成绩学生信息;"); System.out.println(" 5.查找学生信息;"); System.out.println(" 6.修改学生信息;"); System.out.println(" 7.按成绩排序学生信息;"); System.out.println(" 8.学生信息库扩容;"); System.out.println(" 9.学生成绩分段输出;"); System.out.println(" 0.退出;"); System.out.println(" 请输入数字选项(0-9): "); select =sc.nextInt(); System.out.println(); //判断输入,0退出 if(select>=0 && select<=9) { switch(select) { case 1:

操作系统实验报告

实验报告 实验课程名称:操作系统 实验地点:南主楼七楼机房 2018—2019学年(一)学期 2018年 9月至 2019 年 1 月 专业: 班级: 学号: 姓名: 指导老师:刘一男

实验一 实验项目:分时系统模拟 实验学时:2实验日期: 2018-10-25 成绩: 实验目的利用程序设计语言模拟分时系统中多个进程按时间片轮转调度算法进行进程调度的过程; 假设有五个进程A,B,C,D,E,它们的到达时间及要求服务的时间分别为:进程名 A B C D E 到达时间0 1 2 3 4 服务时间 4 3 4 2 4 时间片大小为1,利用程序模拟A,B,C,D,E五个进程按时间片轮转的调度及执行过程并计算各进程的周转时间及带权周转时间。 执行过程并计算各进程的周转时间及带权周转时间。 轮转调度:BDACE

(1)修改时间片大小为2,利用程序模拟A,B,C,D,E五个进程按时间片轮转的调度及执行过程并计算各进程的周转时间及带权周转时间。 轮转调度:ADBCE (2)修改时间片大小为4,利用程序模拟A,B,C,D,E五个进程按时间片轮转的调度及执行过程并计算各进程的周转时间及带权周转时间.

顺序:ABCDE 1、思考 时间片的大小对调度算法产生什么影响?对计算机的性能产生什么影响?答:通过对时间片轮转调度算法中进程最后一次执行时间片分配的优化,提出了一种改进的时间片轮转调度算法,该算法具有更好的实时性,同时减少了任务调度次数和进程切换次数,降低了系统开销,提升了CPU的运行效率,使操作系统的性能得到了一定的提高。 A B C D E 时间片为1 周转时间12 9 14 8 13 3 3 3.5 4 3.25 带权周转 时间 时间片为2 周转时间8 12 13 7 13 2 4 3.25 3.5 3.25 带权周转 时间 时间片为4 周转时间 4 6 9 10 13 1 2 2.25 5 3.25 带权周转 时间

java学生成绩管理系统设计

注:这个程序要结合下面3个类才能运行: 学生信息可以自己加 /*1.编写一个学生成绩管理程序。学生的属性包括学号、、年龄等。每个学生要学习 若干课程,每门课程有平时成绩、期中考试成绩、实习成绩、期末考试成绩以及总评成绩 等多个成绩,其中平时成绩的数目不定(因为不同课程的教师布置的平时作业数不同),而 总评成绩是其它成绩的平均值。请先设计合理的对象容器类存放这些信息,然后设计程序完 成以下功能: 1)列出某个学生的所有成绩; 2)列出某门课程每个学生的总评成绩,及所有 学生总评成绩的总评分; 3)分区段统计某门课程的学生总评成绩,例如60 分以下的学生人数、60 至70 分的学生人数等。根据兴趣,你还可实现其它一些功能。请仔细设计和组织你的 类和使用的集合类对象。*/

package .geminno.day730.homework12; import java.util.ArrayList; import java.util.List; public class TestStudentManage { public static void main(String[] args) { List students = new ArrayList();//实例化对象 List courses = new ArrayList();//实例化对象 //第一个学生的信息: Course c = new Course("Web编程", 85, 69, 70, 75, 90); courses.add(c); c = new Course("编程思想", 95, 78, 86, 88, 80); courses.add(c); c = new Course("java编程", 90, 80, 75, 88, 92); courses.add(c); c = new Course("数据库",93,60,55,80,56); courses.add(c); Student s = new Student("2012", "三", 20, "男", "计算机", courses);

实时操作系统实验报告2

实时操作系统实验报告 专业:11通信工程 学号:20110306136 姓名: 王帅 指导老师:申屠浩

实验二 任务管理实验 实验目的: 1、理解任务管理的基本原理,了解任务的各个基本状态及其变迁过程; 2、掌握μC/OS -II 中任务管理的基本方法(挂起、解挂); 3、熟练使用μC/OS -II 任务管理的基本系统调用。 实验要求与思路: 为了体现任务的各个基本状态及其变迁过程,本实验设计了T0、T1和T3三个任务,它们交替运行,如图2-2所示。 T0 T1 T2 T3 T4 T5 T6 T7 T8 图2-2 注意: 图中的栅格并不代表严格的时间刻度,而仅仅表现各任务启动和执行的相对先后关系。 说明: 在系统完成初始化后,可以先创建并启动优先级最低的TaskStart ,由它创建其他3个应用任务T0、T1和T2,之后整个系 T0 T2 T1 T0 T1 T2 T1 T0

统的运行流程如下: 1)优先级最高的T0开始执行,之后T0挂起自己; 2)然后系统调度选中T1开始执行,之后T1挂起自己; 3)接着系统调度选中T2,之后唤醒T0; 4)如此循环 实现提示: 在启动任务中创建三个任务后,应挂起任务1和任务2。 在每个任务恢复其它任务并挂起自己之前,显示当前三个任务的状态,并延时1秒。 函数说明: void PC_GetDateTime (char *s); 获取"YYYY-MM-DD HH:MM:SS"格式的时间字串存放在字符串s中,s的长度最少为21字节。 void PC_DispStr (INT8U x, INT8U y, INT8U *s, INT8U color); 在y行x列以color颜色值显示字串s,注意color由背景色和前景色两种颜色构成。 INT8U OSTimeDlyHMSM (INT8U hours, INT8U minutes, INT8U seconds, INT16U milli); 按时、分、秒、毫秒设置进行延时。 void OSTimeDly (INT16U ticks) 按ticks值进行延时,1 ticks一般为10ms。 INT32U OSTimeGet (void)

相关主题