java课程设计报告学生信息管理系统201105152

java课程设计报告学生信息管理系统201105152
java课程设计报告学生信息管理系统201105152

J a v a网络编程实践

课程设计说明书

课程名称:JAVA网络编程课程设计

题目:基于C\S学生信息管理系统

姓名:赵淳

学号:201105152

班级:信息与计算科学1101班

指导教师:王小刚

兰州交通大学软件科学与工程系

二○一三年十二月二十六日

一、课程设计目的

1.通过JAVA课程设计,使学生能够将学到的面向对象的设计思想运用在具体的工作和学习中,加深对类和对象的理解,要求学生对生活中许多具体的事物抽象出类。

2、通过这次课程设计掌握JAVA的编程思想,为后续课程打下基础。

3、培养我实际操作能力和实践能力,为以后的工作打下坚实的基础。

课程设计的要求

利用学到的编程知识和编程技巧,要求学生:

1、对系统进行功能模块分析、控制模块分析正确

2、系统设计要能完成题目所要求的功能。

3、编程简练,可用,尽可能的使系统的功能更加完善和全面

4、使用说明书、流程图要清楚。

二、解题思路

1、课程设计的题目及简介

有新生来报到,要逐个录入其信息,如:学生姓名,性别,,出生日期,国籍。要求设计链表类来实现,并统计学生人数。

文本界面为:

1.添加学生信息

2.删除学生信息

3.查询学生信息

4.修改学生信息

5.学生信息保存

6.退出

2、设计说明

总体结构我们采取模块化方式进行程序设计,要求程序的功能设计、数据结构设计及整体

结构设计合理。也可根据自己对题目的理解增加新的功能模块。

系统以菜单界面方式(至少采用文本菜单界面,如能采用图形菜单界面更好)工作,

运行界面友好,演示程序以用户和计算机的对话方式进行

看题目要求,每一条记录包括一个学生的姓名、性别、出生日期、国籍。同时,应具备以下功能:

1、删除功能:对指定学生的信息进行删除。

2、修改功能:对指定学生的信息进行修改。

3、查询功能:选择某种方式并输入该信息查询符合条件的学生信息。。

6、添加功能:添加新增学生信息。

7、退出主菜单。

三、分析和设计

各功能模块的实现流程图:

1增加学生信息

判断**学生是否存在,若存在则错误,不存在则添加。具体流程如下图所示:

流程图

2删除学生信息

删除学生的信息则必须对链表结点进行删除意味着将某个要删除结点前后的连续打断,去掉该结点,使前后指针变量重新连接,完成链表结点的删除任务

流程图

3、查询学生信息

按学生的学号进行查询 流程图:

总功能模块图:

四、主要源代码

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import java.sql.*;

//主函数、主要类

public class JCTX {

public static void main(String[] args) {

new Frm_Main();

}

}

// 实现类

class Frm_Main implements ActionListener // throws IOException

