求c++代码翻译成容易理解的中文

void subscriber::create()
{
student *p1,*p2;
int i;
int num_node;
cout<<"输入创建节点数: ";
fflush(stdin);
cin>>num_node;
deleteall(); //创建新的前先把已有的全部删除,防止内存泄露
p1=p2=new student; //这里创建了一个节点
cout<<"请输入姓名,学号,中间用空格隔开: "< fflush(stdin);
cin>>*p1;
//cin>>p1->num>>p1->name;
head=p1;
for(i=1;i {
p1=new student;
cin>>*p1;
p2->next=p1;
p2=p1;
}
p2->next=NULL;

}

//添加学生信息
void subscriber::insert()
{
student*s,*p;
int a,i;
cout<<"请输入要添加的学生个数"< cin>>a;
for(i=0;i s=new student; //创建新的节点
p=new student;
s->next = head;
head=s;
cout<<"请输入姓名。学号,中间用空格隔开:"< cin>>*s;
p=s->next;
while(p){ //判断输入的学生信息是否重复
if(p->num==s->num){
cout<<"学生信息重复"< return;
}
p=p->next;
}
}
cout<<"添加成功!"<<endl;
return;
}

//输出全部信息
void subscriber::print()
{
student *p;
p=head;
if(head==NULL) //链表为空;
{
cout<<"文件为空!"< return;
}
else
cout while (p!=0 )
{
cout p=p->next;
}
}

//链表节点数
int subscriber::NumOfLIst()
{
int n=0;
student *p;
p=head;
while (p!=0 )
{
n++;
p=p->next;
}
return n;
}

//删除全部
void subscriber::deleteall()
{
student *p1,*p2;
p1 = head;
while(p1)
{
p2 = p1;
p1 = p1->next;
delete p2;
}
}

//删除学生信息
void subscriber::del()
{
student*p1,*p2,*p3;
p1=p2=head;
p3=new student;
if(head->num==p3->num){
cout<<"链表为空"< return;
}
cout cin>>p3->num;
if(head->num==p3->num){
p1=head;
head=head->next;
return;
}
for(p1=head;p1->next;p1=p1->next){
p2=p1->next;
if(p2->num==p3->num){
p1->next=p2->next;
break;
}
}
cout<<"删除成功!"< return;
}
//查找学生信息
void subscriber::search()
{
student *p;
string nam;
cout cin>>nam;
p=head;
if(head==NULL){ //空链表
cout<<"对不起,该学生信息未存放在本程序"< return;
}
while(p){
if(p->name==nam){
while(p!=0)
{
cout<<*p< p=p->next;
}
return;
}
p=p->next;
}
cout<<"对不起,未找到该学生信息"<<endl;
return;
}

void subscriber::savef()
{
student *p;
string a;
ofstream Name_file("Name_list.txt"); //标识符命名
p = head;
for (; p->next != NULL; p = p->next)
Name_file << p->name << " " << p->num << endl; //输出流操作
Name_file << p->name << " " << p->num << endl;
Name_file.close(); //关闭文件,结束文件操作
}

//加载链表信息
void subscriber::loadf()
{
ifstream Name_file("Name_list.txt");
if (!Name_file)
{
cerr << "没有存档" << endl; //错误报告
return;
}
else{
student *p1, *p2;
deleteall(); //创建新的前先把已有的全部删除,防止内存泄露
p1 = p2 = new student; //这里创建了一个节点
fflush(stdin);
Name_file >> p1->name >> p1->num;
head = p1;
cout << p1->name << " " << p1->num << endl; //逐个按组进行数据加载
p1 = new student;
while (Name_file >> p1->name >> p1->num) //循环操作输入流
{
cout << p1->name << " " << p1->num << endl;
p1 = new student;
p2->next = p1;
p2 = p1;
}
p2->next = NULL;
}
Name_file.close(); //结束文件操作
}

你可以尝试使用markdown来排版你的问题,以文本格式直接放代码的话别人阅读起来负担很大。
你只需要在代码首尾各插入```即可(`是~键的那个),例如:

class Demo
{
public:
    void foo()
    {
        printf("hello world");
    }
}

至于你的问题,源码中对每一部分都做了得体的注释,只是有些地方的写法比较乖张,掌握了c++基础和数据结构的链表应该是可以理解的。
虽然你并没有给出student的信息,但能够推断出该类或结构体是一个链表。
这段程序是基于student给出的简单管理系统,用于增删查student的信息。