学生信息管理系统网页设计教程(C++设计一个学生信息管理系统)

本文目录
- C++设计一个学生信息管理系统
- 基于java控制台的学生信息管理系统开发与实现(基于java的学生管理系统的设计与实现)
- 关于Java界面布局设计,学生信息管理系统,求大神指点
- 学生管理系统流程图
- 学生信息管理系统C语言编程
C++设计一个学生信息管理系统
#include《iostream》
#include《fstream》
#include《string》
#include《cstring》
using namespace std;
class Student{ //学生类
private:
string number; //学号
string name; //姓名
int age; //年龄
char sex; //性别
string grade; //班级
public:
Student(); //无参构造
Student(string Num,string Nam,int Age,char Sex,string Gra):number(Num),name(Nam),age(Age),sex(Sex),grade(Gra){}//有参构造
~Student(){} //析构
virtual void Display(); //显示学生信息
virtual void Add(); //声明新增学生对象的函数
virtual int FindRevise(string str) {if(str==number) return 1;else return 0;}
void Setname(string str) {name=str;} //修改姓名
void SetGrade(string str) {grade=str;} //修改班级
};
Student::Student(){ //定义学生类无参构造函数
number="001";
name="Zhangsan";
age=18;
sex=’M’;
grade="One";
}
void Student::Display(){ //定义显示学生信息函数
cout《《"学号:"《《number《《endl;
cout《《"姓名:"《《name《《endl;
cout《《"年龄:"《《age《《endl;
cout《《"性别:"《《sex《《endl;
cout《《"年级:"《《grade《《endl;
}
void Student::Add(){ //定义增加学生信息函数
cout《《"请输入"《《endl;
cout《《"学号:";cin》》number;
cout《《"姓名:";cin》》name;
cout《《"年龄:";cin》》age;
cout《《"性别:";cin》》sex;
cout《《"年级:";cin》》grade;
}
class Undergrade:public Student{ //本科生类,继承了学生类
private:
double score1; //成绩1
double score2; //成绩2
double score3; //成绩3
double score4; //成绩4
Student monitor; //班长(学生类)
public:
Undergrade(); //无参构造
Undergrade(string Num,string Nam,int Age,char Sex,string Gra,double s1,double s2,double s3,double s4,Student Mon):Student(Num,Nam,Age,Sex,Gra){
score1=s1;
score2=s2;
score3=s3;
score4=s4;
monitor=Mon;
}//有参构造
virtual void Display_monitor();//定义显示班长信息函数
~Undergrade(){} //析构
void Display();//声明显示本科生类学生信息函数
void Add(); //声明新增本科类学生的函数
virtual void AddMon();//声明增加班长信息的函数
int FindRevise(string str); //用于查找判断该学号是否为该学生 str为学号
void Revise(int n); //修改学生信息,n为需要修改的信息(详细见ReviseMenu)
};
Undergrade::Undergrade(){ //定义本科生类学生无参构造函数
score1=100;
score2=100;
score3=100;
score4=100;
Student t;
monitor=t;
}
void Undergrade::Display_monitor(){ //定义显示本科生信息函数
monitor.Display();
}
void Undergrade::Display(){ //定义显示本科生信息函数
Student::Display();
cout《《"成绩1:"《《score1《《endl;
cout《《"成绩2:"《《score2《《endl;
cout《《"成绩3:"《《score3《《endl;
cout《《"成绩4:"《《score4《《endl;
cout《《"班长:"《《endl;
Display_monitor();
}
void Undergrade::AddMon(){ //定义增加班长信息的函数
monitor.Add();
}
void Undergrade::Add(){ //定义增加本科生信息函数
Student::Add();
cout《《"成绩1:";cin》》score1;
cout《《"成绩2:";cin》》score2;
cout《《"成绩3:";cin》》score3;
cout《《"成绩4:";cin》》score4;
cout《《"班长:"《《endl;
AddMon();
}
int Undergrade::FindRevise(string str){//用于查找判断该学号是否为该学生 str为学号
if(Student::FindRevise(str)) return 1;
else return 0;
}
void Undergrade::Revise(int n){ //修改学生信息 n为修改的具体类型(详情见ReviseMenu)
string str;
switch(n){
case 1:{
cout《《"请输入新姓名:";cin》》str;
Student::Setname(str);
break;
}
case 2:{
cout《《"请输入新班级:";cin》》str;
Student::SetGrade(str);
break;
}
}
}
class Graduate:public Student{//研究生类
private:
double scoreA; //成绩a
double scoreB; //成绩b
Student monitor; //班长(学生类)
string res_direction;//研究方向
string res_teacher; //研究导师
double pay;//工资
public:
Graduate(); //无参构造
Graduate(string Num,string Nam,int Age,char Sex,string Gra,double A,double B,Student Mon,string Dir,string Tea,double Pay):Student(Num,Nam,Age,Sex,Gra){
scoreA=A;
scoreB=B;
monitor=Mon;
res_direction=Dir;
res_teacher=Tea;
pay=Pay;
}//有参构造
void Display_monitor();//声明显示班长信息函数
~Graduate(){} //析构
void Display();//声明显示研究生类学生信息函数
void Add();//新增学生信息
void AddMon();//新增班长信息
int FindRevise(string str);//用于查找判断该学号是否为该学生 str为学号
void Revise(int n);//修改学生信息 n为修改的具体类型(详情见ReviseMenu)
};
Graduate::Graduate(){ //定义研究生类学生无参构造函数
scoreA=100;
scoreB=100;
Student t;
monitor=t;
res_direction="Zhang";
res_teacher="Zhang";
pay=999;
}
void Graduate::Display_monitor(){ //定义显示班长信息函数
monitor.Display();
}
void Graduate::Display(){ //定义显示研究生信息函数
Student::Display();
cout《《"成绩A:"《《scoreA《《endl;
cout《《"成绩B:"《《scoreB《《endl;
cout《《"班长:"《《endl;
Display_monitor();
cout《《"研究方向:"《《res_direction《《endl;
cout《《"研究导师:"《《res_teacher《《endl;
cout《《"工资:"《《pay《《endl;
}
void Graduate::AddMon(){//定义增加班长信息的函数
monitor.Add();
}
void Graduate::Add(){ //定义增加研究生信息函数
Student::Add();
cout《《"成绩A:";cin》》scoreA;
cout《《"成绩B:";cin》》scoreB;
cout《《"班长:"《《endl;
AddMon();
cout《《"研究方向:";cin》》res_direction;
cout《《"研究导师:";cin》》res_teacher;
cout《《"工资:";cin》》pay;
}
int Graduate::FindRevise(string str){//用于查找判断该学号是否为该学生 str为学号
if(Student::FindRevise(str)) return 1;
else return 0;
}
void Graduate::Revise(int n){ //修改学生信息 n为修改的具体类型(详情见ReviseMenu)
string str;
switch(n){
case 1:{
cout《《"请输入新姓名:";cin》》str;
Student::Setname(str);
break;
}
case 2:{
cout《《"请输入新班级:";cin》》str;
Student::SetGrade(str);
break;
}
}
}
void MainMenu() //主菜单
{
cout《《"\n\t学 生 管 理 系 统";
cout《《"\n*******************************\n";
cout《《" \t1.添加新本科类学生\n";
cout《《" \t2.添加新研究生类学生\n";
cout《《" \t3.显示本科类学生信息\n";
cout《《" \t4.显示研究生类学生信息\n";
cout《《" \t5.修改本科类学生信息\n";
cout《《" \t6.修改研究生类学生信息\n";
cout《《" \t7.删除本科类学生信息\n";
cout《《" \t8.删除研究生类学生信息\n";
cout《《" \t9.\n";
cout《《" \t10.\n";
cout《《"\n*******************************\n";
cout《《"请选择:";
}
void ReviseMenu() //定义修改学生信息的函数
{
cout《《"\n***************************\n";
cout《《"1.修改姓名\n";
cout《《"2.修改班级";
cout《《"\n***************************\n";
cout《《"请选择:";
}
int main()
{
Undergrade UndGra; //定义本科生对象数组
int UndGraVis;//用于判断本科生是否存在
Graduate Gra; //定义研究生对象数组
int GraVis;//用于判断研究生是否存在
int i,UndGraPeo=1,GraPeo=1,a;
memset(UndGraVis,1,sizeof(UndGraVis));
memset(GraVis,1,sizeof(GraVis));
while(1)
{
MainMenu();
int c;
cin》》c;
cout《《endl;
switch(c)
{
case 1:{//新增本科生
UndGra.Add();
cout《《"已成功添加!"《《endl;
UndGraPeo++;
break;
}
case 2:{//新增研究生
Gra.Add();
cout《《"已成功添加!"《《endl;
GraPeo++;
break;
}
case 3:{//显示本科生
if(UndGraPeo==1) cout《《"无记录!\n";
else{
for(i=1;i《UndGraPeo;i++){
if(!UndGraVis) continue;
UndGra.Display();
cout《《endl;
}
}
break;
}
case 4:{//显示研究生
if(GraPeo==1) cout《《"无记录!\n";
else{
for(i=1;i《GraPeo;i++){
if(!GraVis) continue;
Gra.Display();
cout《《endl;
}
}
break;
}
case 5:{//修改本科生信息
ReviseMenu();
int n; cin》》n;
string str;
int num=0;
cout《《"请输入该学生学号:";cin》》str;
for(i=1;i《UndGraPeo;i++){
if(UndGra.FindRevise(str)) {num=i;break;}
}
if(num==0||!UndGraVis) {cout《《"输入错误!"《《endl;break;} //未找到该学生
else UndGra.Revise(n);
cout《《"修改成功!"《《endl;
break;
}
case 6:{//修改研究生信息
ReviseMenu();
int n; cin》》n;
string str;
int num=0;
cout《《"请输入该学生学号:";cin》》str;
for(i=1;i《GraPeo;i++){
if(Gra.FindRevise(str)) {num=i;break;}
}
if(num==0||!GraVis) {cout《《"输入错误!"《《endl;break;}
else Gra.Revise(n);
cout《《"修改成功!"《《endl;
break;
}
case 7:{//删除本科生信息
string str;
int num=0;
cout《《"请输入该学生学号:";cin》》str;
for(i=1;i《UndGraPeo;i++){
if(UndGra.FindRevise(str)) {num=i;break;}
}
if(num==0||!UndGraVis) {cout《《"输入错误!"《《endl;break;} //未找到该学生
else UndGraVis=0;
cout《《"已删除!"《《endl;
break;
}
case 8:{//删除研究生信息
string str;
int num=0;
cout《《"请输入该学生学号:";cin》》str;
for(i=1;i《GraPeo;i++){
if(Gra.FindRevise(str)) {num=i;break;}
}
if(num==0||!GraVis) {cout《《"输入错误!"《《endl;break;} //未找到该学生
else GraVis=0;
cout《《"已删除!"《《endl;
break;
}
default:cout《《"输入错误!\n";
}
}
return 0;
}
这可绝对可用 我们刚刚 做完这个
基于java控制台的学生信息管理系统开发与实现(基于java的学生管理系统的设计与实现)
packaged;
importjava.io.*;
importjava.util.*;
publicclassTreemap{
staticTreeMaptm=newTreeMap();//实例化一个树对象
staticStudents;//声明一个静态变量S
publicstaticvoidmain(Stringargs){
try{
fis=new("students.txt");//实例化一个对象并且读取students.txt文件
ois=new(fis);
while((s=(Student)(ois.readObject()))!=null)
{
tm.put(s.stunum,s);
}
ois.close();
}catch(IOExceptionioe){
}catch(c){
}
try{
while(true){
System.out.println("退出");//显示菜单
System.out.print("请选择操作:");
is=new(System.in);
br=new(is);
Stringch=br.readLine();
intc=Integer.parseInt(ch);
switch(c){
case0:
break;
case1:
search();
break;
case2:
input();
break;
case3:
delete();
break;
case4:
listAll();
break;
case5:
tm.clear();
System.exit(0);
break;
default:
System.out.println("输入有误!");
}
}
}catch(IOExceptione){
}catch(e){
System.out.println("输入有误!");
}
}
staticvoidlistAll()
{
tm.clear();
try{
fis=new("students.dat");
ois=new(fis);
while((s=(Student)(ois.readObject()))!=null)
{
tm.put(s.stunum,s);
System.out.println(s.stunum""s.stuname);
}
ois.close();
}catch(IOExceptionioe){
}catch(c){
}
}
staticvoidinput(){
Stringstr1=null,str2=null;
try{
InputStreamReaderis=newInputStreamReader(System.in);
BufferedReaderbr=newBufferedReader(is);
System.out.print("请输入学号:");
str1=br.readLine();
System.out.print("请输入姓名:");
str2=br.readLine();
}catch(IOExceptione){
System.out.println(e);
}
s=newStudent(str1,str2);
tm.put(s.stunum,s);
//写文件
intn=1;
try{
FileOutputStreamfos=newFileOutputStream("students.dat");
ObjectOutputStreamoos=newObjectOutputStream(fos);
for(Iteratorit=tm.values().iterator();it.hasNext();)
{
s=(Student)it.next();
oos.writeObject(s);
}
oos.close();
}catch(IOExceptione){
System.out.println(e);
}
}
staticvoidsearch()
{
Stringkey=null;
try{
InputStreamReaderis=newInputStreamReader(System.in);
BufferedReaderbr=newBufferedReader(is);
System.out.print("请输入一个学号:");
key=br.readLine();
}catch(IOExceptione){
System.out.println(e);
}
if(tm.containsKey(key))
{
s=(Student)tm.get(key);
System.out.println(s.stunum""s.stuname);
}
else
System.out.println("没有");
}
staticvoiddelete()
{
Stringkey=null;
try{
InputStreamReaderis=newInputStreamReader(System.in);
BufferedReaderbr=newBufferedReader(is);
System.out.print("请输入学号:");
key=br.readLine();
}catch(IOExceptione){
}
if(tm.remove(key).equals(null))
{
System.out.println("没有");
}
try{
FileOutputStreamfos=newFileOutputStream("students.dat");
ObjectOutputStreamoos=newObjectOutputStream(fos);
for(Iteratorit=tm.values().iterator();it.hasNext();)
{
s=(Student)it.next();
oos.writeObject(s);
}
oos.close();
}catch(IOExceptione){
System.out.println(e);
}
}
}
classStudentimplementsSerializable{
Stringstunum;
Stringstuname;
publicStudent(Stringstunum,Stringstuname){
this.stunum=stunum;
this.stuname=stuname;
}
}
关于Java界面布局设计,学生信息管理系统,求大神指点
按照你的要求编写的Java程序如下:
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.DefaultTableModel;
import sun.swing.table.DefaultTableCellHeaderRenderer;
public class StudentInfoManagement extends JFrame implements ActionListener{
JLabel jl=new JLabel("注册成功!",JLabel.LEFT);
JLabel jl1=new JLabel("编号:");
JLabel jl2=new JLabel("姓名:");
JLabel jl3=new JLabel("院系:");
JTextField jtf1=new JTextField(5);
JTextField jtf2=new JTextField(8);
String college={"计算机学院","理工学院","管理学院"};
JComboBox jcb=new JComboBox(college);
JButton jb1=new JButton("注册");
JButton jb2=new JButton("注销");
JButton jb3=new JButton("查询");
JButton jb4=new JButton("更新");
Objectdata=null;
StringcolumnName={"学号","姓名","院系"};
DefaultTableModel dtm=new DefaultTableModel(data,columnName);
JTable jt=new JTable(dtm);
JScrollPane jsp=new JScrollPane(jt);
JPanel jp=new JPanel();
JPanel jp1=new JPanel();
JPanel jp11=new JPanel();
JPanel jp12=new JPanel();
JPanel jp13=new JPanel();
JPanel jp2=new JPanel();
StudentInfoManagement(){
super("smsGUI");
jb1.addActionListener(this);
jb2.addActionListener(this);
jb3.addActionListener(this);
jb4.addActionListener(this);
jp11.setLayout(new FlowLayout(FlowLayout.LEFT));
jp11.add(jl1);jp11.add(jtf1);jp11.add(jl2);jp11.add(jtf2);
jp12.setLayout(new FlowLayout(FlowLayout.LEFT));
jp12.add(jl3);jp12.add(jcb);
jp13.add(jb1);jp13.add(jb2);jp13.add(jb3);jp13.add(jb4);
jp1.setLayout(new GridLayout(3,1));
jp1.add(jp11);jp1.add(jp12);jp1.add(jp13);
jp1.setBorder(BorderFactory.createEtchedBorder());
jp2.setLayout(new BorderLayout());
// 设置table表头居左
DefaultTableCellHeaderRenderer thr = new DefaultTableCellHeaderRenderer();
thr.setHorizontalAlignment(JLabel.LEFT);
jt.getTableHeader().setDefaultRenderer(thr);
DefaultTableCellRenderer tcr = new DefaultTableCellRenderer() {
public Component getTableCellRendererComponent(JTable table,
Object value, boolean isSelected, boolean hasFocus,
int row, int column) {
if (row % 2 == 0)
setBackground(Color.white); //设置奇数行底色
else if (row % 2 == 1)
setBackground(new Color(246, 246, 246)); //设置偶数行底色
return super.getTableCellRendererComponent(table, value,
isSelected, hasFocus, row, column);
}
};
// 设置table内容居左
tcr.setHorizontalAlignment(JLabel.LEFT);
jt.setDefaultRenderer(Object.class, tcr);
jp2.add(jsp);
jp.setLayout(null);
jp1.setBounds(2,0, 380, 130);
jp2.setBounds(5,140, 375, 200);
jl.setBounds(0, 340, 400, 20);
jp.add(jp1);jp.add(jp2);jp.add(jl);
add(jp);
setSize(400,400);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);
}
@Override
public void actionPerformed(ActionEvent ae) {
if(ae.getSource()==jb1){
String;
row=jtf1.getText().trim();
row=jtf2.getText().trim();
row=(String)jcb.getSelectedItem();
dtm.addRow(row);
}
}
public static void main(String args) {
new StudentInfoManagement();
}
}
运行结果:
学生管理系统流程图
学生管理系统流程图如下:
除了这些模块的设置以外, 我们还需要创建数据库和表,首先分析需求:学生基本信息:学号 ,姓名,性别, 出生日期,班号,电话,入校日期,家庭住址,备注等。班级信息:班号,所在年级,班主任姓名,所在教室。
课程基本信息:课程号,课程名称,课程类别,课程描述。课程设置信息:年级信息,所学课程等。学生成绩信息:考试编号,所在班级,学生学号,学生姓名,所学课程,考试分数。
拓展资料
学生信息管理系统是针对学校学生处的大量工作处理工作而开发的管理软件,主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、科学化、规范化和自动化,其主要任务是用手机和计算机对学生各种信息进行日常管理,如查询、修改、增加、删除等,另外还考虑到学生选课,针对这些要求设计了学生信息管理系统。
推行学校信息管理系统的应用是进一步推进学生学籍管理规范化、电子化、控制辍学和提高义务教育水平的重要举措。系统针对学校学生信息的特点以及管理中实际需要而设计,能够有效地实现学生信息管理的信息化,减轻管理人员的工作负担,高效率、规范化地管理大量的学生信息,并避免人为操作的错误和不规范行为。
学生信息管理系统C语言编程
#include《stdio.h》 /*I/O函数*/
#include《stdlib.h》 /*其它说明*/
#include《string.h》 /*字符串函数*/
#define BUFLEN 100 /* 缓冲区最大字符数 */
#define LEN 15 /* 学号和姓名最大字符数,实际请更改 */
#define N 100 /* 最大学生人数,实际请更改*/
struct record /*结构体*/
{
char code; /* 学号 */
char name; /* 姓名 */
int age; /* 年龄 */
char sex; /* 性别 */
char time; /* 出生年月 */
char add; /* 家庭地址 */
char tel; /* 电话号码 */
char mail; /* 电子邮件地址 */
}stu;
int k=1,n,m; /* 定义全局变量 */
void readfile();/* 函数声明 */
void seek();
void modify();
void insert();
void del();
void display();
void save();
void menu();
int main()
{
while(k)
menu();
system("pause");
return 0;
}
void help()
{
printf("\n0.欢迎使用系统帮助!\n");
printf("\n1.进入系统后,先刷新学生信息,再查询;\n");
printf("\n2.按照菜单提示键入数字代号;\n");
printf("\n3.增加学生信息后,切记保存按7;\n");
printf("\n4.谢谢您的使用!\n");
}
void readfile()/* 建立信息 */
{
char *p="student.txt";
FILE *fp;
int i=0;
if ((fp=fopen("student.txt","r"))==NULL)
{
printf("Open file %s error! Strike any key to exit!",p);
system("pause");
exit(0);
}
while(fscanf(fp,"%s %s%d%s %s %s %s %s",stu.age,
stu.mail)==8)
{
i++;
i=i;
}
fclose(fp);
n=i;
printf("录入完毕!\n");
}
void seek() /*查找*/
{
int i,item,flag;
char s1; /* 以姓名和学号最长长度+1为准 */
printf("------------------\n");
printf("-----1.按学号查询-----\n");
printf("-----2.按姓名查询-----\n");
printf("-----3.退出本菜单-----\n");
printf("------------------\n");
while(1)
{
printf("请选择子菜单编号:");
scanf("%d",&item);
flag=0;
switch(item)
{
case 1:
printf("请输入要查询的学生的学号:\n");
scanf("%s",s1);
for(i=0;i《n;i++)
if(strcmp(stu.code,s1)==0)
{
flag=1;
printf("学生学号 学生姓名 年龄 性别 出生年月 地址 电话 E-mail\n");
printf("--------------------------------------------------------------------\n");
printf("%6s %7s %6d %5s %9s %8s %10s %14s\n",stu.age,
stu.mail);
}
if(flag==0)
printf("该学号不存在!\n"); break;
case 2:
printf("请输入要查询的学生的姓名:\n");
scanf("%s",s1);
for(i=0;i《n;i++)
if(strcmp(stu.name,s1)==0)
{
flag=1;
printf("学生学号 学生姓名 年龄 性别 出生年月 地址 电话 E-mail\n");
printf("--------------------------------------------------------------------\n");
printf("%6s %7s %6d %5s %9s %8s %10s %14s\n",stu.age,
stu.mail);
}
if(flag==0)
printf("该姓名不存在!\n"); break;
case 3:return;
default:printf("请在1-3之间选择\n");
}
}
}
void modify() /*修改信息*/
{
int i,item,num;
char sex1; /* 以姓名和学号最长长度+1为准 */
printf("请输入要要修改的学生的学号:\n");
scanf("%s",s1);
for(i=0;i《n;i++)
if(strcmp(stu.code,s1)==0) /*比较字符串是否相等*/
num=i;
printf("------------------\n");
printf("1.修改姓名\n");
printf("2.修改年龄\n");
printf("3.修改性别\n");
printf("4.修改出生年月\n");
printf("5.修改地址\n");
printf("6.修改电话号码\n");
printf("7.修改E-mail地址\n");
printf("8.退出本菜单\n");
printf("------------------\n");
while(1)
{
printf("请选择子菜单编号:");
scanf("%d",&item);
switch(item)
{
case 1:
printf("请输入新的姓名:\n");
scanf("%s",s2);
strcpy(stu.name,s2); break;
case 2:
printf("请输入新的年龄:\n");
scanf("%d",&stu.age);break;
case 3:
printf("请输入新的性别:\n");
scanf("%s",sex1);
strcpy(stu.sex,sex1); break;
case 4:
printf("请输入新的出生年月:\n");
scanf("%s",s2);
strcpy(stu.time,s2); break;
case 5:
printf("请输入新的地址:\n");
scanf("%s",s2);
strcpy(stu.add,s2); break;
case 6:
printf("请输入新的电话号码:\n");
scanf("%s",s2);
strcpy(stu.tel,s2); break;
case 7:
printf("请输入新的E-mail地址:\n");
scanf("%s",s2);
strcpy(stu.mail,s2); break;
case 8:return;
default:printf("请在1-8之间选择\n");
}
}
}
void sort()/*按学号排序*/
{
int i,j,*p,*q,s;
char temp;
for(i=0;i《n-1;i++)
{
for(j=n-1;j》i;j--)
if(strcmp(stu.code)》0)
{
strcpy(temp,stu.code);
strcpy(stu.code);
strcpy(stu.code,temp);
strcpy(temp,stu.name);
strcpy(stu.name);
strcpy(stu.name,temp);
strcpy(temp,stu.sex);
strcpy(stu.sex);
strcpy(stu.sex,temp);
strcpy(temp,stu.time);
strcpy(stu.time);
strcpy(stu.time,temp);
strcpy(temp,stu.add);
strcpy(stu.add);
strcpy(stu.add,temp);
strcpy(temp,stu.tel);
strcpy(stu.tel);
strcpy(stu.tel,temp);
strcpy(temp,stu.mail);
strcpy(stu.mail);
strcpy(stu.mail,temp);
p=&stu.age;
q=&stu.age;
s=*q;
*q=*p;
*p=s;
}
}
}
void insert() /*插入函数*/
{
int i=n,j,flag;
printf("请输入待增加的学生数:\n");
scanf("%d",&m);
do
{
flag=1;
while(flag)
{
flag=0;
printf("请输入第 %d 个学生的学号:\n",i+1);
scanf("%s",stu.code);
for(j=0;j《i;j++)
if(strcmp(stu.code)==0)
{
printf("已有该学号,请检查后重新录入!\n");
flag=1;
break; /*如有重复立即退出该层循环,提高判断速度*/
}
}
printf("请输入第 %d 个学生的姓名:\n",i+1);
scanf("%s",stu.name);
printf("请输入第 %d 个学生的年龄:\n",i+1);
scanf("%d",&stu.age);
printf("请输入第 %d 个学生的性别:\n",i+1);
scanf("%s",stu.sex);
printf("请输入第 %d 个学生的出生年月:(格式:年.月)\n",i+1);
scanf("%s",stu.time);
printf("请输入第 %d 个学生的地址:\n",i+1);
scanf("%s",stu.add);
printf("请输入第 %d 个学生的电话:\n",i+1);
scanf("%s",stu.tel);
printf("请输入第 %d 个学生的E-mail:\n",i+1);
scanf("%s",stu.mail);
if(flag==0)
{
i=i;
i++;
}
}
while(i《n+m);
n+=m;
printf("录入完毕!\n\n");
sort();
}
void del()
{
int i,j,flag=0;
char s1;
printf("请输入要删除学生的学号:\n");
scanf("%s",s1);
for(i=0;i《n;i++)
if(strcmp(stu.code,s1)==0)
{
flag=1;
for(j=i;j《n-1;j++)
stu;
}
if(flag==0)
printf("该学号不存在!\n");
if(flag==1)
{
printf("删除成功,显示结果请选择菜单6\n");
n--;
}
}
void display()
{
int i;
printf("所有学生的信息为:\n");
printf("学生学号 学生姓名 年龄 性别 出生年月 地址 电话 E-mail\n");
printf("--------------------------------------------------------------------\n");
for(i=0;i《n;i++)
{
printf("%6s %7s %5d %5s %9s %8s %10s %14s\n",stu.age,
stu.mail);
}
}
void save()
{
int i;
FILE *fp;
fp=fopen("student.txt","w"); /*写入*/
for(i=0;i《n;i++)
{
fprintf(fp,"%s %s %d %s %s %s %s %s\n",stu.age,
stu.mail);
}
fclose(fp);
}
void menu()/* 界面 */
{
int num;
printf("*********************系统功能菜单************************ \n");
printf("友情提醒:查询前请先刷新系统! \n");
printf(" ---------------------- ---------------------- \n");
printf(" ********************************************* \n");
printf(" * 0.系统帮助及说明 * * 1.刷新学生信息 * \n");
printf(" ********************************************* \n");
printf(" * 2.查询学生信息 * * 3.修改学生信息 * \n");
printf(" ********************************************* \n");
printf(" * 4.增加学生信息 * * 5.按学号删除信息 * \n");
printf(" ********************************************* \n");
printf(" * 6.显示当前信息 * * 7.保存当前学生信息* \n");
printf(" ********************** ********************** \n");
printf(" * 8.退出系统 * \n");
printf(" ********************** \n");
printf(" ---------------------- ---------------------- \n");
printf("请选择菜单编号:");
scanf("%d",#);
switch(num)
{
case 0:help();break;
case 1:readfile();break;
case 2:seek();break;
case 3:modify();break;
case 4:insert();break;
case 5:del();break;
case 6:display();break;
case 7:save();break;
case 8:k=0;break;
default:printf("请在0-8之间选择\n");
}

更多文章:
制作网页时通常需要在同一网页内跳转常常采用制作什么超链接(简述在网页设计中制作超链接的类型)
2026年9月5日 07:00
开发工具按钮是表格部分数据清零(怎么添加一个Excel批量删除多个单元格内容按钮)
2026年9月5日 05:45
石家庄网站优化全包(石家庄公交第三批线网线优化什么时候开始)
2026年9月5日 05:15
一个卖东西的微信小程序,都需要什么条件怎么制作?我想做一个社区团购的小程序,怎么入手呢,大概需要花多少钱
2026年9月5日 05:00