{

public JFrame frame;

public Container c;

public JMenuBar menuBar;

public JMenu mainMenu1;

public JMenu mainMenu2;

public JMenu mainMenu3;

public JMenuItem subMenu1[] = new JMenuItem[5];

public JMenuItem subMenu2[] = new JMenuItem[7];

public JMenuItem subMenu3[] = new JMenuItem[2];

JButton toolBarButton[] = new JButton[8];

public JToolBar toolBar;

String strTip[] = { "查询您要找的学生记录...", "添加学生记录...", "删除已有的学生记录", "修改学生记录...",

"使您修改的学生记录生效...", "使您添加的学生记录生效...", "确认删除当前记录...", "退出本系统:)" };

String id = new String();

String name = new String();

String sex = new String();

String birthday = new String();

String address = new String();

String birth = new String();

Connection conn;

ResultSet rs;

Statement st;

PreparedStatement pst;

public JLabel idL = new JLabel("学号:");

public JLabel nameL = new JLabel("姓名:");

public JLabel sexL = new JLabel("性别:");

public JLabel jlbirth = new JLabel("出生年月:");

public JLabel jladdr = new JLabel("籍贯:");

public JTextField idT = new JTextField();

public JTextField nameT = new JTextField();

public JTextField sexT = new JTextField();

public JTextField jtbirth = new JTextField();

public JTextField jtaddr = new JTextField();

public Frm_Main() {

frame = new JFrame("学生信息管理系统");

c = frame.getContentPane();

c.setLayout(null);

menuBar = new JMenuBar();

toolBar = new JToolBar();

toolBar.setFloatable(false);

frame.setJMenuBar(menuBar);

frame.setResizable(false);

mainMenu1 = new JMenu("管理");

String str1[] = { "添加用户", "删除用户", "查询用户", " ", "退出" };

for (int i = 0; i < 5; i++) {

if (i == 3)

mainMenu1.addSeparator();

else {

subMenu1[i] = new JMenuItem(str1[i]);

subMenu1[i].addActionListener(this);

mainMenu1.add(subMenu1[i]);

}

}

menuBar.add(mainMenu1);

mainMenu2 = new JMenu("维护学生信息");

String str2[] = { "查询记录", "添加记录", "删除记录", "修改记录", "

提交修改", "提交添加",

"确认删除" };

for (int i = 0; i < 7; i++) {

subMenu2[i] = new JMenuItem(str2[i]);

subMenu2[i].addActionListener(this);

mainMenu2.add(subMenu2[i]);

}

menuBar.add(mainMenu2);

mainMenu3 = new JMenu("帮助");

String str3[] = { "帮助...", "关于..." };

for (int i = 0; i < 2; i++) {

subMenu3[i] = new JMenuItem(str3[i]);

subMenu3[i].addActionListener(this);

mainMenu3.add(subMenu3[i]);

}

menuBar.add(mainMenu3);

String strToolBar[] = { "查询", "添加", "删除", "修改", "提交修改", "提交添加", "确认删除" };

for (int i = 0; i < 7; i++) {

toolBarButton[i] = new JButton(strToolBar[i]);

toolBarButton[i].setToolTipText(strTip[i]);

toolBarButton[i].addActionListener(this);

toolBar.add(toolBarButton[i]);

}

toolBar.setLocation(0, 0);

toolBar.setSize(400, 30);

c.add(toolBar);

idL.setLocation(35, 40);

idL.setSize(40, 20);

// idL.setFont(new Font("宋体",Font.BOLD,12));

c.add(idL);

idT.setLocation(90, 40);

idT.setSize(200, 20);

// idT.setEnabled(false);

c.add(idT);

nameL.setLocation(35, 70);

nameL.setSize(40, 20);

c.add(nameL);

nameT.setLocation(90, 70);

nameT.setSize(200, 20);

c.add(nameT);

sexL.setLocation(35, 100);

sexL.setSize(40, 20);

c.add(sexL);

sexT.setLocation(90, 100);

sexT.setSize(200, 20);

c.add(sexT);

jlbirth.setLocation(35, 160);

jlbirth.setSize(40, 20);

c.add(jlbirth);

jtbirth.setLocation(90, 160);

jtbirth.setSize(200, 20);

c.add(jtbirth);

jladdr.setLocation(35, 190);

jladdr.setSize(40, 20);

c.add(jladdr);

jtaddr.setLocation(90, 190);

jtaddr.setSize(200, 20);

c.add(jtaddr);

JLabel information = new JLabel("");

information.setFont(new Font("宋体", Font.BOLD, 35));

information.setSize(380, 110);

information.setLocation(10, 210);

c.add(information);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.setSize(400, 400);

frame.setLocation(200, 200);

frame.setVisible(true);

conDB();

}

// 以上是设置数据库面版、框架

// 以下是连接数据库

public Connection conDB() {

Connection con = null;

try {

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

} catch (ClassNotFoundException e) {

}

try {

con = DriverManager.getConnection(

"jdbc:sqlserver://127.0.0.1:1433;databaseName=mysql", "sa",

"111");

} catch (SQLException e) {

JOptionPane.showMessageDialog(null, "数据库连接失败");

}

return con;

}

// 以下是关闭数据库

public void closeDB() {

try {

pst.close();

conn.close();

} catch (SQLException e) {

JOptionPane.showMessageDialog(null, "数据库关闭失败!");

}

}

// 以下是针对数据库的各种操作

public void actionPerformed(ActionEvent e) {

conn=conDB();

if(e.getSource() == subMenu3[1] || e.getSource() == toolBarButton[7]) JOptionPane.showMessageDialog(null, "");

if (e.getSource() == subMenu1[0] || e.getSource() == subMenu1[1]

|| e.getSource() == subMenu1[2])

JOptionPane.showMessageDialog(null, "");

// 查找功能的实现

if(e.getSource() == subMenu2[0] || e.getSource() == toolBarButton[0]) {

String idid = JOptionPane.showInputDialog("请输入要查找的学生学号");

if (idid.trim() != "") {

//String strSQL = "select * from student where id =’" + idid+ "’";

String strSQL = "select * from student where id =?" ;

try {

pst=conn.prepareStatement(strSQL);

pst.setString(1, idid);

rs=pst.executeQuery();

/*st=conn.createStatement();

rs = st.executeQuery(strSQL);*/

int count = 0;

while (rs.next()) {

id = rs.getString("id");

name = rs.getString("name");

address = rs.getString("address");

sex = rs.getString("sex");

birth=rs.getString("birthday");

count++;

}

if (count == 0)

JOptionPane.showMessageDialog(null, "对不起,没有您要查找的学生!");

else {

idT.setText(id);

nameT.setText(name);

sexT.setText(sex);

jtaddr.setText(address);

jtbirth.setText(birth);

}

} catch (Exception ex) {

JOptionPane.showMessageDialog(null, "抱歉,程序出现异常!");

}

}

}

if (e.getSource() == subMenu1[4]) {

closeDB();

System.exit(0);

}

if(e.getSource() == subMenu2[1] || e.getSource() == toolBarButton[1]) {

JOptionPane.showMessageDialog(null, "请输入要添加的学生信息");

idT.setEnabled(true);

idT.setText("");

nameT.setText("");

sexT.setText("");

jtaddr.setText("");

jtbirth.setText("");

}

if(e.getSource() == toolBarButton[5] || e.getSource() == subMenu2[5]) {

if ((idT.getText().trim()).equals("")

|| (nameT.getText().trim()).equals("")

|| (sexT.getText().trim()).equals("")

|| (jtaddr.getText().trim()).equals("")

|| (jtbirth.getText().trim()).equals(""))

JOptionPane.showMessageDialog(null, "请输入信息再点击提交添加!");

else {

id = idT.getText();

name = nameT.getText();

sex = sexT.getText();

birthday = jtaddr.getText();

address = jtbirth.getText();

String strSQL = "insert into student values(?,?,?,?,?)";

try {

pst=conn.prepareStatement(strSQL);

pst.setString(1, id);

pst.setString(2, name);

pst.setString(3, sex);

pst.setString(4, address);

pst.setString(5, birthday);

pst.executeUpdate();

} catch (SQLException e1) {

// TODO Auto-generated catch block

//e1.printStackTrace();

JOptionPane.showMessageDialog(null, "数据库中已经存在您要添加的学生的学号!");

return;

}

/*try {

pst.executeUpdate(strSQL);

} catch (Exception exx) {

JOptionPane.showMessageDialog(null, "数据库中已经存在您要添加的学生的学号!");

* idT.setText(""); nameT.setText(""); sexT.setText("");

* birthdayT.setText(""); departmentT.setText("");

return;

}*/

JOptionPane.showMessageDialog(null, "恭喜您,添加成功了!");

}

}

if(e.getSource() == subMenu2[4] || e.getSource() == toolBarButton[4]) {

if ((idT.getText().trim()).equals("")

|| (nameT.getText().trim()).equals("")

|| (sexT.getText().trim()).equals("")

|| (jtaddr.getText().trim()).equals("")

|| (jtbirth.getText().trim()).equals("")) {

JOptionPane.showMessageDialog(null, "请输入信息再点击修改!");

return;

} else {

id = idT.getText();

name = nameT.getText();

sex = sexT.getText();

birthday = jtaddr.getText();

address = jtbirth.getText();

String strSQL = "update student set

name=?,sex=?,address=?,birthday=? where id=?";

try {

pst=conn.prepareStatement(strSQL);

pst.setString(1, name);

pst.setString(2, sex);

pst.setString(3, address);

pst.setString(4, birthday);

pst.setString(5, id);

pst.executeUpdate();

} catch (SQLException e1) {

// TODO Auto-generated catch block

// e1.printStackTrace();

JOptionPane.showMessageDialog(null, "数据库中已经存在您要修改的学生记录!");

return;

}

/*try {

pst.executeUpdate(strSQL);

} catch (Exception exx) {

JOptionPane.showMessageDialog(null, "数据库中已经存在您要修改的学生记录!");

* idT.setText(""); nameT.setText(""); sexT.setText("");

* birthdayT.setText(""); departmentT.setText("");

return;

}*/

JOptionPane.showMessageDialog(null, "恭喜您,修改成功了!");

}

}

if(e.getSource() == subMenu2[3] || e.getSource() == toolBarButton[3]) {

String idid = JOptionPane.showInputDialog("请输入要修改的学生学号");

if (idid.trim() != "") {

String strSQL = "select * from student where id =?" ;

try {

pst=conn.prepareStatement(strSQL);

pst.setString(1, idid);

// rs =

// st.executeQuery("select * from Coolboy where id

=’2004010123’");

rs = pst.executeQuery();

int count = 0;

while (rs.next()) {

id = rs.getString("id");

name = rs.getString("name");

address = rs.getString("address");

sex = rs.getString("sex");

birthday = rs.getString("birthday");

count++;

}

if (count == 0)

JOptionPane.showMessageDialog(null, "对不起,没有您要修改的学生信息!");

else {

idT.setText(id);

nameT.setText(name);

sexT.setText(sex);

jtaddr.setText(address);

jtbirth.setText(birthday);

idT.setEnabled(false);

}

} catch (Exception ex) {

JOptionPane.showMessageDialog(null, "抱歉,程序出现异常!");

}

}

}

if(e.getSource() == subMenu2[2] || e.getSource() == toolBarButton[2]) {

String idDel = JOptionPane.showInputDialog("请输入要删除的学生学号");

if (idDel.trim() != "") {

String strSQL = "select * from student where id =?";

try {

pst=conn.prepareStatement(strSQL);

pst.setString(1, idDel);

rs = pst.executeQuery();

int count = 0;

while (rs.next()) {

id = rs.getString("id");

name = rs.getString("name");

address = rs.getString("address");

sex = rs.getString("sex");

birthday = rs.getString("birthday");

++count;

}

if (count == 0)

JOptionPane.showMessageDialog(null, "对不起,没有您要删除的学生信息!");

else {

idT.setText(id);

nameT.setText(name);

sexT.setText(sex);

jtaddr.setText(address);

jtbirth.setText(birthday);

idT.setEnabled(false);

}

} catch (Exception ex) {

JOptionPane.showMessageDialog(null, "抱歉,程序出现异常!");

}

}

}

if(e.getSource() == toolBarButton[6] || e.getSource() == subMenu2[6]) {

if ((idT.getText().trim()).equals("")

|| (nameT.getText().trim()).equals("")

|| (sexT.getText().trim()).equals("")

|| (jtaddr.getText().trim()).equals("")

|| (jtbirth.getText().trim()).equals("")) {

JOptionPane.showMessageDialog(null, "请点击删除记录按钮!");

return;

} else {

id = idT.getText();

String strSQL = "delete from student where id=?";

try {

pst=conn.prepareStatement(strSQL);

pst.setString(1, id);

pst.executeUpdate();

} catch (Exception exx) {

JOptionPane.showMessageDialog(null, "出错了!");

/*

* idT.setText(""); nameT.setText(""); sexT.setText("");

* birthdayT.setText(""); departmentT.setText("");

*/

return;

}

JOptionPane.showMessageDialog(null, "删除成功!");

}

}

}

}

