亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? list.cpp

?? 編寫一個學生管理系統
?? CPP
字號:

/////////////////////////////////////////////////////////////////////////////////////
//////////////////////// List.cpp : The body of the class List //////////////////////
/////////////////////////////////////////////////////////////////////////////////////

#include "list.h"

List::List()
{
	head = NULL;
}

bool List::check(char *a, char *b)		//對比兩個字符串是否相等
{
	int i;
	int j=strlen(b);
	for(i=0; i<j; i++)
	{
		if(*a==*b)
		{
			a++;
			b++;
		}
		else
			return 0;
	}
	return 1;
}


nodetype* List::creatlist (int n)       //創建鏈表
{
	nodetype *h=NULL, *s, *t;
	int i=1;

	for(int j=0; j<n; j++)
	{
		if(i==1)            //創建第一個節點
		{
			h=(nodetype*)malloc(sizeof(nodetype));
			h->next=NULL;
			t=h;
		}
		else                 //創建其余節點
		{
			s=(nodetype*)malloc(sizeof(nodetype));
			s->next=NULL;
			t->next=s;
			t=s;            //t 始終指向生成的單鏈表的最后一個節點
		}

		i++;
	}

	head=h;
	return h;
}

/*
nodetype* List::creatlist (int n)       //創建鏈表
{
	nodetype *h=NULL;
	int i=1;

	for(int j=0; j<n; j++)
	{
		h=insnode(0);
	}
	head=h;
	return h;
}
*/

void List::readstr(FILE *f,char *string)
{	
	do
	{
						   //①: 先讀入一行文本
		fgets(string, 255, f);  //fgets(): 從文件 f 讀入長度為 255-1 的字符串
						   //		  并存入到 string 中
	} while ((string[0] == '/') || (string[0] == '\n'));

	return;
}

nodetype* List::load()
{
	FILE *fp;
	nodetype *p;
	char c[255];
	int num;
	if((fp=fopen("student.txt", "r"))==NULL)
	{
		cout<<"打開文件失敗"<<endl;
		return 0;
	}
	readstr(fp, c);
	sscanf(c, "The Length Of Link: %d", &num);		//獲取鏈表長度

	p=creatlist(num);								//創建鏈表

	for(int i=0; i<num; i++)
	{
		readstr(fp, c);
		strcpy(p->address, c);
		readstr(fp, c);
		strcpy(p->birthday, c);

		readstr(fp, c);
		strcpy(p->sc.num, c);
		readstr(fp, c);
		strcpy(p->sc.chinese, c);
		readstr(fp, c);
		strcpy(p->sc.english, c);
		readstr(fp, c);
		strcpy(p->sc.math, c);
		readstr(fp, c);
		strcpy(p->sc.physics, c);

		readstr(fp, c);
		strcpy(p->pe.name, c);
		readstr(fp, c);
		strcpy(p->pe.sex, c);
		readstr(fp, c);
		strcpy(p->pe.GJ, c);
		readstr(fp, c);
		strcpy(p->pe.MZ, c);
		readstr(fp, c);
		strcpy(p->pe.XL, c);

		readstr(fp, c);
		strcpy(p->te.SJ, c);
		readstr(fp, c);
		strcpy(p->te.JD, c);
		readstr(fp, c);
		strcpy(p->te.XD, c);

		p=p->next;
	}

	fclose(fp);

	return p;
}

void List::dispnode(nodetype* p)		//顯示一個學生的所有信息
{
	if(p!=NULL)
	{
		dispperson(p);
		dispscore(p);
		disptelephone(p);
	}
}

void List::dispname()		//顯示所有學生姓名
{
	nodetype* p=head;
	cout<<"現有的學生:  "<<endl;
	if(p==NULL)
		cout<<"沒有任何學生數據"<<endl;
	while(p!=NULL)
	{
		cout<<"姓名:	"<<p->pe.name;

		p=p->next;
	}
}

int List::listlen()       //返回鏈表長度
{
	int i=0;
	nodetype* p=head;
	while(p!=NULL)
	{
		p=p->next;
		i++;
	}
	return i;
}

nodetype* List::findnode (int i)      //通過查找序號返回節點的指針
{
	nodetype* p=head;
	int j=1;
	if( i>listlen()||i<=0 )          // i 上溢或下溢
		return NULL;
	else
	{
		while( p!=NULL &&  j<i )    //查找第 i 個節點并由 p 指向該節點
		{
			j++;
			p=p->next;
		}
		return p;
	}
}

