课程设计:学生档案管理系统

这是一个使用C++实现的学生档案管理系统,主要功能包括:插入学生信息、删除学生信息、查找学生信息、修改学生信息、按成绩或学号排序及显示所有学生信息。系统基于线性链表数据结构,实现了基本的查找、插入、删除和排序算法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.设计目的 ⚫ 掌握线性链表的建立。 ⚫ 掌握线性链表的基本操作。 ⚫ 掌握查找的基本算法。 


#include<iostream.h>

#include<string.h>

#include <fstream.h>

const int Maxsize=100;

struct StuNode{

   char name;

   int num;

   int sum;

   StuNode *nextstu;

};

class student

{

   public:

   student();

         ~student();

         charname[8]; //姓名

         intscore;    //总分

         intnumber;   //学号

void Insert(char iname,int inum,intisum);    //插入

StuNode *Search(int inum);    //查找

void Update(int inum,int isum);    //修改 

void Delete(int inum);    //删除

void Copy(StuNode *ptemp, StuNode *p);    //拷贝

void Show();      //显示

void Sort(char ch);      //排序

private:

StuNode *StuListHead;

};

 

student::student()       //构造函数

{

   StuListHead=new StuNode;

   StuListHead->nextstu=NULL;

}

 

student::~student()       //析构函数

{

   StuNode *p;

   while (StuListHead)

    {

       p = StuListHead;

       StuListHead = StuListHead->nextstu;

       delete p;

    }

    StuListHead= NULL;

}

 

 

void student::Insert(char iname,intinum,int isum )     //插入

{

   StuNode *s,*p;

   s=new StuNode;

   s->num=inum;

   s->sum=isum;

   s->name=iname;

   p=StuListHead;

   s->nextstu = p->nextstu;

   p->nextstu = s;

}

 

StuNode *student::Search(int inum)

{

         StuNode*p;

   p=StuListHead->nextstu;

   while(p->nextstu&&p->num!=inum)   

    {

       p=p->nextstu;

    }

   if(p->num==inum)

    {

       return p;

    }

   else

    {

       cout <<"未找到该学生信息!"<<endl;

       return NULL;}

}

 

void student::Update(int inum,int isum)

{

    StuNode *Item=Search(inum);   

   if (Item!=NULL)

    {

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值