五、运行截图

程序运行

查询学生信息

添加学生信息

修改学生信息

java课程设计报告书

《Java程序设计》课程设计报告2015—2016学年第二学期 设计题目:《数字连连看》 学生:黄杰 学号: 2 专业班级:软件工程1402 指导教师:国权 2016 年7 月2 日

目录 1.JAVA程序设计书 3 1.1《简易连连看》 3 1.1.1具体要求 3 1.2本系统设计的知识点 3 2.功能设计 3 2.1算法设计 3 2.2部分模块流程图 4 3.代码设计 5 4.界面及运行效果,测试工具与测试效果14 5.设计总结 16 5.1.程序调试情况:16 5.2.本人在程序设计中感想: 16 6.致 16 主要参考文献16

: 1.1Java程序课程设计任务书 1.1《简易连连看游戏》 本程序基本实现了小游戏连连看的功能,玩家找出游戏中2个相同图案的方块,如果它们之间的连接线不多于3根直线,则将其连接起来,就可以成功将图案相同的方块消除,否则不会消失,当游戏中已没有满足条件的图案时,点击重列,可重新排序,游戏结束会跳出所得分数,该游戏的特点是与自己竞争,超过自己之前所创纪录。 1.1.1具体要求(包括技术要求等): <1>. 该游戏界面为方格类型,由纵6横7的直线平行垂直交叉组成,分别是6行5列方块拼接,共有30格小方块。方块上随机分布一些数字,数字的要至少两两相同,位置随机打乱。 <2>. 当将相同数字的方块连接,但要满足只能至少单边无阻碍呈直线趋势连接,否则无效,若连接一对成功就消失于界面,继续游戏,直到游戏结束,并能返回所得分数。 <3>. 重列按钮(帮助)的功能:游戏过程中,遇到困难难以寻找下一符合要求的一对数字,可按左下按钮重置重新排列方可继续游戏。 <4>. 退出按钮:击左下方的“退出游戏”按钮,即可结束游戏。 1.2本系统涉及的知识点: 循环,javaGUI组件,函数,数组,分支等 2.功能设计 2.1算法设计 本系统需要实现的功能要求: 图一,数字按钮功能模块 图二,三个功能按钮模块

学生信息管理系统需求分析报告模板

学生信息管理系统需求分析报告

目录 1.序言 (3) 2.项目简介 (3) 2.1.系统标识 (3) 2.2.系统功能 (3) 2.3.用户选择 (3) 2.4.系统功能 (3) 2.4.1 (4) 2.4.2 (4) 2.4.3. (4) 2.4.4. (4) 2.4.5 (4) 2.4.6 (4) 2.4.7 (4) 2.4.8 (4) 3.模块划分 (4) 3.1.登入模块 (4) 3.2.学生信息管理 (4) 3.3.课程管理 (4) 3.4.成绩管理 (4) 3.5.管理员管理 (5) 3.6.退出 (5) 4.模块图 (5) 5.流程图 (8) 6.性能要求 (8)

1.序言 随着学校的规模不断过大,学生数量急剧增加,有关学生的各种信息量也成倍增加。面对庞大的信息量需要有学生信息管理系统来提高学生管理工作的效率。通过这样的系统可以做到信息的规范化管理、科学性统计和快速查询、修改、增加、删除等,从而减少管理方面的工作量。 本系统主要应用于学校学生信息管理,总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务是计算学生各种信息进行日常管理,如查询、修改、增加、删除,另外还考虑到了学生选课、针对这些要求设计了学生信息管理系统。 2.项目简介 2.1.系统标识 系统名称:学生信息管理系统 2.2.系统功能 本系统主要功能是实现学校学生的信息管理、课程管理、成绩管理、学籍管理以及使用该系统的用户管理。 2.3.用户选择 本系统面向的用户有:学校的系统人员、管理人员、教师、学生。所以对计算机的人性化和易用性比较高,应用于学校学生信息管理,总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务是计算学生各种信息进行日常管理,如查询、修改、增加、删除,另外还考虑到了学生选课,做到看界面简单易懂,容易操作,提高了学校管理效率以及提升了学生信息的安全性和完整性。 2.4.系统功能 本系统主要应用于学生学籍管理、信息查询、教务信息维护和学生选课、学生奖惩安排几部分,又因为用户的不同,例如学生、教师、系统管理员的身份不

