⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 list.h

📁 用C++编写的教师学生相关信息和统计系统
💻 H
字号:
#include"iostream.h"
#include"stdio.h"
#include"string.h"
#include"stdlib.h"
#include"common_people.h"
//#include "studentlist.h"
//#include"fstream.h"
#ifndef list_h
#define list_h
class list
{ 
	common_people *root;
public:
	list()
	{root=NULL;}
	void insert(common_people *s);
	void remove(char *nm);
	void seeking(char *nm);
	void printlist();
	void save(char *nm);
	list order(int i);
    void orderinsert(common_people *s,int j);
	void clear();
};
//
void list::clear()
{
  
  root=NULL;
}
//
void list::orderinsert(common_people *s,int j)
{
	int key;
	common_people *curr=root;
	common_people *prey=NULL;
	switch(j)
	{
		case 1:
			key=s->maths;
			while(curr!=NULL&&key>curr->maths)
				{
					prey=curr;
					curr=curr->next;
				}
			break;
		case 2:
			key=s->computer;
			while(curr!=NULL&&key>curr->computer)
				{
					prey=curr;
					curr=curr->next;
				}
			break;
		case 3:
			key=s->english;
			while(curr!=NULL&&key>curr->english)
				{
					prey=curr;
					curr=curr->next;
				}
			break;
		default:
			key=s->total;
			while(curr!=NULL&&key>curr->total)
				{
					prey=curr;
					curr=curr->next;
				}
			break;
	}
	s->getnode();
	s->ptr->next=curr;
	if(prey==NULL)
		root=s->ptr;
	else
		prey->next=s->ptr;

}

//
list list::order(int i)
{
  list m;
  common_people *curr=root;
  common_people *prev=NULL;
  while(curr!=NULL)
	{ 
	  if(curr->type==1)
		{
		  m.orderinsert(curr,i);
		}
	  curr=curr->next;
	}
  return m;
}
//
void list::save(char *nm)
{
  ofstream fileout(nm);
  common_people *curr=root;
  common_people *prev=NULL;
  fileout.close();
  while(curr!=NULL)
	{
      prev=curr;
	  curr->sav(nm);
	  curr=curr->next;
	}
 ofstream out(nm,ios_base::app);
 out<<100<<endl;
 out.close();

}
//
void list::insert(common_people *s)
{
	char key[30];
	strcpy(key,s->name);
	common_people *curr=root;
	common_people *prey=NULL;
	while(curr!=NULL)
		{
		  prey=curr;
		  curr=curr->next;
		}
	s->getnode();
	s->ptr->next=curr;
	if(prey==NULL)
		root=s->ptr;
	else
		prey->next=s->ptr;

}

//
void list::remove(char *nm)
{
  common_people *curr=root;
  common_people *prev=NULL;   
  while(curr!=NULL&&strcmp(curr->name,nm)!=0)
	{ 
	  prev=curr;
	  curr=curr->next; 
	}   
  if(curr!=NULL&&prev==NULL)
	{ 
	  root=curr->next;
	  //delete curr ; 
	}
  else if(curr!=NULL&&prev!=NULL)
	{ 
	  prev->next=curr->next;   
	  //delete curr; 
	}
  else
	{
	  cout<<"没有找到要删除的"<<endl<<"----------------------------------------------"<<endl;
	}

}
//
void list::seeking(char *nm)
{
  common_people *curr=root;
  common_people *prev=NULL;
  while(curr!=NULL&&strcmp(curr->name,nm)!=0)
	{
	  prev=curr;
	  curr=curr->next;
	}
  if(curr!=NULL)
	{
	  curr->print();
	}
  else 
	{
	  cout<<"没有找到"<<endl<<"---------------------------------------"<<endl;
	}
}	


//
void list::printlist()
{	
	common_people *current=root;
	while(current!=NULL)
		{ 
			current->print();     
			cout<<"-----------------------------"<<endl;
			current=current->next; 
		}

}
//
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -