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

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

?? school.cpp

?? 課程設計 學籍管理系統 這個比較簡單
?? CPP
字號:
#include "School.h"
#include <string.h>
#include <ctype.h>
#include <conio.h>
#include <stdlib.h>
#include <fstream.h>
#include <iomanip.h>

void School::load_total(int *total)
{
	ifstream datafile("total.txt", ios::nocreate);		//如果是第一次進入該系統,則total.txt文件應該不存在
	if (datafile.fail())								//創建文件total.txt,并寫入total的值
	{
		*total = 0;
	}
	else												//文件total.txt已經存在,則讀取total的值
	{
		datafile >> *total;
		datafile.close();
	}
}

void School::save_total()
{
	ofstream datafile("total.txt");
	datafile << total;
	datafile.close();
}

void School::save_info()
{
	ofstream datafile("stu_info.txt");
	CsStuInfo *p = head->next;

	while (p != NULL)
	{
		p->foutput(datafile);
		p = p->next;
	}

	datafile.close();
}

void School::load_info()
{
	ifstream datafile("stu_info.txt");
	CsStuInfo *p1 = head, *p2;						//p1指向鏈表的最后一個結點

	int i;
	for (i=1; i<=total; i++)
	{
		p2 = new CsStuInfo;
		p2->finput(p2, datafile);
		p1->next = p2;
		p2->next = NULL;
		p1 = p2;
	}
	datafile.close();
}

School::School()
{
	head = new CsStuInfo;
	head->next = NULL;
	load_total(&total);
	load_info();
}

School::~School()
{
	CsStuInfo *p;

	while (head)
	{
		p = head;
		head = head->next;
		delete p;
	}
}

void School::input()
{
	CsStuInfo *p1, *p2 = head;		//p2指向當前鏈表的最后一個結點
	bool t = true, temp = true;
	char ch;

	while (p2->next != NULL)
	{
		p2 = p2->next;
	}

	while (t)
	{
		p1 = new CsStuInfo;
		total++;
		p1->input();
		p2->next = p1;
		p1->next = NULL;
		p2 = p2->next;

		while (temp)
		{
			cout << "\t\t要繼續錄入下一學生信息嗎?(Y/N):" << flush;
			ch = getch();
			ch = toupper(ch);
			cout << ch << endl;
			switch(ch)
			{
				case 'Y':
					system("cls");
					temp = false;
					break;
				case 'N':
					t = false;
					temp = false;
					break;
				default:
					break;
			}
		}
	}
	cout << "\t\t已成功錄入!" << endl;
	ofstream datafile("total.txt");
	datafile << total;
	datafile.close();
}
void School::output()
{
	CsStuInfo *p = head->next;

	if (p == NULL )
	{
		cout << "\n\n\t\t暫無任何學生信息!" << endl;
		return ;
	}
	else
	{
		while (p != NULL)
		{
			p->output();
			p = p->next;
			cout << "\n\t\t按任意鍵顯示下一學生信息..." << flush;
			getch();
			system("cls");
		}
	}
	cout << "\n\n\t\t顯示完畢!" << endl;
}

void School::search_stu()
{
	char ch;
	bool t = true;
	
	
	while (t)
	{	
		cout << "\n\n\t\t\t查詢\n\t\t1.按姓名查找\n\t\t2.按學號查找" << endl;
		cout << "\t\t請選擇:" << flush;
		ch = getch();
		switch(ch)
		{
			case '1':
				system("cls");
				search_by_name();
				t = false;
				break;
			case '2':
				system("cls");
				search_by_number();
				t = false;
				break;
			default:
				system("cls");
				break;
		}
	}
}

void School::search_by_name()
{
	char name[20];
	CsStuInfo *p = head->next;

	cout << "\n\t\t請輸入要查詢的學生姓名:" << flush;
	cin >> name;

	system("cls");
	while( p != NULL )
	{
		if(strcmp(p->getname(), name) == 0)
		{
			p->output();
			break;
		}
		p = p->next;
	}
	if (p == NULL)
	{
		cout << "\n\t\t不存在該學生!" << endl;//未找到進行操作
	}
}