C++实现:简单的学生信息管理系统

<< endl << endl; cout << "按下1:进入学生信息管理系统." << endl; cout << "按下0:退出." << endl; cout << "-----------------------------------------------------" << endl<> flagOperateInformation; (); cout << endl; if (flagOperateInformation) EditMenu(); } } << endl; cout << "按下2:修改学生信息." << endl; cout << "按下3:删除学生信息." << endl; cout << "按下4:显示学生信息." << endl; cout << "按下5:按学号升序排序" << endl; cout << "按下6:读入已有信息(暂时没实现)" << endl; cout << "按下7:将信息输出(暂时没实现)" << endl; cout << "按下8:显示系统内所有学生的信息" << endl; cout << "按下0:返回上一级." << endl; cout << "--------------------------------------------" << endl << endl; cin >> flagContinueOperation; (); cout << endl; switch (flagContinueOperation) { case 1:AddStudentPersonalInformation(1); break; case 2:ModifyStudentInformation(); break; case 3:DeleteStudentInformation(); break; case 4:DisplayStudentInformation(); break; case 5:RankByID(); break; case 6:cout << "功能暂未实现" << endl; break; case 7:cout << "功能暂未实现" << endl; break; case 8:DisplayAllStudentInformation(); break; case 0:break; } } } tudent_WritePersonalInformation(iD,name,address,phone); cout << "基本信息输入成功!" << endl << "------------------------------" << endl; } tudent_WriteMaPhEgGrade(mathGrade, physicsGrade, englishGrade); cout << "学习成绩输入成功!" << endl

职工管理系统java课程设计简单实现

目录 一、绪论 (1) 1.1关键技术介绍 (1) 1.1.1JAVA技术 (1) 1.1.2SQL数据库 (1) 二、需求分析 (2) 三、系统概要设计: (3) 3.1问题描述 (3) 3.2要求 (3) 3.3数据库设计 (3) 四、系统详细设计 (5) 4.1新员工信息录入 (5) 4.2显示员工信息 (7) 4.3修改员工信息 (8) 4.4查询员工信息 (10) 4.5删除员工信息 (13) 4.6员工信息排序 (15) 4.7员工信息统计 (16) 4.8注销 (17) 五、系统测试 (18) 5.1系统登录 (18) 5.2系统主界面.................................. 错误!未定义书签。 5.3新员工信息录入.............................. 错误!未定义书签。 5.4显示员工信息................................ 错误!未定义书签。 5.5修改员工信息................................ 错误!未定义书签。 5.6查询员工信息................................ 错误!未定义书签。 5.7删除员工信息................................ 错误!未定义书签。 5.8排列系统.................................... 错误!未定义书签。 5.9统计界面.................................... 错误!未定义书签。

5.10注销....................................... 错误!未定义书签。 六、总结 (19) 八、附录.......................................... 错误!未定义书签。

Java课程设计报告模板

Java课程设计报告 模板

浙江科技学院 《Java程序设计》课程设计报告 设计题目:学生信息管理系统 姓名:邱焕明 学号: 所属院系:信息学院 专业:软件工程 小组成员:邱焕明 设计时间: -1-6 指导教师:虞建东

一、课程设计目的 (1)实验目的:结合开发的系统,给出学生信息管理系统 二、课程设计完成的任务 三、设计过程 (一)需求分析 1、基础资料管理 基础资料管理包括对院系、班级和学期的设置。该模块可实现以下功能: 添加、修改、删除和显示院系代码、院系名称和电话号码。 添加、修改、删除和显示班级代码、班级名称、学生人数和所属院系名。 添加、修改、删除和显示学期代码、学期名称。 2、学生信息管理 学生信息管理包括对学生档案和学籍的管理。该模块可实现以下功能: 添加、修改、查询和显示学生的基本信息、所属班级和院系。 记录学生学籍、学生离校信息和学生调动信息。 3、课程信息管理 课程信息管理包括对课程设置和班级选课的管理。该模块可实

现以下功能: 添加、修改、删除和显示课程代码、课程名称、学分和院系名称。 添加、删除和提交班级所选课程。 4、成绩信息管理 成绩信息管理包括对成绩录入和成绩分析的管理。该模块可实现以下功能: 录入班级课程成绩,以不同形式(列表统计、图表分析)显示班级课程成绩。 (二)系统设计概念、流程初定义 1、实体名:院系 2、实体名:班级 3、实体名:学生 4、实体名:课程 (三)系统内容规划 1、班级信息表 表3-1 班级信息表 2、课程信息表 表3-2 课程信息表

(四)系统总体设计 内 (五)系统详细设计 (六)系统测试 列名 数据类型 长度 备注 课程代码 char 10 主键 课程名称 varchar 50 无 学 分 tinyint 1 无 所属院系 varchar 50 无

C语言学生信息管理系统报告

销售信息统计管理系统

一.任务描述 某公司有4个销售员,负责销售5种产品。每个销售员都将当日销售的每种产品各写一张便条提交给公司。每张便条内容有: 1、销售员的编号 2、销售产品的代号产品 3、产品销售量 根据需求,此系统提供以下功能: 1、以菜单界面呈现。 2、信息录入功能。 3、信息查询功能。(包括查询某销售员的各产品销售量,某种产品的销售总量,某销售员的总销售额) 4、销量排序功能。 5、生成统计报表功能。 本系统采用结构体数组以及数据文件的技术,将输入的数据用结构体数组保存,并提供文件的保存与读取。在程序中要进行统计工作,所以提供显示、排序等操作,另外应提供键盘式选择菜单实现功能选择 本程序使用C语言。 此程序在vc++6.0上调试通过。 二.功能实现设计 1.总体设计 根据上面的分析,将这个程序分为四大模块。——1.销售信息录入。2.查询信息3.文件的保存。4.文件的读取 查询系统包括1.各个销售员销售额。2.销售总额以及排序。3各产品销售总额及热度。4.总信息统计生成报表。