nodetype* List::find(char c[])      //通過查找姓名返回節點的指針
{
	nodetype* p=head;
	int j=1;
	strcat(c, "\n");				//從外部讀入的字符串末尾都帶了一個換行符
	while( p!=NULL &&  !(check(c, p->pe.name)))    //查找第 i 個節點并由 p 指向該節點	
	{	
		j++;	
		p=p->next;
	}
	return p;
}

int List::find2(char c[])      //通過查找姓名返回節點的序號
{
	nodetype* p=head;
	int j=1;
	strcat(c, "\n");				//從外部讀入的字符串末尾都帶了一個換行符
	while( p!=NULL &&  !(check(c, p->pe.name)))    //查找第 i 個節點并由 p 指向該節點	
	{	
		j++;
		p=p->next;
	}
	return j;
}

nodetype* List::insnode(int i)
{
	nodetype *h=head, *p, *s;
	s=(nodetype*)malloc(sizeof(nodetype));    //創建節點 s
	s->next=NULL;
	if(i==0)           //i=0 時 s 作為該單鏈表的第一個節點
	{
		s->next = h;
		h=s;           //重新定義頭節點
	}
	else
	{
		p=findnode(i);       //查找第 i 個節點,并由 p 指向該節點
		if(p!=NULL)
		{
			s->next=p->next;
			p->next=s;
		}
		else cout<<"輸入的 i 值不正確"<<endl;
	}
	head=h;

	return s;
}

void List::delnode(int i)			//刪除第 i 個節點
{
	nodetype *h=head, *p=head, *s;
	int j=1;
	if(i==1)       //刪除第一個節點
	{
		h=h->next;
		free(p);
	}
	else
	{
		p=findnode(i-1);     //查找第 i-1 個節點,并由 p 指向這個節點
		if(p!=NULL && p->next!=NULL)
		{
			s=p->next;      // s 指向要刪除的節點
			p->next=s->next;
			free(s);
		}
		else
			cout<<"輸入的 i 值不正確"<<endl;
	}
	head=h;
}

void List::editperson(nodetype* p)
{
	char c[100];
	cout<<"請輸入姓名: "<<endl;
	cin>>c;
	strcat(c, "\n");
	strcpy(p->pe.name, c);

	cout<<"請輸入性別:"<<endl;
	cin>>c;
	strcat(c, "\n");
	strcpy(p->pe.sex, c);

	cout<<"請輸入生日(格式舉例:1982-1-1): "<<endl;
	cin>>c;
	strcat(c, "\n");
	strcpy(p->birthday, c);

	cout<<"請輸入民族:"<<endl;
	cin>>c;
	strcat(c, "\n");
	strcpy(p->pe.MZ, c);

	cout<<"請輸入國籍:"<<endl;
	cin>>c;
	strcat(c, "\n");
	strcpy(p->pe.GJ, c);

	cout<<"請輸入學歷:"<<endl;
	cin>>c;
	strcat(c, "\n");
	strcpy(p->pe.XL, c);

	cout<<"請輸入家庭住址(例如:廣西玉林市解放路11號"<<endl;
	cin>>c;
	strcat(c, "\n");
	strcpy(p->address, c);

	cout<<"編輯個人信息完成!"<<endl;

	dispperson(p);
}

void List::editscore(nodetype* p)
{
	char a[50];
	cout<<"請輸入學號: "<<endl;
	cin>>a;
	strcat(a, "\n");
	strcpy(p->sc.num, a);

	cout<<"請輸入大學語文成績: "<<endl;
	cin>>a;
	strcat(a, "\n");
	strcpy(p->sc.chinese, a);

	cout<<"請輸入英語成績: "<<endl;
	cin>>a;
	strcat(a, "\n");
	strcpy(p->sc.english, a);

	cout<<"請輸入數學成績: "<<endl;
	cin>>a;
	strcat(a, "\n");
	strcpy(p->sc.math, a);

	cout<<"請輸入物理成績: "<<endl;
	cin>>a;
	strcat(a, "\n");
	strcpy(p->sc.physics, a);

	cout<<"編輯學科成績完成!"<<endl;

	dispscore(p);
}

void List::edittelephone(nodetype* p)
{
	char c[50];
	cout<<"請輸入手機號碼: "<<endl;
	cin>>c;
	strcat(c, "\n");
	strcpy(p->te.SJ, c);

	cout<<"請輸入家庭電話號碼: "<<endl;
	cin>>c;
	strcat(c, "\n");
	strcpy(p->te.JD, c);

	cout<<"請輸入學校電話號碼: "<<endl;
	cin>>c;
	strcat(c, "\n");
	strcpy(p->te.XD, c);

	cout<<"編輯聯系方式完成!"<<endl;

	disptelephone(p);
}