void School::search_by_number()
{
	char number[20];
	CsStuInfo *p = head->next;

	cout << "\n\t\t請輸入要查詢的學生學號:" << flush;
	cin >> number;

	system("cls");
	while( p != NULL )
	{
		if(strcmp(p->getnumber(), number) == 0)
		{
			p->output();
			break;
		}
		p = p->next;
	}
	if (p == NULL)
	{
		cout << "\n\t\t不存在該學生!" << endl;//未找到進行操作
	}
}

void School::delete_stu_info()
{
	char ch;
	bool t = true;
	
	
	while (t)
	{	
		cout << "\n\n\t\t\t刪除\n\t\t1.按姓名刪除\n\t\t2.按學號刪除" << endl;
		cout << "\t\t請選擇:" << flush;
		ch = getch();
		switch(ch)
		{
			case '1':
				system("cls");
				delete_by_name();
				t = false;
				break;
			case '2':
				system("cls");
				delete_by_number();
				t = false;
				break;
			default:
				system("cls");
				break;
		}
	}
}

void School::delete_by_name()
{
	char name[20];
	CsStuInfo *p = head, *temp;		//p指向要刪除結點的前一結點
	char ch;
	bool t = true;

	cout << "\n\t\t請輸入要刪除的學生姓名:" << flush;
	cin >> name;

	system("cls");
	while ((p->next != NULL) && (strcmp(p->next->getname(), name) != 0))
	{
		p = p->next;
	}
	temp = p->next;
	if ( p->next != NULL )
	{
		p->next->output();
		while (t)
		{
			cout << "\n\t\t確定刪除嗎?(Y/N)a" << flush;
			ch = getch();
			ch = toupper(ch);
			switch(ch)
			{
				case 'Y':
					p->next = temp->next;
					delete temp;
					total--;
					system("cls");
					cout << "\n\n\t\t刪除成功!" << endl;
					t = false;
					break;
				case 'N':
					t = false;
					break;
				default:
					break;
			}
		}
	}
	else 
	{
		cout << "\n\n\t\t該學生不存在!" << endl;
	}
}

void School::delete_by_number()
{
	char number[20];
	CsStuInfo *p = head, *temp;		//p指向要刪除結點的前一結點
	char ch;
	bool t = true;

	cout << "\n\t\t請輸入要刪除的學生學號:" << flush;
	cin >> number;

	system("cls");
	while ((p->next != NULL) && (strcmp(p->next->getnumber(), number) != 0))
	{
		p = p->next;
	}
	temp = p->next;
	if ( p->next != NULL )
	{
		p->next->output();
		while (t)
		{
			cout << "\n\t\t確定刪除嗎?(Y/N)" << flush;
			ch = getch();
			ch = toupper(ch);
			switch(ch)
			{
				case 'Y':
					p->next = temp->next;
					delete temp;
					total--;
					system("cls");
					cout << "\n\n\t\t刪除成功!" << endl;
					t = false;
					break;
				case 'N':
					t = false;
					break;
				default:
					break;
			}
		}
	}
	else 
	{
		cout << "\n\n\t\t該學生不存在!" << endl;
	}
}

struct info
{
	char name[20], number[20];
	float gpa;
};

void qs(info stu[], int low, int high)
{
	int i=low, j=high;
	info temp = stu[low];

	while (i<j)
	{
		while (i<j && stu[j].gpa>temp.gpa)j--;
		if (i<j)
		{
			stu[i] = stu[j];
			i++;
		}
		while (i<j && stu[i].gpa<temp.gpa)i++;
		if (i<j)
		{
			stu[j] = stu[i];
			j--;
		}
	}
	stu[i] = temp;

	if (i>low)qs(stu, low, i-1);
	if (i<high)qs(stu, i+1, high);
}