2.流程图 3.详细设计 ①【数据结构】typedef struct { int name; int a1; int a2; int a3; int a4;

int a5; } SYS;/*定义数组*/ ②【功能函数声明】 int menu();/*选择菜单函数声明*/ int menu_1();/*子菜单函数声明*/ int enter(SYS t[]);/*进入函数声明*/ void salor(SYS t[],int n);/*声明函数*/ int sum(SYS t[],int n,int m);/*统计函数声明*/ void list1(SYS t[],int n);/*菜单1函数声明*/ void list2(SYS t[],int n);/*菜单2函数声明*/ void list3(SYS t[],int n);/*菜单3函数声明*/ void save(SYS t[],int n);/*保存文件函数声明*/ int load(SYS t[]);/*读取函数声明*/ SYS ste[100]; int len;/*全局变量定义*/ ③【主函数】 void main() { system("cls"); for( ; ; ) { switch(menu())/*根据用户的选择判断该调用哪个功能函数*/ { case 1:len=enter(ste);break; case 2:menu_1();break;

简单学生信息管理系统设计

——综合性程序设计 题目:简单学生信息管理系统(序列化版)班级: : 学号:

实验目的: 1.综合运用输入、输出的知识,用序列化方法保存、读入数组容。 2.设计实现一个简单的信息管理系统。 实验容: 编写能够满足如下条件的程序,分两次四个课时完成 1.声明Student类,该类实现Serializable接口以表明该类可 以进行序列化。该类有、学号、math、os、java用来存放 对应的成绩,在构造方法中进行、学号、课程成绩的赋值。 Override有Object继承来的tostring方法已便友好格式显 示自己的属性; 2.建立一个类,利用数组来存储多个Student,写完一个方法, 在main中写一段测试代码,运行以保证目前所做工作的 正确性,正确后再写其他代码。有以下方法: 1)add(Student stu):增加新的学生,人数满时显示人满或是new一个更长的数组,把现有的Student复制到新 数组 2)dispAll():可以显示所有的学生信息(测试add是否正确) 3)findById(long id):可以按照学号来查找,然后显示符合条件的学生信息,查无此人的话显示错误信息。 4)findByName(string name):可以按照来查找,然后显示符合条件的学生信息,查无此人的话显示错误信息。 (判断是否相等使用string类的equalsIgnoreCase方 法) 5)delBy Id(long id): 可以按照id来删除学生信息,然后显示找到该人,若查无此人的话显示错误信息。 6)save():利用ObjectOutputStream 来把数组写入文件中,需要考虑在什么时候调用该方法。 7)load():利用ObjectIntputStream 来进行反序列化,得到以前保存的容,注意要考虑以前未保存容的情况, 可返回错误信息。 3.在控制台显示一个菜单,并实现相应的功能。菜单如下: 1显示所有学生信息2按学号查找 3 按查找 4 按学号删除 5 保存 6 读入7 退出 请输入数字(1-7): 程序代码

JAVA课程设计银行管理系统

大连科技学院java程序设计课程设计(B) 题目银行取款管理系统 学生姓名姚伟奇专业班级计算机(Z)13-1 指导教师李红职称讲师 所在单位信息科学系软件工程教研室 教学部主任王立娟 完成日期 2016年9月30日 课程设计报告单

综合评定: (优、良、中、及格、不及格)指导教师签字:2016年9月30日《java程序设计课程设计(B)》任务书 一、课程设计任务及要求: 任务:针对小型信息管理系统或若干综合性设计题目,选择一种软件开发模型,完成从需求分析、系统设计、系统实现,软件测试的全过程。 要求: (1) 根据软件系统开发的一般原则,完成相应系统的功能设计,完成主要功能模块的程序实现并进行测试训练,给出代码运行结果和相应的设计文档。可以分组进行,但所有学生必须经历整个系统的开发全过程,以便加深对系统开发全过程的认识。 (2)提交课程设计报告。 (3)指标: 要求完成课程设计报告3000字以上(约二十页);完成所设计的题目,设计题目的语句行数的和在200行语句以上。 二、工作量 2周(10个工作日)时间 三、计划安排 第1个工作日:查找相关资料、书籍,阅读示例文档,选择题目。 第2个工作日-第4个工作日:设计程序结构、模块图。 第5个工作日-第9个工作日:完成程序的编码,并且自己调试、测试。穿插进行课程设计报告的撰写。 第10个工作日:上交课程设计报告,由教师检查软件测试效果、检查课程设计报告,给出学生成绩。

指导教师签字:2016年9月19日

目录 题目:.................................................... 错误!未定义书签。 1.需求分析............................................ 错误!未定义书签。 2.概要设计............................................ 错误!未定义书签。 3.详细设计............................................ 错误!未定义书签。 4.编码................................................ 错误!未定义书签。 5.调试分析............................................ 错误!未定义书签。 6.测试结果及运行效果.................................. 错误!未定义书签。 7.系统开发所用到的技术................................ 错误!未定义书签。 8.课程设计总结........................................ 错误!未定义书签。参考文献................................................. 错误!未定义书签。5 附录全部代码............................................. 错误!未定义书签。

Java课程设计报告

湖北大学 本科课程设计 题目 ATM 自助机模拟程序姓名 学号 专业年级 指导教师 职称

目录 第一章系统描述 (2) 1 前言 (2) 2 系统功能需求 (2) 第二章系统分析与设计 (3) 1 功能模块划分 (3) 2 功能模块的描述 (3) 3 系统设计流程图 (4) 4 测试数据及期望结果 (6) 第三章系统详细设计 (7) 1 主界面开发设计 (7) 2 功能选择界面开发设计 (7) 3 取款界面开发设计 (7) 4 存款界面开发设计 (8) 5 转账界面开发设计 (8) 6 查询界面开发设计 (9) 7 修改密码界面开发设计 (9) 8 界面开发设计使用函数 (9) 第四章系统测试 (11) 第五章源程序部分清单 (21) 第六章实验心得 (30) 参考文献 (31)

第一章系统描述 1 前言 Java技术是一门简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言,它也是一个平台,它基于Java虚拟机技术,借助这个东西建立了跨平台的优势。Java编程语言与众不同之处在于:Java程序既是编译型的,又是解释型的。 Java平台是一种纯软件平台,它有三个版本Java SE、Java EE、Java ME。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。 本课程设计采用Eclipse作为开发工具,并采用Window Builder下的SWT Designer来实现相应的功能。着重通过模拟实现当前非常快捷又使用的ATM机来加深对java开发设计的了解,从而进一步提高自己对java图像界面的设计及相关知识的认识。 2 系统功能需求 当输入给定的卡号和密码(初始卡号和密码为123456)时,系统能登录ATM 柜员机系统,用户可以按照以下规则进行: (1)查询余额:初始余额为10000元。 (2)ATM取款:每次取款金额为100的倍数,一次取款不能超过1000,总额不 超过5000元,支取金额不允许透支,有快捷取款和用户自定义取款。 (3)ATM存款:每次存款金额为100的倍数,一次存款不能超过1000,不能出 现负存款。 (4)ATM转账:只有在两次输入账号相同且输入转账金额正确的情况下才允许 转账,不允许透支。 (5)修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只 有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。

学生信息管理系统分析报告

