设计一个学生信息管理系统,实现常见的学生基本信息的基本管理:
1. 有交互式方式
即用户可以根据提示进行操作学生信息如修改、删除、查找学生信息等操作
2. 有文件操作
学生信息存放在文件中,文件具体的地址不限制
3. 有链表结构
学生信息的基本单元存在链表中,可以进行链表的常用操作
4. 学生基本信息
学生学号(9位数字串)、姓名、性别、年龄
5. 将应用程序与存储做到有效分离: 如将应用操作用类表示,学生负责学生基本信息,链表类负责信息管理,程序类负责界面与交互
#include<iostream>
#include<string.h>
#include<fstream>
#include<stdlib.h>
using namespace std;
class Node
{
public:
int number;
char name[20];
char sex[4];
int age;
Node * next;
};
class Operator
{
public:
void CreateSort();
void HeadSortAdd();
// void TailSortAdd();
char searchPrint();
Node* searchReturn();
void print();
void PutToFile();
void InFromFile();
void del(Node* a);
void Modify(Node* a);
void sort();
int length=0;
private:
Node * head;
Node * tail;
};
//----------------------------------------------------------------------------
void Operator::sort()
{
Node *h=head;
//int len=length;
Node * t;
Node * x;
t=h->next;
x=h->next;
while(t->next!=NULL)
{
while(x!=NULL)
{
if(t->number>x->number)
{
//
int e;
e=t->number;
t->number=x->number;
x->number=e;
//
char a[20];
strcpy(a,t->name);
strcpy(t->name,x->name);
strcpy(x->name,a);
//
char b[4];
strcpy(b,t->sex);
strcpy(t->sex,x->sex);
strcpy(x->sex,b);
//
int c;
c=t->age;
t->age=x->age;
x->age=c;
}
x=x->next;
}
t=t->next;
x=t->next;
}
}
void Operator::Modify(Node* a)
{
int x=0;
Node* p;
p=a->next;
cout<<endl;
cout<<"学号\t\t姓名\t性别\t年龄"<<endl;
cout<<p->number<<"\t"<<p->name<<"\t"<<p->sex