void List::dispperson(nodetype* p)
{
	cout<<"姓名:		"<<p->pe.name;
	cout<<"性別:		"<<p->pe.sex;
	cout<<"民族:		"<<p->pe.MZ;
	cout<<"國籍:		"<<p->pe.GJ;
	cout<<"學歷:		"<<p->pe.XL;
	cout<<"出生日期:	"<<p->birthday;
	cout<<"家庭住址:	"<<p->address;
}

void List::dispscore(nodetype* p)
{
	cout<<"學號:		"<<p->sc.num;
	cout<<"大學語文成績:	"<<p->sc.chinese;
	cout<<"英語成績:	"<<p->sc.english;
	cout<<"數學成績:	"<<p->sc.math;
	cout<<"物理成績:	"<<p->sc.physics;
}

void List::disptelephone(nodetype* p)
{
	cout<<"手機號碼是:	"<<p->te.SJ;
	cout<<"家庭電話是:	"<<p->te.JD;
	cout<<"學校電話是:	"<<p->te.XD;
}

void List::help()
{
	cout<<endl<<endl;
	cout<<"*********************************************************"<<endl;
	cout<<"1:			編輯個人信息"<<endl;
	cout<<"2:			編輯學科成績"<<endl;
	cout<<"3:			編輯聯系方式"<<endl;
	cout<<"4:			顯示個人信息"<<endl;
	cout<<"5:			顯示學科成績"<<endl;
	cout<<"6:			顯示聯系方式"<<endl;
	cout<<"7:			顯示該學生所有信息"<<endl;
	cout<<"8:			幫助菜單"<<endl;
	cout<<"9:			返回上一級菜單"<<endl;
	cout<<"*********************************************************"<<endl;
}