目录 引言 (2) 一.问题定义 (2) 1.系统开发背景 (2) 2.系统开发目的 (2) 3.系统介绍 (3) 4.系统的技术要求及限定条件 (3) 二.系统可行性分析 (3) 1. 可行性研究的前提 (3) 2.技术可行性分析 (4) 3.经济可行性分析 (4) 4.操作可行性分析 (4) 5.结论 (4) 1.功能模块 (4) 2.运行需求 (5) 四.现有系统分析 (5) 1.现行系统主要业务 (5) 2.现行系统的问题 (6) 五.新系统分析 (6) 六.系统总体设计 (6) 1.系统总体设计的指导思想 (6) 2.功能分析 (6) 3.数据流图 (7) 4.新系统数据库 (10) 七.结束语 (10) 学生信息管理系统,便于用于班级信息和学生信息的修改以及查询,减少人力、物力,提高了工作效率;且能监控学生的注册情况,能做到及时的通知学生注册,促进学校财务的有效运转。通过课程管理,便于查看

学校内专业开设的课程,便于及时的调整专业设置及专业内的课程设置,以提高学校的竞争力。通过对成绩管理,便于掌握学生的学习情况,教师的授课情况,为学校的学籍管理提供依据。通过教师管理,便于查看教师的任课情况,简化的教师工作量的计算。由此,不仅提高了工作效率,而且大大的提高了其安全性。 (10) 参考文献 (11)

学生信息管理系统分析报告 引言 当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。随着计算机网络技术的不断发展,其被越来越广泛地应用于各行各业,作为教育单位的学校更不例外。学生信息管理系统更是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生信息管理系统能为用户提供充足的信息和快捷的查询手段。 一.问题定义 1.系统开发背景 在科学技术飞速发展的今天,计算机科学及互联网日渐成熟,其强大的功能已为人们深刻认识,它已经进入人类社会的各个领域并发挥着越来越重要的作用。各行各业的人们无须经过特别的训练就能够使用电脑完成许许多多复杂的工作。 学校规模的不断扩大,使学生的数量急剧增加,有关学生的各种信息资料也成倍增长。办学者们所头疼的问题就是如何面对这庞大的信息量。所以我觉得有必要建立一个学生学籍管理系统,使学生学籍管理工作规范化,系统化,程序化。该系统不仅可以提高当前我国学校管理工作的效率、改进师生或同学之间的信息交流方法,同时也可以通过后台数据库系统的管理功能实现学生注册、学生成绩的查询、学生选课等基本功能。 2.系统开发目的 高效快捷的学生信息管理系统可以提高学校对信息的管理,减少人力资源的开支和浪费,从而提高学校在各方面的工作效率。通过这样的系统,可以做到信息的规范管理、科学统计和快速的查询,从而减少管理方面的工作量。由于计算机和网络的普及,若建立一个B/S结构的学生信息管理系统,学生便可以通过网络来选课并且查询自己的有关信息,使得学生信息管理工作系统化,规范化,自动化,大大提高了学校管理学生的效率。

简单学生信息管理系统

简单学生信息管理系统-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

——综合性程序设计 题目:简单学生信息管理系统(序列化版)班级: 姓名: 学号:

实验目的: 1.综合运用输入、输出的知识,用序列化方法保存、读入数组内容。 2.设计实现一个简单的信息管理系统。 实验内容: 编写能够满足如下条件的程序,分两次四个课时完成 1.声明Student类,该类实现Serializable接口以表明该类可 以进行序列化。该类有姓名、学号、math、os、java用 来存放对应的成绩,在构造方法中进行姓名、学号、课 程成绩的赋值。Override有Object继承来的tostring方法 已便友好格式显示自己的属性; 2.建立一个类,利用数组来存储多个Student,写完一个方 法,在main中写一段测试代码,运行以保证目前所做工 作的正确性,正确后再写其他代码。有以下方法: 1)add(Student stu):增加新的学生,人数满时显示人满或是new一个更长的数组,把现有的Student复制 到新数组 2)dispAll():可以显示所有的学生信息(测试add是否正确) 3)findById(long id):可以按照学号来查找,然后显示符合条件的学生信息,查无此人的话显示错误信息。 4)findByName(string name):可以按照姓名来查找,然后显示符合条件的学生信息,查无此人的话显示错误 信息。(判断姓名是否相等使用string类的 equalsIgnoreCase方法) 5)delBy Id(long id): 可以按照id来删除学生信息,然后显示找到该人,若查无此人的话显示错误信息。 6)save():利用ObjectOutputStream 来把数组写入文件中,需要考虑在什么时候调用该方法。 7)load():利用ObjectIntputStream 来进行反序列化,得到以前保存的内容,注意要考虑以前未保存内容的 情况,可返回错误信息。 3.在控制台显示一个菜单,并实现相应的功能。菜单如 下: 1显示所有学生信息 2按学号查找 3 按姓名查找 4 按学号删除 5 保存 6 读入 7 退出 请输入数字(1-7):

java课程设计报告书

《Java程序设计》课程设计报告 2015—2016学年第二学期 设计题目:《数字连连看》 学生:黄杰 学号: 2 专业班级:软件工程1402 指导教师:国权 2016 年 7 月 2 日 目录 1.JAVA程序设计书 3 1.1《简易连连看》3 1.1.1具体要求 3 1.2本系统设计的知识点 3

2.功能设计 3 2.1算法设计 3 2.2部分模块流程图 4 3.代码设计 5 4.界面及运行效果,测试工具与测试效果14 5.设计总结 16 5.1.程序调试情况:16 5.2.本人在程序设计中感想: 16 6.致 16 主要参考文献16

: 1.1Java程序课程设计任务书 1.1《简易连连看游戏》 本程序基本实现了小游戏连连看的功能,玩家找出游戏中2个相同图案的方块,如果它们之间的连接线不多于3根直线,则将其连接起来,就可以成功将图案相同的方块消除,否则不会消失,当游戏中已没有满足条件的图案时,点击重列,可重新排序,游戏结束会跳出所得分数,该游戏的特点是与自己竞争,超过自己之前所创纪录。 1.1.1具体要求(包括技术要求等): <1>. 该游戏界面为方格类型,由纵6横7的直线平行垂直交叉组成,分别是6行5列方块拼接,共有30格小方块。方块上随机分布一些数字,数字的要至少两两相同,位置随机打乱。 <2>. 当将相同数字的方块连接,但要满足只能至少单边无阻碍呈直线趋势连接,否则无效,若连接一对成功就消失于界面,继续游戏,直到游戏结束,并能返回所得分数。 <3>. 重列按钮(帮助)的功能:游戏过程中,遇到困难难以寻找下一符合要求的一对数字,可按左下按钮重置重新排列方可继续游戏。 <4>. 退出按钮:击左下方的“退出游戏”按钮,即可结束游戏。 1.2本系统涉及的知识点: 循环,javaGUI组件,函数,数组,分支等 2.功能设计 2.1算法设计 本系统需要实现的功能要求: 图一,数字按钮功能模块 图二,三个功能按钮模块

学生信息管理系统项目开发总结报告

