c++程序 学生信息系统
- 格式:doc
- 大小:51.00 KB
- 文档页数:5
C语言学生管理系统代码
简介
学生管理系统是一个用于管理学生信息的简单程序,它可以实现添加学生信息、显示学生信息、修改学生信息和删除学生信息等功能。
通过这个系统,学校或机构可以更方便地管理和维护学生的相关数据。
功能
1.添加学生信息:通过输入学生的姓名、学号、年龄和性别等信息,将
学生信息存储在系统中。
每个学生信息包括学号、姓名、年龄和性别等关键信息。
2.显示学生信息:可以显示系统中所有学生的信息,包括学号、姓名、
年龄和性别。
3.修改学生信息:通过输入学生的学号,可以修改该学生的姓名、年龄
和性别等信息。
4.删除学生信息:通过输入学生的学号,可以删除该学生的信息。
实现
下面是一个简单的C语言学生管理系统代码示例:
```c #include <stdio.h> #include <string.h>
#define MAX_STUDENTS 100
// 定义学生结构体 struct Student { int id; char name[100]; int age; char
gender[10]; };
// 定义全局变量,用于存储学生信息和统计学生数量 struct Student
students[MAX_STUDENTS]; int num_students = 0;
// 添加学生 void addStudent() { if (num_students >= MAX_STUDENTS) { printf(。
学生成绩管理系统c语言课程设计报告一、引言学生成绩管理系统是一个为学校或教育机构提供学生学业成绩管理的重要工具。
通过该系统,可以方便地记录和查询学生的各项成绩,帮助教师和学生了解学生的学业表现,及时作出教学和学习的调整和改进。
本文将介绍一个基于C语言的学生成绩管理系统的设计与实现。
二、需求分析1. 学生信息管理:包括学生基本信息的录入、修改和删除。
2. 成绩信息管理:包括成绩的录入、修改和删除。
3. 成绩查询与统计:可以按照学生学号或姓名查询学生的成绩,并能够进行成绩的统计分析,如计算平均分和排名等。
4. 数据存储与备份:能够将学生信息和成绩信息存储在文件中,并能够进行数据的备份和恢复。
三、系统设计1. 学生信息管理模块:设计一个结构体来存储学生的基本信息,包括学号、姓名、性别、年龄等。
通过菜单选择,可以实现学生信息的录入、修改和删除功能。
2. 成绩信息管理模块:设计一个结构体来存储学生的成绩信息,包括科目名称和成绩。
通过菜单选择,可以实现成绩信息的录入、修改和删除功能。
3. 成绩查询与统计模块:通过学号或姓名查询学生的成绩,并能够进行成绩的统计分析,如计算平均分和排名等。
4. 数据存储与备份模块:设计文件操作函数,将学生信息和成绩信息存储在文件中,并能够进行数据的备份和恢复。
四、系统实现1. 使用C语言编写程序代码,通过结构体和数组等数据结构实现学生信息和成绩信息的存储。
2. 利用文件操作函数实现数据的读取和存储,包括学生信息和成绩信息的存储和备份。
3. 设计菜单界面,通过用户选择来实现各个功能模块的调用。
五、系统测试与优化1. 针对各个功能模块进行测试,验证系统的正确性和稳定性。
2. 根据测试结果优化程序代码,提高系统性能和用户体验。
3. 完善系统功能,考虑异常情况的处理,提高系统的容错性和健壮性。
六、总结与展望通过本次课程设计,我们成功实现了一个基于C语言的学生成绩管理系统。
该系统能够方便地记录和查询学生的成绩信息,帮助教师和学生进行教学和学习的分析和改进。
学籍管理系统一、系统简介设计一个基于结构体数组的学生学籍管理系统,能实现对学生学籍信息进行录入,修改,删除,查询和输出等基本操作二、需求分析学籍管理系统应该实现以下功能:1、能录入学生的基本信息,包括学号,姓名,专业,年级,性别和出生日期信息,保存到结构体数组中。
2、能根据输入的学号查询学生,进行信息的修改。
3、能根据输入的学号从结构体数组中删除学生的记录。
4、实现查询功能,能根据输入的学号或年级在屏幕上显示相应的学生信息。
5、能在屏幕上以列表的方式输出所有学生的信息。
三、概要设计1、系统功能根据项目的开发要求,本系统划分成六个主要功能模块:录入学生信息模块、修改学生信息模块、删除学生信息模块、查询学生信息模块、输出模块和推出模块。
系统功能机构图如下:2、重要数据的数据结构设计学生学籍的记录项用结构体Stu message表示,包括6个属性,stuno,name、spec、grade、sex、birthday 分另U代表学生的学号、专业、年级、性另U和出生日期,其中birthday 类型为自定义的结构体类型Date.Struct stumessage {Char stuno[11]: // 学号Char name[9]: // 姓名Char spec[2]: // 专业Char grade: // 年级Char sex : // 性别Stuct date birthday: // 出生日期};日期类型date包括三个属性,分别代表年、月、日Struct date{int year : // 年Int month: //Int day: // H};3、函数设计学籍管理系统程序采用了结构化程序设计的思想,由1个.h 头文件和3个C源文件组成。
程序中除了主函数外,共设计了以下14个函数,分别包含在3个.c源文件中。
以下是这些函数原型及功能设计。
(1) void sysinfo(void)函数功能:在屏幕上输入系统及信息并等待用户响应。
学生管理系统c语言简单版学生管理系统c语言简单版介绍:学生管理系统是一种用于管理学生信息的软件,它可以方便地对学生的基本信息、课程成绩等进行录入、查询、修改和删除等操作。
本文将介绍如何使用C语言编写一个简单的学生管理系统。
功能:1. 添加学生信息2. 查询学生信息3. 修改学生信息4. 删除学生信息5. 显示所有学生信息实现方法:1. 添加学生信息添加学生信息需要输入以下内容:姓名、性别、年龄、班级和电话号码。
我们可以定义一个结构体来存储这些信息,代码如下:```struct Student {char name[20];char sex[10];int age;char class[20];char phone[20];};```然后定义一个数组来存储多个学生的信息:```struct Student students[100];int count = 0; // 学生数量```接下来,我们可以编写一个函数来添加新的学生信息:```void addStudent() {struct Student student;printf("请输入姓名:");scanf("%s", );printf("请输入性别:");scanf("%s", student.sex);printf("请输入年龄:");scanf("%d", &student.age);printf("请输入班级:");scanf("%s", student.class);printf("请输入电话号码:");scanf("%s", student.phone);students[count++] = student; // 将新的学生信息存储到数组中 printf("添加成功!\n");}```2. 查询学生信息查询学生信息可以按照姓名或电话号码进行查询。
功能:查询修改统计成绩。
#include <stdio.h>struct student /*成绩表的结构声明*/{int num;char name[15];char sex;float WuLi;float ShuXue;float YingYu;float KuaiJi;float totle;};/*定义6个学生的信息:*/#define STU_NUMBER 6 /*宏定义学生数为6*/struct student Stu[STU_NUMBER]={{101,"yuchen", 'F', 98,85,96,89,0},{102,"xiaotong", 'F', 99,91,90,93,0},{103,"likanglong",'M', 76,83,74,82,0},{104,"yinger", 'F', 88,76,89,77,0},{105,"fengjiao", 'F', 97,100,94,96,0},{106,"sunyao", 'M', 87,89,66,84,0} };int SelectMainMenu(); /*显示并选择主菜单。
返回:被选择的菜单项*//*所有的函数声明:*/void Show(); /*成绩查询模块*/void Modify(); /*成绩修改模块*/void Stat(); /*成绩统计模块*/void StatAve(float *AveWuLi,float *AveShuXue,float *AveYingYu,float *AveKuaiJi);/*统计平均分*/int FindStudent(int num); /*根据学号查找某一学生*/void SetAllTotle(); /*计算所有学生总分*/void SetTotle(int No); /*计算第No个学生总分*/void ShowAllStudent(); /*显示所有成绩*/void ShowTitle(); /*显示表头信息*/void ShowStudent(int No); /*显示第No个的学生信息*/void main(){int isend=0,password=0; /*程序结束标志量,0表示不结束,1表示结束*/SetAllTotle(); /*计算所有学生总分*/while(password!=666){printf("qing shu ru mi ma:\n");scanf("%d",&password);}{switch(SelectMainMenu()) /*显示并选择主菜单*/{case 1: /*成绩查询*/Show(); /*调用成绩查询函数*/break;case 2: /*成绩修改*/Modify(); /*调用成绩修改函数*/break;case 3: /*成绩统计*/Stat(); /*调用成绩统计函数*/break;case 4: /*退出系统*/printf("\nxie xie nin de shi yong,zai jian!\n\n");isend = 1; /*设置程序结束标志*/break;}if(isend) break; /*程序结束*/}}int SelectMainMenu() /*显示并选择主菜单。
学生绩点计算系统C语言(附完整源代码)本文档提供了一个用于计算学生绩点的C语言程序的完整源代码。
程序简介该程序是一个学生绩点计算系统,它可以读取学生的课程成绩和学分信息,并计算出每门课程的绩点以及整个学期的绩点。
该程序可以帮助学生快速准确地计算自己的绩点,以便了解自己在学业上的表现。
源代码以下是该程序的完整源代码:include <stdio.h>int main() {int numCourses;float totalCredits = 0;float totalGradePoints = 0;printf("请输入您的课程数量:");scanf("%d", &numCourses);for (int i = 0; i < numCourses; i++) {int credits;float grade;printf("请输入第%d门课的学分:", i + 1); scanf("%d", &credits);printf("请输入第%d门课的成绩:", i + 1); scanf("%f", &grade);totalCredits += credits; totalGradePoints += credits * grade;}float gpa = totalGradePoints / totalCredits;printf("\n您的绩点为:%.2f\n", gpa);return 0;}该程序首先会要求用户输入课程数量,然后逐一询问每门课程的学分和成绩。
程序会根据用户输入的数据计算出总学分和总绩点,并最终计算出绩点(GPA),并将结果输出。
使用方法1. 运行该程序;2. 按照提示输入课程数量;3. 按照提示逐一输入每门课程的学分和成绩;4. 程序将会输出您的绩点(GPA)。
学生信息管理系统完整源代码注:本系统采用C/S结构,运用Java GUI知识编写,数据库为SQL SERVER 2005,没有采用典型的三级框架结构,所以代码有冗余,仅供参考。
一、数据表及数据源首先创建数据库,包含数据表如下:数据库创建完成后,新建一个名为SIMS的数据源,不会建数据源的同学可以在去搜索创建数据源的详细步骤,这里的数据名称一定要为SIMS,否则在以后程序连接数据库的语句中会出现错误。
二、操作演示三、代码部分创建Java工程,创建名称为SIMS的包,一下Java类均包含在一个包内。
1.登录界面package SIMS;import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.*;import java.text.SimpleDateFormat;import java.util.*;import java.util.Date;public class login extends JFrame implements ActionListener{String userID; //保留用户输入IDString password; //保留用户输入passwordJLabel jlID=new JLabel("用户ID:"); //使用文本创建标签对象 JLabel jlPwd=new JLabel("密码:");JTextField jtID=new JTextField(); //创建ID输入框JPasswordField jpPwd=new JPasswordField(); //创建密码输入框ButtonGroup bg=new ButtonGroup(); //创建ButtonGroup组件对象JPanel jp=new JPanel(); //创建Panel容器JLabel jl=new JLabel();JRadioButton jrb1=new JRadioButton("管理员");JRadioButton jrb2=new JRadioButton("教师");JRadioButton jrb3=new JRadioButton("学生",true);JButton jb1=new JButton("登录");JButton jb2=new JButton("重置");public login(){this.setLayout(null); //设置窗口布局管理器this.setTitle("学生信息管理系统"); //设置窗口标题this.setBounds(200,150,500,300); //设置主窗体位置大小和可见性this.setVisible(true); //设置窗口的可见性this.setResizable(false);jlID.setBounds(150,60,100,20); //设置ID框属性jtID.setBounds(220,60,100,20); //设置ID输入框属性jlPwd.setBounds(150,90,100,20); //设置密码框属性jpPwd.setBounds(220,90,100,20); //设置密码输入框属性jp.setBounds(35,120,400,250); //设置JPanel容器属性jb1.setBounds(160,170,60,20); //设置登录按钮属性jb2.setBounds(250,170,60,20); //设置取消按钮属性jb1.addActionListener(this); //设置登录按钮监听器jb2.addActionListener(this); //设置取消按钮监听器jl.setBounds(340,75,130,20); //设置提示框属性bg.add(jrb1); //将所有空间加入窗体bg.add(jrb2);bg.add(jrb3);this.add(jlID);this.add(jlPwd);this.add(jtID);this.add(jpPwd);this.add(jb1);this.add(jb2);this.add(jl);jp.add(jrb1);jp.add(jrb2);jp.add(jrb3);this.add(jp);centerShell(this);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}private void centerShell(JFrame shell) //窗口在屏幕中间显示{//得到屏幕的宽度和高度int screenHeight = Toolkit.getDefaultToolkit().getScreenSize().height;int screenWidth = Toolkit.getDefaultToolkit().getScreenSize().width;//得到Shell窗口的宽度和高度int shellHeight = shell.getBounds().height;int shellWidth = shell.getBounds().width;//如果窗口大小超过屏幕大小,让窗口与屏幕等大if(shellHeight > screenHeight)shellHeight = screenHeight;if(shellWidth > screenWidth)shellWidth = screenWidth;//让窗口在屏幕中间显示shell.setLocation(( (screenWidth - shellWidth) / 2),((screenHeight - shellHeight) / 2) );}public boolean equals(Object obj){ //重写equals方法判断字符串相等if(obj==null)return false;if(this == obj){return true;}if(obj instanceof String) {String str = (String)obj;return str.equals(userID);}return false;}public void actionPerformed(ActionEvent e){userID=jtID.getText(); //获取用户输入IDpassword=jpPwd.getText(); //获取用户输入密码if(e.getSource()==jb1){ //处理登录事件if(userID.equals("") || password.equals("")){jl.setFont(new Font("red",Font.BOLD,12)); //设置提示字体jl.setForeground(Color.red);jl.setText("请输入用户ID和密码");}else{Connection con=null;try{String url="jdbc:odbc:SIMS"; //连接数据库con=DriverManager.getConnection(url,"","");//获取连接字符串Statement stat=con.createStatement();if(jrb1.isSelected())//如果登录选中的管理员{ResultSet rs=stat.executeQuery("select * from Admin"); //判断输入用户名是否存在int flag=0;while(rs.next()){if(rs.getString(1).equals(userID)){flag=1;break;}}if(flag==0){jl.setFont(new Font("red",Font.BOLD,12));//设置提示字体jl.setForeground(Color.red);jl.setText("用户ID不存在");}if(flag==1){ResultSet rss=stat.executeQuery("selectAdmin_Pwd,Admin_Name from Admin where Admin_ID='"+userID+"'");//从表Admin获取信息while(rss.next()){String str=rss.getString(1);if(str.equals(password)){new admin(rss.getString(2));//创建admin窗口this.dispose(); //释放窗体}else{jl.setFont(new Font("red",Font.BOLD,12)); //设置提示字体jl.setForeground(Color.red);jl.setText("密码错误");}}}}else if(jrb2.isSelected()){ResultSet rs=stat.executeQuery("select * from Teacher_Info"); //判断输入用户名是否存在int flag=0;while(rs.next()){if(rs.getString(1).equals(userID)){flag=1;break;}}if(flag==0){jl.setFont(new Font("red",Font.BOLD,12));//设置提示字体jl.setForeground(Color.red);jl.setText("用户ID不存在");}if(flag==1){ResultSet rss=stat.executeQuery("selectTea_Pwd,Tea_Names from Teacher_Info where Tea_ID='"+userID+"'");//从表Teacher_Info获取信息while(rss.next()){String str=rss.getString(1);if(str.equals(password)){new teacher(rss.getString(2),userID);//创建admin窗口this.dispose(); //释放窗体}else{jl.setFont(new Font("red",Font.BOLD,12));//设置提示字体jl.setForeground(Color.red);jl.setText("密码错误");}}}}else if(jrb3.isSelected()){ResultSet rs=stat.executeQuery("select * from Student_Info"); //判断输入用户名是否存在int flag=0;while(rs.next()){if(rs.getString(1).equals(userID)){flag=1;break;}}if(flag==0){jl.setFont(new Font("red",Font.BOLD,12));//设置提示字体jl.setForeground(Color.red);jl.setText("用户ID不存在");}if(flag==1){ResultSet rsss=stat.executeQuery("selectStu_Pwd,Stu_Name from Student_Info where Stu_ID='"+userID+"'");//从表Student_Info获取信息while(rsss.next()){String str=rsss.getString(1);if(str.equals(password)){new student(rsss.getString(2),userID);//创建admin窗口this.dispose(); //释放窗体}else{jl.setFont(new Font("red",Font.BOLD,12));//设置提示字体jl.setForeground(Color.red);jl.setText("密码错误");}}}}}catch(Exception ex){ex.getStackTrace();}finally{try{con.close();}catch(Exception exc){exc.printStackTrace();}}}}else if(e.getSource()==jb2){ //处理登录事件jtID.setText("");jpPwd.setText("");jrb3.setSelected(true);jl.setText("");}}public static void main(String[] args){new login();}}2.添加课程package SIMS;import javax.swing.*;import java.sql.*;import java.awt.*;import java.awt.event.*;public class add_course extends JFrame implements ActionListener{ static add_course ss;String courseID=""; //课程名String coursename=""; //课程名String count=""; //课时JLabel warning=new JLabel(); //输入信息提示框JLabel title=new JLabel();JLabel note1=new JLabel("*");JLabel note2=new JLabel("*");JLabel jlcourseID=new JLabel("课程号:"); //使用文本框创建标签对象JLabel jlcoursename=new JLabel("课程名:");JLabel jlcount=new JLabel("课时:");JTextField jtcourseID=new JTextField(); //创建文本框对象JTextField jtcoursename=new JTextField();JTextField jtcount=new JTextField();JButton submit=new JButton("添加"); //创建按钮对象JButton reset=new JButton("重置");public add_course(){ //添加教师账号信息this.setTitle("添加课程信息"); //设置窗口标题this.setLayout(null); //设置窗口布局管理器this.add(jlcourseID); //将控件添加到窗体this.add(title);this.add(jlcoursename);this.add(jlcount);this.add(jtcourseID);this.add(jtcoursename);this.add(jtcount);this.add(note1);this.add(note2);this.add(submit);this.add(reset);this.add(warning);title.setFont(new Font("red",Font.BOLD,15)); //设置提示字体title.setForeground(Color.red);note1.setFont(new Font("red",Font.BOLD,20)); //设置提示字体note1.setForeground(Color.red);note2.setFont(new Font("red",Font.BOLD,20)); //设置提示字体note2.setForeground(Color.red);warning.setFont(new Font("red",Font.BOLD,12)); //设置提示字体warning.setForeground(Color.red);title.setText("添加课程信息"); //设置控件及窗体位置大小title.setBounds(222,20,150,20);jlcourseID.setBounds(180,80,100,20);jlcoursename.setBounds(180,140,100,20);jlcount.setBounds(180,200,100,20);jtcourseID.setBounds(250,80,140,20);jtcoursename.setBounds(250,140,140,20);jtcount.setBounds(250,200,140,20);note1.setBounds(400,80,140,20);note2.setBounds(400,140,140,20);submit.setBounds(200,270,60,20);reset.setBounds(300,270,60,20);warning.setBounds(420,140,150,20); //设置提示框位置大小submit.addActionListener(this); //添加监听器reset.addActionListener(this);this.setSize(600,400); //设置窗体大小centerShell(this); //设置窗口位置在屏幕中央this.setResizable(false); //设置窗体不可变大小this.setVisible(true); //设置窗口可见性this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);}public boolean equals(Object obj){ //重写equals方法判断字符串相等if(obj==null)return false;if(this == obj){return true;}if(obj instanceof String) {String str = (String)obj;return str.equals(courseID);}return false;}public void actionPerformed(ActionEvent e){courseID=jtcourseID.getText(); //获取用户输入内容coursename=jtcoursename.getText();count=jtcount.getText();int temp=0,flag=0;Connection con=null;if(e.getSource()==submit){ //判断是否已输入必填信息if(courseID.equals("") || coursename.equals("")){warning.setText("请输入必填信息");}else{try{String url="jdbc:odbc:SIMS"; //连接数据库con=DriverManager.getConnection(url,"",""); //获取连接字符串Statement stat=con.createStatement();ResultSet rs=stat.executeQuery("select Course_ID from Course");while(rs.next()){if(rs.getString(1).equals(courseID)){warning.setText("课程ID已存在");flag=1; //判断用户名唯一break;}}if(flag!=1){if(!count.equals("")){temp=stat.executeUpdate("insert intoCourse(Course_ID,Course_Name,Course_Count)values('"+courseID+"','"+coursename+"','"+count+"')");}else{temp=stat.executeUpdate("insert intoCourse(Course_ID,Course_Name) values('"+courseID+"','"+coursename+"')");}}if(temp==1){JOptionPane.showMessageDialog(ss,"添加成功");warning.setText("");}else{JOptionPane.showMessageDialog(ss,"添加失败");}}catch(Exception ex){ex.getStackTrace();}}}else if(e.getSource()==reset){warning.setText("");jtcourseID.setT ext("");jtcoursename.setText("");jtcount.setText("");}}private void centerShell(JFrame shell) //窗口在屏幕中间显示{//得到屏幕的宽度和高度int screenHeight = Toolkit.getDefaultToolkit().getScreenSize().height;int screenWidth = Toolkit.getDefaultToolkit().getScreenSize().width;//得到Shell窗口的宽度和高度int shellHeight = shell.getBounds().height;int shellWidth = shell.getBounds().width;//如果窗口大小超过屏幕大小,让窗口与屏幕等大if(shellHeight > screenHeight)shellHeight = screenHeight;if(shellWidth > screenWidth)shellWidth = screenWidth;//让窗口在屏幕中间显示shell.setLocation(((screenWidth - shellWidth)/ 2),((screenHeight - shellHeight)/2));}}3.添加学生package SIMS;import javax.swing.*;import java.sql.*;import java.awt.*;import java.awt.event.*;public class add_student extends JFrame implements ActionListener{static add_teacher ss;String userID=""; //用户名String pwd1=""; //密码String pwd2=""; //确认密码String getsdept=""; //院系String name=""; //姓名JLabel warning=new JLabel(); //输入信息提示框JLabel title=new JLabel();JLabel note1=new JLabel("*");JLabel note2=new JLabel("*");JLabel note3=new JLabel("*");JLabel jlID=new JLabel("学号:"); //创建文本框对象 JLabel jlName=new JLabel("姓名:");JLabel jlPwd=new JLabel("密码:");JLabel jlPwd2=new JLabel("确认密码:");JLabel sdept=new JLabel("学院:");JTextField jtID=new JTextField();JTextField jtName=new JTextField();JPasswordField jtPwd=new JPasswordField ();JPasswordField jtPwd2=new JPasswordField ();JTextField jtsdept=new JTextField();JButton submit=new JButton("添加"); //创建按钮对象JButton reset=new JButton("重置");public add_student(){this.setTitle("添加学生账号信息"); //设置窗口标题this.setLayout(null); //设置窗口布局管理器this.add(jlID); //将控件添加到窗体this.add(title);this.add(jlName);this.add(jlPwd);this.add(jlPwd2);this.add(sdept);this.add(jtID);this.add(jtName);this.add(jtPwd);this.add(jtPwd2);this.add(jtsdept);this.add(note1);this.add(note2);this.add(note3);this.add(submit);this.add(reset);this.add(warning);title.setFont(new Font("red",Font.BOLD,15)); //设置提示字体title.setForeground(Color.red);note1.setFont(new Font("red",Font.BOLD,20)); //设置提示字体note1.setForeground(Color.red);note2.setFont(new Font("red",Font.BOLD,20)); //设置提示字体note2.setForeground(Color.red);note3.setFont(new Font("red",Font.BOLD,20)); //设置提示字体note3.setForeground(Color.red);warning.setFont(new Font("red",Font.BOLD,12)); //设置提示字体warning.setForeground(Color.red);title.setText("添加学生账号信息");title.setBounds(222,20,150,20);jlID.setBounds(180,60,100,20);jlName.setBounds(180,100,100,20);jlPwd.setBounds(180,140,100,20);jlPwd2.setBounds(180,180,100,20);sdept.setBounds(180,220,100,20);jtID.setBounds(250,60,140,20);jtName.setBounds(250,100,140,20);jtPwd.setBounds(250,140,140,20);jtPwd2.setBounds(250,180,140,20);jtsdept.setBounds(250,220,140,20);note1.setBounds(400,60,140,20);note2.setBounds(400,140,140,20);note3.setBounds(400,180,140,20);submit.setBounds(200,270,60,20);reset.setBounds(300,270,60,20);warning.setBounds(420,100,150,20);submit.addActionListener(this);reset.addActionListener(this);this.setSize(600,400);centerShell(this);this.setVisible(true);this.setResizable(false); //设置窗体不可变大小this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);}public boolean equals(Object obj){ //重写equals方法判断字符串相等if(obj==null)return false;if(this == obj){return true;}if(obj instanceof String) {String str = (String)obj;return str.equals(pwd1);}return false;}public void actionPerformed(ActionEvent e){userID=jtID.getText(); //获取用户输入内容pwd1=jtPwd.getText();pwd2=jtPwd2.getText();getsdept=jtsdept.getText();name=jtName.getText();int temp=0,flag=0;Connection con=null;if(e.getSource()==submit){if(userID.equals("") || pwd1.equals("") || pwd2.equals("")){ //判断是否已输入必填信息warning.setText("请输入必填信息");}else if(!pwd1.equals(pwd2)){ //判断两次输入密码是否相同warning.setText("两次输入密码不相同");}else{try{String url="jdbc:odbc:SIMS"; //连接数据库con=DriverManager.getConnection(url,"",""); //获取连接字符串Statement stat=con.createStatement();ResultSet rs=stat.executeQuery("select Stu_ID from Student_Info");while(rs.next()){if(rs.getString(1).equals(userID)){warning.setText("用户ID已存在");flag=1; //判断用户名唯一break;}}if(flag!=1){if(!name.equals("") && !getsdept.equals("")){temp=stat.executeUpdate("insert intoStudent_Info(Stu_ID,Stu_Name,Stu_Pwd,Depart)values('"+userID+"','"+name+"','"+pwd1+"','"+getsdept+"')");}else if(!name.equals("") && getsdept.equals("")){temp=stat.executeUpdate("insert intoStudent_Info(Stu_ID,Stu_Name,Stu_Pwd) values('"+userID+"','"+name+"','"+pwd1+"')");}else if(name.equals("") && !getsdept.equals("")){temp=stat.executeUpdate("insert intoStudent_Info(Stu_ID,Stu_Pwd,Depart) values('"+userID+"','"+pwd1+"','"+getsdept+"')");}else{temp=stat.executeUpdate("insert intoStudent_Info(Stu_ID,Stu_Pwd) values('"+userID+"','"+pwd1+"')");}}if(temp==1){JOptionPane.showMessageDialog(ss,"添加成功");}else{JOptionPane.showMessageDialog(ss,"添加失败");}}catch(Exception ex){ex.getStackTrace();}}}else if(e.getSource()==reset){ //重置所有控件warning.setText("");jtID.setText("");jtName.setText("");jtPwd.setText("");jtPwd2.setText("");jtsdept.setText("");}}private void centerShell(JFrame shell) //窗口在屏幕中间显示{//得到屏幕的宽度和高度int screenHeight = Toolkit.getDefaultToolkit().getScreenSize().height;int screenWidth = Toolkit.getDefaultToolkit().getScreenSize().width;//得到Shell窗口的宽度和高度int shellHeight = shell.getBounds().height;int shellWidth = shell.getBounds().width;//如果窗口大小超过屏幕大小,让窗口与屏幕等大if(shellHeight > screenHeight)shellHeight = screenHeight;if(shellWidth > screenWidth)shellWidth = screenWidth;//让窗口在屏幕中间显示shell.setLocation(((screenWidth - shellWidth)/ 2),((screenHeight - shellHeight)/2));}//public static void main(String args[]){// new add_student();//}}4.添加教师package SIMS;import javax.swing.*;import java.sql.*;import java.awt.*;import java.awt.event.*;public class add_teacher extends JFrame implements ActionListener{static add_teacher ss;String userID=""; //用户名String pwd1=""; //密码String pwd2=""; //确认密码String getsdept=""; //院系String name=""; //姓名JLabel warning=new JLabel(); //输入信息提示框JLabel title=new JLabel();JLabel note1=new JLabel("*");JLabel note2=new JLabel("*");JLabel note3=new JLabel("*");JLabel jlID=new JLabel("教工号:"); //使用文本框创建标签对象 JLabel jlName=new JLabel("姓名:");JLabel jlPwd=new JLabel("密码:");JLabel jlPwd2=new JLabel("确认密码:");JLabel sdept=new JLabel("学院:");JTextField jtID=new JTextField(); //创建文本框对象JTextField jtName=new JTextField();JPasswordField jtPwd=new JPasswordField ();JPasswordField jtPwd2=new JPasswordField ();JTextField jtsdept=new JTextField();JButton submit=new JButton("添加"); //创建按钮对象JButton reset=new JButton("重置");public add_teacher(){ //添加教师账号信息this.setTitle("添加教师账号信息"); //设置窗口标题this.setLayout(null); //设置窗口布局管理器this.add(jlID); //将控件添加到窗体this.add(title);this.add(jlName);this.add(jlPwd);this.add(jlPwd2);this.add(sdept);this.add(jtID);this.add(jtName);this.add(jtPwd);this.add(jtPwd2);this.add(jtsdept);this.add(note1);this.add(note2);this.add(note3);this.add(submit);this.add(reset);this.add(warning);title.setFont(new Font("red",Font.BOLD,15)); //设置提示字体title.setForeground(Color.red);note1.setFont(new Font("red",Font.BOLD,20)); //设置提示字体note1.setForeground(Color.red);note2.setFont(new Font("red",Font.BOLD,20)); //设置提示字体note2.setForeground(Color.red);note3.setFont(new Font("red",Font.BOLD,20)); //设置提示字体note3.setForeground(Color.red);warning.setFont(new Font("red",Font.BOLD,12)); //设置提示字体warning.setForeground(Color.red);title.setText("添加教师账号信息"); //设置控件及窗体位置大小title.setBounds(222,20,150,20);jlID.setBounds(180,60,100,20);jlName.setBounds(180,100,100,20);jlPwd.setBounds(180,140,100,20);jlPwd2.setBounds(180,180,100,20);sdept.setBounds(180,220,100,20);jtID.setBounds(250,60,140,20);jtName.setBounds(250,100,140,20);jtPwd.setBounds(250,140,140,20);jtPwd2.setBounds(250,180,140,20);jtsdept.setBounds(250,220,140,20);note1.setBounds(400,60,140,20);note2.setBounds(400,140,140,20);note3.setBounds(400,180,140,20);submit.setBounds(200,270,60,20);reset.setBounds(300,270,60,20);warning.setBounds(420,100,150,20); //设置提示框位置大小submit.addActionListener(this); //添加监听器reset.addActionListener(this);this.setSize(600,400); //设置窗体大小centerShell(this); //设置窗口位置在屏幕中央this.setResizable(false); //设置窗体不可变大小this.setVisible(true); //设置窗口可见性this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);}public boolean equals(Object obj){ //重写equals方法判断字符串相等if(obj==null)return false;if(this == obj){return true;}if(obj instanceof String) {String str = (String)obj;return str.equals(pwd1);}return false;}public void actionPerformed(ActionEvent e){userID=jtID.getText(); //获取用户输入内容pwd1=jtPwd.getText();pwd2=jtPwd2.getText();getsdept=jtsdept.getText();name=jtName.getText();int temp=0,flag=0;Connection con=null;if(e.getSource()==submit){ //判断是否已输入必填信息if(userID.equals("") || pwd1.equals("") || pwd2.equals("")){warning.setText("请输入必填信息");}else if(!pwd1.equals(pwd2)){ //判断两次输入密码是否一致warning.setText("两次输入密码不相同");}else{try{String url="jdbc:odbc:SIMS"; //连接数据库con=DriverManager.getConnection(url,"",""); //获取连接字符串Statement stat=con.createStatement();ResultSet rs=stat.executeQuery("select Tea_ID from Teacher_Info");while(rs.next()){if(rs.getString(1).equals(userID)){warning.setText("用户ID已存在");flag=1; //判断用户名唯一break;}}if(flag!=1){if(!name.equals("") && !getsdept.equals("")){temp=stat.executeUpdate("insert intoTeacher_Info(Tea_ID,Tea_Names,T ea_Pwd,Depart)values('"+userID+"','"+name+"','"+pwd1+"','"+getsdept+"')");}else if(!name.equals("") && getsdept.equals("")){temp=stat.executeUpdate("insert intoTeacher_Info(Tea_ID,Tea_Names,T ea_Pwd)values('"+userID+"','"+name+"','"+pwd1+"')");}else if(name.equals("") && !getsdept.equals("")){temp=stat.executeUpdate("insert intoTeacher_Info(Tea_ID,Tea_Pwd,Depart) values('"+userID+"','"+pwd1+"','"+getsdept+"')");}else{temp=stat.executeUpdate("insert intoTeacher_Info(Tea_ID,Tea_Pwd) values('"+userID+"','"+pwd1+"')");}}if(temp==1){JOptionPane.showMessageDialog(ss,"添加成功");}else{JOptionPane.showMessageDialog(ss,"添加失败");}}catch(Exception ex){ex.getStackTrace();}}}else if(e.getSource()==reset){warning.setText("");jtID.setText("");jtName.setText("");jtPwd.setText("");jtPwd2.setText("");jtsdept.setText("");}}private void centerShell(JFrame shell) //窗口在屏幕中间显示{//得到屏幕的宽度和高度int screenHeight = Toolkit.getDefaultToolkit().getScreenSize().height;int screenWidth = Toolkit.getDefaultToolkit().getScreenSize().width;//得到Shell窗口的宽度和高度int shellHeight = shell.getBounds().height;int shellWidth = shell.getBounds().width;//如果窗口大小超过屏幕大小,让窗口与屏幕等大if(shellHeight > screenHeight)shellHeight = screenHeight;if(shellWidth > screenWidth)shellWidth = screenWidth;//让窗口在屏幕中间显示shell.setLocation(((screenWidth - shellWidth)/ 2),((screenHeight - shellHeight)/2));}// public static void main(String[] args){// new add_teacher();// }}5.添加授课信息package SIMS;import javax.swing.*;import java.sql.*;import java.awt.*;import java.awt.event.*;public class add_tc extends JFrame implements ActionListener{static add_tc ss;String courseID=""; //课程名String teachername=""; //课程名JLabel warning=new JLabel(); //输入信息提示框JLabel title=new JLabel();JLabel note1=new JLabel("*");JLabel note2=new JLabel("*");JLabel jlcourseID=new JLabel("课程号:"); //使用文本框创建标签对象JLabel jlteachername=new JLabel("教师号:");JTextField jtcourseID=new JTextField(); //创建文本框对象JTextField jtteachername=new JTextField();JButton submit=new JButton("添加"); //创建按钮对象JButton reset=new JButton("重置");public add_tc(){ //添加授课信息this.setTitle("添加授课信息"); //设置窗口标题this.setLayout(null); //设置窗口布局管理器this.add(jlcourseID); //将控件添加到窗体this.add(jlteachername);this.add(title);this.add(jtcourseID);this.add(jtteachername);this.add(note1);this.add(note2);this.add(submit);this.add(reset);this.add(warning);title.setFont(new Font("red",Font.BOLD,15)); //设置提示字体title.setForeground(Color.red);note1.setFont(new Font("red",Font.BOLD,20)); //设置提示字体note1.setForeground(Color.red);note2.setFont(new Font("red",Font.BOLD,20)); //设置提示字体note2.setForeground(Color.red);warning.setFont(new Font("red",Font.BOLD,12)); //设置提示字体warning.setForeground(Color.red);title.setText("添加授课信息"); //设置控件及窗体位置大小title.setBounds(222,20,150,20);jlcourseID.setBounds(180,80,100,20);jlteachername.setBounds(180,140,100,20);jtcourseID.setBounds(250,80,140,20);jtteachername.setBounds(250,140,140,20);note1.setBounds(400,80,140,20);note2.setBounds(400,140,140,20);submit.setBounds(200,250,60,20);reset.setBounds(300,250,60,20);warning.setBounds(420,140,150,20); //设置提示框位置大小submit.addActionListener(this); //添加监听器reset.addActionListener(this);this.setSize(600,400); //设置窗体大小centerShell(this); //设置窗口位置在屏幕中央this.setResizable(false); //设置窗体不可变大小this.setVisible(true); //设置窗口可见性this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);}public boolean equals(Object obj){ //重写equals方法判断字符串相等if(obj==null)return false;if(this == obj){return true;}if(obj instanceof String) {String str = (String)obj;return str.equals(courseID);}return false;}public void actionPerformed(ActionEvent e){courseID=jtcourseID.getText(); //获取用户输入内容teachername=jtteachername.getText();int temp=0,flag1=0,flag2=0,flag3=0;Connection con=null;if(e.getSource()==submit){ //判断是否已输入必填信息if(courseID.equals("") || teachername.equals("")){warning.setText("请输入必填信息");}else{try{String url="jdbc:odbc:SIMS"; //连接数据库con=DriverManager.getConnection(url,"",""); //获取连接字符串Statement stat=con.createStatement();ResultSet rs=stat.executeQuery("select Course_ID from Course");while(rs.next()){if(rs.getString(1).equals(courseID)){flag1=1; //判断课程ID存在break;}}ResultSet rss=stat.executeQuery("select Tea_ID fromTeacher_Info");while(rss.next()){if(rss.getString(1).equals(teachername)){flag2=1; //判断教师ID存在break;}}if(flag1!=1){warning.setText("课程ID不存在");}else if(flag2!=1){warning.setText("教师ID不存在");}ResultSet rsss=stat.executeQuery("select Course_ID,T ea_ID from tc");while(rsss.next()){if(rsss.getString(1).equals(courseID) &&rsss.getString(2).equals(teachername)){flag3=1;warning.setText("授课信息重复");。
原创C语言学生成绩管理系统总结学生成绩管理是每个学校必备的重要工作之一。
为了提高学生成绩管理的效率和准确性,我设计并实现了一个基于C语言的学生成绩管理系统。
本文总结了我在开发过程中的思路、技术和经验。
一、系统概述学生成绩管理系统是一个基于C语言的命令行应用程序。
它提供了学生信息录入、成绩录入、成绩查询和成绩统计等功能。
用户可以通过菜单选择相应的操作,系统会根据用户输入的指令进行相应的处理并返回结果。
二、功能实现1. 学生信息录入系统允许用户逐个录入学生的基本信息,包括学号、姓名、性别、年龄等。
这些信息会被保存在一个结构体数组中,方便后续操作。
2. 成绩录入用户可以选择输入学生的科目和成绩,系统会根据学号匹配相应的学生并将成绩保存在对应的结构体中。
系统还会检查输入的成绩是否合法,如是否在合理的范围内。
3. 成绩查询用户可以按照学号或姓名查询学生的成绩。
系统会根据用户输入的关键字,在学生结构体数组中进行查找,并返回查询结果。
如果找不到匹配的学生,则给出相应的提示。
4. 成绩统计系统提供了对学生成绩的统计功能,包括总分、平均分、最高分和最低分等。
用户可以选择统计某一科目或所有科目的成绩,并获得相应的统计结果。
三、技术实现1. 结构体我使用结构体来存储学生的基本信息和成绩数据。
结构体中的成员变量包括学号、姓名、性别、年龄和科目成绩等。
通过定义结构体数组,可以存储和管理多个学生的数据。
2. 文件操作为了实现学生信息的长期保存和读取,我使用了文件操作。
当学生信息录入或成绩录入操作完成后,系统会将数据保存到磁盘文件中。
在每次启动系统时,系统会从文件中读取数据到内存中,以便后续的查询和统计操作。
3. 菜单选择为了交互式地进行操作,我使用了菜单选择的方式。
系统会打印主菜单,并根据用户选择的指令进行相应的处理。
用户可以通过键盘输入数字来选择菜单项,系统会根据输入的数字进行相应的判断和处理。
四、程序测试在开发过程中,我进行了多次测试以确保系统的稳定性和正确性。
学生成绩管理系统一,实验目的用C 语言实现基本的学生成绩管理系统的基本功能,完成既定要求。
二,需要处理的基础数据学生基本信息包括:①学号(如2010级14班6号写作20101406)②姓③名④性别⑤出生年月日⑤课程对应的考试成绩(外语SCORE[0]、高数SCORE[1]、C 语言SCORE[2]、马哲SCORE[3]) 平均成绩和总成绩三,系统功能1学生基本情况录入。
要求对输入的性别、出生年月日的合理性进行判断(如0代表“女”,1代表“男”,输入其他值非法,年龄不能为负,月份不能大于13等)。
2允许对已经录入的数据进行显示。
3允许进行数据的插入。
4删除基本数据的相关信息。
5基于姓名的查询。
如:姓张的所有同学。
6基于各种基本数据的统计计算。
如:①统计每个学生各门功课的平均成绩,并按平均成绩从高到低的次序排名输出每个学生各门功课的综合成绩和平均成绩(名次、学号、姓名、平均成绩、各门功课的考试成绩)。
②列出90分及以上、80分及以上、70分及以上、60分及以上、不及格学生清单(学号、姓名、不及格的课程和成绩)。
③统计并输出各门功课的平均成绩和总平均成绩。
④按班级统计并输出总成绩(需对学号进行解析)。
四,系统功能模块图五,数据结构设计 输入学生信息按学号删除学生信息显示链表中所有记录从文件中读入记录将链表中的记录保存到文件中按姓名查找计算学生成绩按班级查询退出struct St{char IDNumber[16]; //学号char FamilyName[16]; //姓char GivenName[16]; //名int sex; //性别(0女,1男)intBirthYear; //出生年intBirthMonth; //出生月intBirthDay; //出生日float score[4]; //成绩float sum; //总分float average; //平均分struct St *next;};六,程序结构流程图main•包含以下9个功能根据用户选择的功能实现input •录入学生基本信息,学号、姓名、性别出生日期以及各科成绩del•删除学生数据listprint•将链表中的学生信息输出searchname•按照姓名查找学生信息fsave•将链表中的学生信息保存在文件中七,模块功能 在结构流程图中已经给出。
一、课程设计目的1.通过C++课程设计,使学生能够将学到的面向对象的设计思想运用在具体的工作和学习中,加深对类和对象的理解,要求学生对生活中许多具体的事物抽象出类,并掌握继承和派生类、基类、虚函数和多态的概念。
2.用所学的C++语言知识及其编程方法,包括类和对象、继承与多态等面向对象的基本思想和方法以及文件流的基本操作等内容。
通过布置具有一定难度的实际程序设计项目,要求学生独立完成所布置项目。
在分析设计过程中,要求学生养成良好的编程习惯,学会分析解决简单的实际问题,学会C++编程环境(VC++)的实际调试技巧和方法,要求学生在教师的指导下逐步完成应用程序的分析与设计过程。
二、课程设计的内容(一)、题目:学生信息管理系统(二)、目的与要求1。
目的:(1)基本掌握面向对象程序设计的基本思路和方法;(2)达到熟练掌握C++语言的基本知识和技能;(3)能够利用所学的基本知识和技能,解决简单的程序设计问题2。
要求基本要求:(1)要求利用面向对象的方法以及C++的编程思想来完成系统的设计;(2)要求在设计的过程中,建立清晰的类层次;(3)在系统中至少要定义三个类,每个类中要有各自的属性和方法;(4)在系统的设计中,至少要用到面向对象的一种机制。
创新要求:在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能。
3。
信息描述学生信息:学号、姓名、系别、班级和所选科目及各科成绩等。
4。
功能描述(1)使用继承的方法构造3个类(如人员类——-基类,普通学生类和管理员类—---派生类)使用相应的对象放置相应信息(2) 编写同名的display()成员函数,用来输出相应的内容(3)录入学生信息并保存(4)按不同类别输出学生信息(如按性别、年龄等)(5)查询学生信息(以一种或多种方式,如按名字、学号等检索)(6) 修改学生信息并保存(7) 删除学生信息(8) 计算学生的平均成绩三、设计说明总体结构我们采取模块化方式进行程序设计,要求程序的功能设计、数据结构设计及整体结构设计合理.也可根据自己对题目的理解增加新的功能模块.系统以菜单界面方式工作,运行界面友好,演示程序以用户和计算机的对话方式进行。
#include "stdafx.h"#include <string.h>#include <stdlib.h>#include <fstream.h>#define OK 1#define ERROR 0typedef struct //定义学生结构体{char no[8]; //八位学号char name[20]; //姓名int score; //成绩}Student;typedef struct //定义顺序表{Student *stu; //指向数据元素的基地址int length; //顺序表的当前长度}SqList;int Creat(SqList &L,int &n) //初始化顺序表{ifstream inFile("Student.txt"); //打开Student文件if(!inFile){cerr<<"Cannot open this file!"<<endl;exit(1);}inFile>>n; //读入学生个数L.stu=new Student[n];L.length=0; //初始化顺序表for(int i=0;i<n;i++) //从Student文件中读取数据存入顺序表中{inFile>>L.stu[i].no>>L.stu[i].name>>L.stu[i].score;L.length++;}inFile.close();cout<<"数据读取完毕";return OK;}int Show(SqList L) //显示学生信息{cout<<"表中共有"<<L.length<<"个学生数据:"<<endl;cout<<"学号\t姓名\t成绩"<<endl;for(int i=0;i<L.length;i++) //逐个显示学生信息cout<<L.stu[i].no<<'\t'<<L.stu[i].name<<'\t'<<L.stu[i].score<<end l;return OK;}int Locate_name(SqList L) //根据姓名查找学生信息{int i;char name2[20];cout<<"请输入您要查找的学生姓名:";cin>>name2; //输入要查找的学生姓名for(i=0;i<L.length;i++) //寻找匹配的学生信息if(strcmp(L.stu[i].name,name2)==0)cout<<"您要查找的学生"<<name2<<"的结果:"<<endl<<"学号:"<<L.stu[i].no<<endl<<"成绩:"<<L.stu[i].score<<endl;//显示查询结果return OK;}int Locate_location(SqList L) //根据位置查找学生信息{int i;cout<<"请输入您要查找的学生位置:";cin>>i; //输入要查找的位置while(i<1||i>L.length) //判断输入的值是否合法{cout<<"您输入的位置不合格!请重新输入:";cin>>i;}cout<<"第"<<i<<"个学生信息为:"<<endl;cout<<"学号\t姓名\t成绩"<<endl; //显示查找结果cout<<L.stu[i+1].no<<'\t'<<L.stu[i+1].name<<'\t'<<L.stu[i+1].scor e<<endl;return OK;}int Insert(SqList &L) //向指定位置插入学生信息{int i;Student s;Student *stu2;stu2=new Student[L.length];for(int j=0;j<L.length;j++) //将原表中数据赋给新的Student数组中stu2[j]=L.stu[j];cout<<"请输入您要插入学生信息的位置:";cin>>i; //输入要插入的位置while(i<1||i>L.length) //判断输入的值是否合法{cout<<"您输入的位置不合格!请重新输入:";cin>>i;}cout<<"请您输入要插入的学生信息(格式为学号姓名成绩):";cin>>s.no>>>>s.score; //输入要插入的学生信息L.length++; //表长加一L.stu=new Student[L.length]; //为顺序表重新分配内存for(j=0;j<L.length-1;j++) //将Stu2中的数据赋给新表L.stu[j]=stu2[j];for(j=L.length-2;j>i-2;j--) //将表中指定位置后的数据向后移一位L.stu[j+1]=L.stu[j];L.stu[i-1]=s; //将要插入的信息插入到表中的指定位置ofstream outFile("Student.txt");//将新得到的表重新写入Student.txt中if(!outFile){cerr<<"Cannot open this file!"<<endl;exit(1);}outFile<<L.length<<endl;for(j=0;j<L.length;j++)outFile<<L.stu[j].no<<'\t'<<L.stu[j].name<<'\t'<<L.stu[j].score<< endl;outFile.close();cout<<"学生信息已插入表中指定位置";return OK;}int Cancel(SqList &L) //删除指定位置的数据{int i;cout<<"请您输入要删除的学生信息的位置:";cin>>i; //输入指定的位置while((i<1)||(i>L.length)){cout<<"您输入的位置不合格!请重新输入:";cin>>i;}for(int j=i;j<L.length-1;j++)//将指定位置之后的数据逐个向前移一位L.stu[j-1]=L.stu[j];L.length--; //表长减一ofstream outFile("Student.txt");//将得到的新表重新写入Student.txt中if(!outFile){cerr<<"Cannot open this file!"<<endl;exit(1);}outFile<<L.length<<endl;for(j=0;j<L.length;j++)outFile<<L.stu[j].no<<'\t'<<L.stu[j].name<<'\t'<<L.stu[j].score<< endl;cout<<"该位置学生信息已删除";return OK;}int Length(SqList L) //返回当前表长{cout<<"目前表长为"<<L.length<<endl; //显示当前表长return OK;}int main(int argc, char* argv[]){SqList L; //创建顺序表Lint n=0;int s=0;while(s!=8) //制作菜单{cout<<"******************************欢迎使用学生信息系统******************************"<<endl;cout<<"(1)读入学生信息"<<endl;cout<<"(2)逐个显示学生的相关信息"<<endl;cout<<"(3)根据姓名查找"<<endl;cout<<"(4)根据位置查找"<<endl;cout<<"(5)插入学生信息"<<endl;cout<<"(6)删除学生信息"<<endl;cout<<"(7)显示当前表长"<<endl;cout<<"(8)退出系统"<<endl;cout<<"********************************************************** **********************"<<endl<<endl;cout<<"请选择您需要的服务:";cin>>s;switch(s){case 1:Creat(L,n);cout<<endl<<endl;break;case 2:Show(L);cout<<endl<<endl;break;case 3:Locate_name(L);cout<<endl<<endl;break;case 4:Locate_location(L);cout<<endl<<endl;break;case 5:Insert(L);cout<<endl<<endl;break;case 6:Cancel(L);cout<<endl<<endl;break;case 7:Length(L);cout<<endl<<endl;break;default:cout<<endl<<"欢迎使用"<<endl<<endl;}}return 0;}。