List::~List()
{
	nodetype *pa=head, *pb;
	if(pa!=NULL)
	{
		pb=pa->next;
		if(pb==NULL)
			free(pa);
		else
		{
			while(pb!=NULL)
			{
				free(pa);
				pa=pb;
				pb=pb->next;
			}
			free(pa);
		}
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩丝袜情趣美女图片| 欧美在线高清视频| 美女性感视频久久| 亚洲一区二区三区四区在线观看 | 视频一区视频二区中文字幕| 亚洲色图制服诱惑| 亚洲欧美日韩国产综合在线| 亚洲美女淫视频| 亚洲精品久久久蜜桃| 国产精品国产自产拍高清av | 久久国产三级精品| 免费人成网站在线观看欧美高清| 日韩二区在线观看| 久久精品噜噜噜成人88aⅴ | 99久久777色| 成人免费看黄yyy456| 99久久精品国产导航| 91国偷自产一区二区三区观看| 欧美亚洲丝袜传媒另类| 精品视频在线免费| 欧美一级午夜免费电影| 国产网站一区二区三区| 亚洲色图制服诱惑 | 成人综合在线视频| 91小视频在线| 在线不卡欧美精品一区二区三区| 日韩一级大片在线观看| 久久久久久久久一| 亚洲精品中文字幕乱码三区| 视频一区二区三区在线| 九一九一国产精品| 99精品国产91久久久久久 | 日本欧美韩国一区三区| 国产一区二区三区免费在线观看 | 麻豆91精品91久久久的内涵| 国产一区二区三区视频在线播放| 91丨porny丨蝌蚪视频| 在线成人免费观看| 国产精品午夜春色av| 偷拍日韩校园综合在线| 国产成人免费视频网站 | 亚洲第一会所有码转帖| 国产乱子伦视频一区二区三区| 97se亚洲国产综合在线| 欧美videos大乳护士334| 成人免费在线播放视频| 日韩av一二三| 99精品国产热久久91蜜凸| 日韩一卡二卡三卡国产欧美| 亚洲欧洲韩国日本视频| 激情文学综合插| 欧美私人免费视频| 中文字幕欧美区| 久久精品久久久精品美女| 一本色道久久综合狠狠躁的推荐| 日韩精品中文字幕一区二区三区| 一区二区三区国产| 成人在线视频一区二区| 日韩欧美在线1卡| 午夜精品久久久久影视| 91老师片黄在线观看| 国产欧美综合在线| 国内精品在线播放| 精品免费国产一区二区三区四区| 亚洲成人激情av| 欧美性色欧美a在线播放| 亚洲欧洲另类国产综合| 成人黄色网址在线观看| 国产日产亚洲精品系列| 欧洲人成人精品| 亚洲三级久久久| av在线免费不卡| 国产精品精品国产色婷婷| 国产mv日韩mv欧美| 国产蜜臀97一区二区三区| 国产福利一区二区三区视频在线| 精品sm捆绑视频| 激情成人午夜视频| 久久久久九九视频| 国产xxx精品视频大全| 久久精品欧美一区二区三区麻豆 | 一二三区精品视频| 色悠久久久久综合欧美99| 亚洲中国最大av网站| 欧美日韩精品一区视频| 亚洲国产日韩在线一区模特| 欧美精品日日鲁夜夜添| 蜜桃精品在线观看| 亚洲在线观看免费视频| 91精品中文字幕一区二区三区| 亚洲18影院在线观看| 日韩欧美一级二级三级久久久| 久久国产福利国产秒拍| 国产午夜三级一区二区三| 成人av网站在线观看| 尤物在线观看一区| 91精品国产丝袜白色高跟鞋| 久久er精品视频| 中文字幕中文字幕中文字幕亚洲无线| 99久久综合色| 亚洲电影中文字幕在线观看| 欧美精品99久久久**| 国产毛片精品一区| 中文字幕永久在线不卡| 欧美日韩一区三区| 免费av网站大全久久| 国产精品视频第一区| 欧美私模裸体表演在线观看| 国产一区二区伦理| 亚洲美女区一区| 日韩精品中文字幕一区二区三区| 粉嫩av亚洲一区二区图片| 亚洲一区精品在线| 日韩精品专区在线| 91丨九色丨国产丨porny| 亚洲成人第一页| 国产色91在线| 欧美日韩亚洲综合一区二区三区| 国产一区二区女| 偷拍自拍另类欧美| 国产精品久久久久一区| 538在线一区二区精品国产| 丁香桃色午夜亚洲一区二区三区| 一区二区三区四区视频精品免费| 欧美大胆人体bbbb| 欧美三级视频在线| 高清av一区二区| 久久狠狠亚洲综合| 天使萌一区二区三区免费观看| 国产欧美日韩综合| 欧美不卡一二三| 欧美一区二区黄色| 欧美午夜精品一区二区蜜桃| 成人污视频在线观看| 麻豆91小视频| 视频一区二区三区中文字幕| 亚洲综合激情网| 亚洲色图另类专区| 亚洲欧洲精品天堂一级| 国产精品天干天干在观线| 2023国产精品| 精品日韩一区二区| 欧美成人精精品一区二区频| 欧美日韩亚洲国产综合| 色菇凉天天综合网| 99亚偷拍自图区亚洲| 大白屁股一区二区视频| 风间由美一区二区av101| 国产成人免费在线| 成人免费黄色大片| av在线不卡免费看| 色综合久久中文综合久久牛| 91污在线观看| 色婷婷亚洲综合| 欧美日韩久久一区二区| 欧美亚日韩国产aⅴ精品中极品| 色诱亚洲精品久久久久久| 色狠狠色狠狠综合| 欧美在线制服丝袜| 欧美日韩国产大片| 欧美一区二区视频在线观看2020| 欧美精品在线观看一区二区| 欧美人xxxx| 日韩区在线观看| 久久久久久久综合日本| 欧美国产综合一区二区| 亚洲日本欧美天堂| 亚洲在线视频网站| 日韩中文字幕不卡| 韩国在线一区二区| 国产69精品久久777的优势| 99re这里只有精品6| 在线视频一区二区三区| 欧美丰满少妇xxxxx高潮对白 | 亚洲色图在线视频| 亚洲国产中文字幕在线视频综合| 午夜精品福利在线| 国产在线精品一区在线观看麻豆| 成人深夜在线观看| 在线视频国内一区二区| 日韩午夜激情av| 中文字幕日韩欧美一区二区三区| 亚洲制服丝袜在线| 国产精品亚洲午夜一区二区三区| 成年人国产精品| 欧美日韩你懂的| 国产亚洲一区二区在线观看| 亚洲激情六月丁香| 狠狠色综合播放一区二区| 99精品视频一区| 欧美大白屁股肥臀xxxxxx| 国产精品久99| 久久99精品视频| 色乱码一区二区三区88 | 91色porny在线视频| 3d动漫精品啪啪| 亚洲视频中文字幕| 国产一区啦啦啦在线观看| 欧亚一区二区三区| 91精品国产欧美日韩|