项目开发总结报告 1引言 1、1编写目的 为了总结报告在工作过程中产生的问题、获得的经验, 并且总结报告设计与制作者过程中的逻辑与想法,以便在以后的生产与学习过程中得到进一步提高。 1、2背景 说明: a.本项目名称:学生信息管理系统; b.此软件的任务提出者:小组; 开发者:全体小组成员。 1、3定义 服务器端API :服务器端设计者通过规范的API文档,提供给客户端,以方便客户端的开发,使得同时进行,提高效率,节约时间。两端通过protocol(协议类)进行通信; 用户:用户代指学生用户以及任课教师用户; 管理员:负责程序后台管理的工作人员。 1、4参考资料 《项目需求说明书》 《项目详细设计说明书》 《项目概要设计说明书》 参考资料: 《软件工程导论》 《软件文档编写》 2实际开发结果 2、1产品 产品名称:学生成绩管理系统

产品功能: 软件部分:能够管理与统计表学生成绩,支持老师输入,修改以及查询学生成绩,支持学生查询号自己的成绩与相关资料,支持管理员对学生信息的相关操作。 数据库部分:支持管理员将学生的相关信息在数据库中进行增加,删除与修改。 2、2主要功能与性能 功能: 2、2、1管理员功能 2、2、1、1学籍管理 (1)学生注册: 新学年一到,新生到学生注册出去注册,那么注册员可以接受新生的注册信息,那么信息就包括学生的基本信息以及简历: (2)学生信息查询: 用户可以根据学生的姓名、学号、班级、专业对学生的学籍信息进行查询 (3)学生毕业 可以成批地处理学生毕业,当然也可以设置学生毕业后学校对她们的资料保存期限 (4)修改学籍号 用户可以对学生的学号进行更改 (5)学籍变动 学籍变动包括学生学生换班、退学、插班、结业、休学等操作 2、1、1、2收费管理 (1)学生缴费标准 根据国家收费标准设置各个系各个专业的每年的学费、书费、住宿费等。 (2)学生缴费 该接口可实现学生的缴费操作。 (3)学生缴费查询 该接口能够以多个关键字对学生学费情况、以及各专业的收费标准进行查询。 (4)学生欠费统计 能够十分方便地统计每个班的缴费情况,以催促欠费学生尽快缴清 2、1、1、3班级管理 (1)班级添加 能够十分方便地添加班级,其中包括班级所在专业、班主任、班干部信息等。 (2)班级修改 修改班级情况,如辅导员、教室等 (3)班级拆、合 可以方便地实现班级的拆、合。 2、1、2教师功能 2、1、2、1成绩管理 (1)成绩录入

简单学生信息管理系统

. ——综合性程序设计 题目:简单学生信息管理系统(序列化版)班级: : 学号:

实验目的: 1.综合运用输入、输出的知识,用序列化方法保存、读入数组内容。 2.设计实现一个简单的信息管理系统。 实验内容: 编写能够满足如下条件的程序,分两次四个课时完成 1.声明Student类,该类实现Serializable接口以表明该类可 以进行序列化。该类有姓名、学号、math、os、java用来 存放对应的成绩,在构造方法中进行姓名、学号、课程成 绩的赋值。Override有Object继承来的tostring方法已便 友好格式显示自己的属性; 2.建立一个类,利用数组来存储多个Student,写完一个方法, 在main中写一段测试代码,运行以保证目前所做工作的 正确性,正确后再写其他代码。有以下方法: 1)add(Student stu):增加新的学生,人数满时显示人满或是new一个更长的数组,把现有的Student复制到新 数组 2)dispAll():可以显示所有的学生信息(测试add是否正确) 3)findById(long id):可以按照学号来查找,然后显示符合条件的学生信息,查无此人的话显示错误信息。 4)findByName(string name):可以按照姓名来查找,然后显示符合条件的学生信息,查无此人的话显示错误信 息。(判断姓名是否相等使用string类的 equalsIgnoreCase方法) 5)delBy Id(long id): 可以按照id来删除学生信息,然后显示找到该人,若查无此人的话显示错误信息。 6)save():利用ObjectOutputStream 来把数组写入文件中,需要考虑在什么时候调用该方法。 7)load():利用ObjectIntputStream 来进行反序列化,得到以前保存的内容,注意要考虑以前未保存内容的情 况,可返回错误信息。 3.在控制台显示一个菜单,并实现相应的功能。菜单如下: 1显示所有学生信息2按学号查找3 按姓名查找 4 按学号删除 5 保存 6 读入 7 退出 请输入数字(1-7): 程序代码

Java课程设计报告书

华东交通大学理工学院课程设计报告书( 2010-- 2011年度第 2 学期) 所属课程名称 Java面向对象程序设计题目设计一个多功能计算器分院电信分院 专业班级 09信管<1>班 学号 20090210450106 蔡炜指导教师黄建华 2011年06月23日

华东交通大学理工学院 课程设计(论文)任务书专业09信管班级 <1>班姓名蔡炜 一、课程设计(论文)题目设计一个多功能计算器 二、课程设计(论文)工作:自 2011 年06 月 13日起至2011年 06 月 23日止。 三、课程设计(论文)的内容要求: 本应用程序继承自框架类(JFrame),此程序使用Frame布局管理器BorderLayout,将单行文本框加入到“North”区域,包含各种按钮的面板Panel p加入到”Center”区域。包含各种按钮的面板Panel p 采用4行5列的网格布局,然后将数字按钮和运算符按钮以及控制按钮添加到面板中。同时注册按钮事件监听器。如:Button b=new Button(); b.addActionListener(事件监听器); 事件监听器中的事件处理方法void actionPerformed(ActionEvent evt)完成主要的按钮事件的处理。事件处理分以下几种情况:数字按钮事件(”0”,”1”,”2”…”8”,”9”)、运算符按钮事件(”+”,”-“,”*”,”/”,”%”)、正负号按钮事件(”+/-“)、小数点按钮事件(”.”)、等号按钮事件(”=”)、求倒按钮事件(”1/x”)、清零按钮事件(“C”)。

在事件处理触发按钮事件时,要进一步分析,是重新开始计算时触发的按钮事件还是计算中间触发的按钮事件。 计算器完成的是一个数学表达式,如:3+2,所以可以采用一个链表(LinkedList类)来存储数字或字符,如3,+,2分别存储在链表中,最后运算时,可以一一取出来进行运算。 学生签名: ( ) 2011 年06 月 23 日 课程设计(论文)评阅意见 评阅人职称 20 年月日

学生信息管理系统需求分析报告(完整版)5

学生信息管理系统 分 析 报 告 专业:经济学 班级:0902班 姓名: 吴雪艳 学号:090430213