void School::calc_stu_score()
{
	info stu[50];
	int i = 0;
	CsStuInfo *p = head->next;
	
	if (p == NULL)
	{
		cout << "\n\n\t\t暫無任何學生信息!" << endl;
		return ;
	}
	else
	{
		while (p != NULL)
		{
			i++;
			strcpy(stu[i].name, p->getname());
			strcpy(stu[i].number, p->getnumber());
			stu[i].gpa = p->getavegpa();
			p = p->next;
		}
	}

	qs(stu, 1, i);
	int k;
	cout << "\n\n\t\t\t     學生排名" << endl;

	for (k=i; k>=1; k--)
	{
		cout << "\t\t+---+-----------+--------+-------+" << endl;
		cout << "\t\t" << "| " << total+1-k << " "
					   << "| " << stu[k].number << " " 
					   << "| " << setw(6) << stu[k].name << " "
					   << "| " << setprecision(3) << setiosflags(ios::fixed) << stu[k].gpa << " |" << endl;
	}
	cout << "\t\t+---+-----------+--------+-------+" << endl << endl << '\t' << flush;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩第一区日日骚| 国内成人精品2018免费看| 91视视频在线观看入口直接观看www| 国产欧美视频一区二区三区| 国产电影精品久久禁18| 国产精品美女久久久久高潮| 波波电影院一区二区三区| 亚洲欧美偷拍卡通变态| 欧美亚洲国产一区二区三区| 婷婷六月综合网| 亚洲精品在线免费观看视频| 国产成人免费在线| 亚洲免费观看在线观看| 欧美日韩大陆一区二区| 麻豆成人av在线| 久久久蜜桃精品| 色噜噜狠狠色综合欧洲selulu| 亚洲成人免费电影| 久久众筹精品私拍模特| 91免费在线播放| 午夜电影网一区| 国产亚洲综合在线| 在线观看国产日韩| 国产综合一区二区| 一区二区免费看| 精品国产免费一区二区三区四区| www..com久久爱| 日韩制服丝袜av| 国产精品美女一区二区三区| 欧美日本视频在线| 成人激情图片网| 日韩精品免费视频人成| 国产精品无圣光一区二区| 欧美日韩精品一区二区三区 | 国产欧美日本一区视频| 在线亚洲+欧美+日本专区| 麻豆久久久久久久| 亚洲欧美国产高清| 久久精品一区蜜桃臀影院| 精品视频一区二区不卡| 成人黄色大片在线观看| 婷婷国产v国产偷v亚洲高清| 国产精品婷婷午夜在线观看| 日韩午夜激情av| 99国产精品久久久| 国产激情一区二区三区四区| 亚洲国产中文字幕在线视频综合 | 日韩精品一区二区三区中文不卡| 成人av免费观看| 久久国产麻豆精品| 亚洲第一狼人社区| 亚洲日本在线天堂| 久久久久成人黄色影片| 日本一区二区不卡视频| 欧美一区二区三区不卡| 欧美午夜影院一区| 91视频www| 成人国产精品免费| 国产在线麻豆精品观看| 蜜臀av性久久久久蜜臀av麻豆| 亚洲美女屁股眼交| 国产精品传媒入口麻豆| 国产欧美一区二区精品性色| 精品美女在线观看| 欧美一区二区三区视频免费| 欧美日韩不卡一区| 欧美性色黄大片| 在线亚洲免费视频| 91在线精品秘密一区二区| 国产99久久久久| 国产精品一区一区| 国产高清视频一区| 国产宾馆实践打屁股91| 国产成人精品一区二| 国产精品白丝av| 国产一区欧美一区| 国产一区二区三区黄视频 | 国产精品一区二区三区网站| 麻豆国产精品视频| 狠狠色伊人亚洲综合成人| 日本亚洲三级在线| 日韩精品福利网| 日本不卡在线视频| 国内精品在线播放| 国产精品原创巨作av| 国产成人在线网站| 懂色av一区二区夜夜嗨| 成人高清免费观看| 成人免费va视频| 91丨九色porny丨蝌蚪| 一本一本大道香蕉久在线精品| 色视频一区二区| 欧美日韩在线免费视频| 欧美一级高清片| 久久久久久久久久久久久女国产乱 | 国产一区不卡视频| 国产超碰在线一区| 91免费版在线| 制服视频三区第一页精品| 日韩免费观看2025年上映的电影 | 久久欧美一区二区| 国产亚洲精品精华液| 国产精品不卡在线| 亚洲午夜精品一区二区三区他趣| 青青青爽久久午夜综合久久午夜| 捆绑调教一区二区三区| 成人晚上爱看视频| 欧美综合天天夜夜久久| 精品日韩成人av| 国产精品国产自产拍在线| 亚洲bt欧美bt精品777| 精品一二线国产| 99综合电影在线视频| 91精品欧美综合在线观看最新| 久久精品这里都是精品| 亚洲一区二区偷拍精品| 国内成人自拍视频| 在线观看亚洲a| 亚洲精品一区二区三区在线观看| 中文字幕一区不卡| 男女男精品网站| 91香蕉视频污在线| 2022国产精品视频| 亚洲综合色区另类av| 国产一区二区三区美女| 色婷婷久久久综合中文字幕| 精品国产91洋老外米糕| 亚洲精品高清在线观看| 国产精品一区在线观看乱码| 欧美丝袜丝交足nylons图片| 久久久久久电影| 视频一区中文字幕国产| 色综合咪咪久久| 久久精品一区二区| 美女一区二区三区| 在线观看av一区| 中文字幕av资源一区| 免费视频最近日韩| 欧美专区日韩专区| 国产精品色在线| 国产一区二区三区久久久| 91精品国产高清一区二区三区 | 久久毛片高清国产| 五月天亚洲精品| 91视频在线观看| 欧美国产精品一区二区三区| 麻豆91在线观看| 欧美欧美欧美欧美| 亚洲男人的天堂一区二区| 丁香天五香天堂综合| 欧美mv日韩mv国产| 日韩av不卡在线观看| 欧美天堂一区二区三区| 亚洲特级片在线| 成人av在线一区二区三区| 久久久精品蜜桃| 精品亚洲欧美一区| 欧美xxxxxxxx| 久久er99精品| 337p粉嫩大胆噜噜噜噜噜91av| 日韩国产精品久久久久久亚洲| 欧美午夜一区二区| 亚洲一区免费观看| 欧美性生活一区| 亚洲一级二级三级在线免费观看| 色综合天天天天做夜夜夜夜做| 国产女主播在线一区二区| 国产综合一区二区| 久久精品一级爱片| 丁香啪啪综合成人亚洲小说| 中文字幕的久久| 99久久免费精品| 亚洲精品国产a| 欧美日韩精品一区二区三区 | 麻豆91精品视频| 欧美r级在线观看| 国产在线国偷精品产拍免费yy| 精品国产91久久久久久久妲己| 久久99精品久久久久久久久久久久| 日韩一区二区麻豆国产| 久久99国产精品麻豆| 国产亚洲欧美激情| 99re66热这里只有精品3直播 | 国产精品中文字幕日韩精品| 国产欧美一区二区精品忘忧草| 成人黄色777网| 亚洲综合色区另类av| 4438x亚洲最大成人网| 精品在线观看视频| 国产色产综合色产在线视频 | 欧美唯美清纯偷拍| 日韩精品久久久久久| 久久久午夜精品理论片中文字幕| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 日本特黄久久久高潮| 精品日韩在线一区| 91论坛在线播放| 免费视频一区二区| 国产精品乱码一区二区三区软件| 91黄色激情网站|