任务分配: 1、可行性分析 2、系统功能分析 3、数据描述 4.详细设计 一、可行性分析 1. 问题: (1)目前的课程设计管理系统由人工统计处理。 (2)站用一个办公室和2-3个职工专门用来管理课程设计选课,每天有固定工作时间8小时。 (3)每人工资在每月2000-3000元。 (4)需要选题的同学按班级的方式报上来,经核对分配后方才生效,在通知老师选题情况。双方如有问题还需在工作时间来此解决。(5)由于是人工处理且工作量大,所以效率低,出错率高,修改麻烦。 2.项目目标:学生和老师可以方便的选课,同时可以查询和修改各自的信息,以便学校管理。 3.运行环境: (1)以Windows98 以上/ME/2000/XP作为学生选课管理系统的后台操作系统。 (2)前台开发程序为JAVA,SQL Server 2000。 (3)后台数据库为Microsoft Access 2000/ SQL Server 2000。

(4)主要硬件设备:PC机一台。 4. 开发风险:浪费资金人力,会影响原有管理方式,总体风险不大。 5. 经济可行性: 成本估计:一台计算机每天电费(工作18小时以上),需要4-5名管理远和数据库维护人员每天工资(每天工作在8小时以上),人员培训费用,定期软硬件更新费用,每年总运营费用,杂项费用。 资源分析:现有计算机比较充足,相关人才在学校内就能找到,工资要求低。 6.技术可行性:我校计算机系以及其他系都有软硬件知识丰富,具有较高的文化水平和计算机操作水平,可以设计管理该系统的学生和老师,且课余时间丰富,可以学习和了解在设计和应用当中会遇到或可 能遇到的技术问题。我校许多专业都以开设类似的课程设计题目,学生和老师在技术方面已经有经验,正缺少这样的实践机会。 7.法律可行性:虽然其他学校也有类似的管理系统,但都主要在本校使用,没有涉及到盈利方面,我校设计该系统也本着让学生和老师把握一次学习实践的机会的目的,锻炼他们的开发技术和能力,不会去抄袭已经设计好的管理系统,如有借鉴的地方发布时也会说明,而且该系统是本着方便学生学习的目的,而非盈利目的,所以不会和法律相冲突。 8.总体分析:比原有方式工作效率高,成本低,出错率低,使学校实现现代化网络教学管理。 二、系统功能分析

简单的学生信息管理系统C语言

#include #include //输入函数getch的头文件,不能用getchar,具体请查看两者的区别 #include //申请空间的函数malloc的头文件 typedef struct { //定义结构体类型,包含四项内容,可以自由添加 int num; char name[10]; int age; char sex[5]; }st; typedef struct node //构造结点(也是结构体变量) { st data; //数据域 struct node *next; //指针域(指向结构体,也就是自身) }list; list *create() //建立一个单链表 { list *p,*r,*head; //定义结构体指针变量 int i,n; head = (list *)malloc(sizeof(list)); //申请头结点 r = head; head->next = NULL; //头结点的指针域先定义为空 printf("请输入学生人数:\n"); scanf("%d",&n); printf("请输入学生个人信息:\n\n学号,姓名,年龄,性别\n"); for(i=1;i<=n;i++) { p = (list *)malloc(sizeof(list)); //申请一个结点 scanf("%d%s%d%s",&p->data.num,&p->https://www.360docs.net/doc/844297868.html,,&p->data.age,&p->data.sex); //向结点的数据域输入学生信息 p->next = NULL; r->next = p; //将头结点指向第一个结点,以此类推。 r = r->next; } return (head); //返回头结点的地址 } void output(list *h) // 输出链表中的学生信息 { list *p; p = h->next; //使p指向第一个结点 if(p == NULL)

学生信息管理系统java课程设计源代码

JAVA程序设计课程设计报告 课题: 学生信息管理系统 姓名: 学号: 同组姓名: 专业班级: 指导教师: 设计时间: 评阅意见: 评定成绩: 指

目录 一、系统描述 (2) 1、需要实现的功能 (3) 2、设计目的 (3) 二、分析与设计 (3) 1、功能模块划分 (3) 2、数据库结构描述 (4) 3、系统详细设计文档 (6) 4、各个模块的实现方法描述 (9) 5、测试数据及期望结果 (11) 三、系统测试 (16) 四、心得体会 (23) 五、参考文献 (24) 六、附录 (24)

一、系统描述 1、需求实现的功能 1.1、录入学生基本信息的功能 学生基本信息主要包括:学号、姓名、年龄、出生地、专业、班级总学分,在插入时,如果数据库已经存在该学号,则不能再插入该学号。 1.2、修改学生基本信息的功能 在管理员模式下,只要在表格中选中某个学生,就可以对该学生信息进行修改。 1.3、查询学生基本信息的功能 可使用“姓名”对已存有的学生资料进行查询。 1.4、删除学生基本信息的功能 在管理员模式下,只要选择表格中的某个学生,就可以删除该学生。 1.5、用户登陆 用不同的登录权限可以进入不同的后台界面,从而实现权限操作。 1.6、用户登陆信息设置 可以修改用户登陆密码 2、设计目的 学生信息管理系统是一个教育单位不可缺少的部分。一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差、人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高,计算机科学日渐成熟,

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

(此文档为word格式,下载后您可任意编辑修改!) 面向对象程序设计大作业 ------学生信息管 理系统 学院名称信息科学与工程学院 专业班级数学大类2011级2班 学生姓名魏仿 学号 指导教师孙红梅

完成时间: 2013 年 5 月 29 日

学生信息管理系统 1、编程目的 为方便学生信息的管理,特编写这个程序方便操作学生信息管理系统。实现对学生姓名、学号、性别、成绩等信息的管理,可以实现学生的增加、删、查等多种功能的操作。 2、系统简介 本系统实现学生信息的管理,以动态链表、结构体数据类型来实现数据的存储与加工,利用链表来实现学生信息的插入、删除、查找功能。 主要分7个模块: 模块一: 结构体的定义,定义struct student{};struct date{};结构体struct student{};数据成员包括:int studentId; char name[20]; char sex[5]; struct date birthday; int score; struct student *next; 其中 struct date birthday;

又借用struct date{};结构体的成员:int year; int month; int day;以此来实现学生学号、姓名、性别、出生日期、成绩等信息的存储于处理。 模块二: ListCreate函数,函数类型为:struct student 形参:struct student *();主函数,测试数据,测试链表各节点(学生基本信息)的输出、插入、删除、查找功能。 3、编程思路 一:数据类型: 1.考虑到学生个人信息包含学号、姓名、性别、出生日期、成绩等信息。因此采用结构体类型,定义学生个人信息结构体,并定义学生学号、姓名、性别、出生日期、成绩等数据成员。 2.考虑到要实现多个学生个人信息的管理,可采用结构体数组与链表。但是由于要对多个学生信息进行信息的插入、删除、查找等操作。显然结构体数组很难实现以上操作,因此选用链表。

相关文档
最新文档