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

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

?? main.cpp

?? 是一個選課系統的主文件
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
//////////////////////////////////////////////////////////////////////////
//頭文件
#include <string.h>
#include <stdio.h>
#include <iostream.h>
#include <stdlib.h>
#include <iomanip.h>
#include <fstream.h>
#include <conio.h>

///////////////////////////////////////////////////////////////////////////
//定義課程
struct course        //某個學生所學的課程中的某一個
{
	char cname[20];  //課程名稱
	float grade;    //課程成績
	course *Next;   //指向下一個課程的指針
};
///////////////////////////////////////////////////////////////////////////
//學生類
class student
{
  public:
	    student() 
		{ 
		  root = NULL;
		  const maxcourse = 5;
		  factcourse = 0;
		}
       void readname(char N[] );			 //讀入學生的姓名
	   void getname(char N[]);				 //得到學生的姓名
	   void wrecourse(char N[],float score); //要據課程名寫入學生課程的成績
	   float average();						 //學生課程的平均成績
       void addcourse(char N[],float g);	 //給學生增加一門課
	   int findcourse(char N[]);			 //查找是否已有此課程,如果有返回1,如果沒有返回0
	   int retfactcourse()
	   {
		   return factcourse;
	   }									//得到所學的課程數目
	   course *retroot()
	   {
		   return root;						//利用鍵表將所有的課程保存起來
	   }		
	   int retmaxcourse()
	   {
		   return 5;						//得到最多可學的課程數目
	   } 
	   void clrroot()						//清零
	   {
		   root = NULL;
		   factcourse = 0;
	   }
	   ~student()
	   {
	   
	   }

  private:
	    char sname[20];				  	 //學生的姓名
        int maxcourse;					 //學生最多可以學五門課程
        int factcourse;					 //學生實際所學的課程數目
		course *root;					 //課程的根結點指針
};

void student::readname (char N[])
{
	strcpy(sname,N);
}

void student::getname(char N[])
{
	strcpy(N,sname);
}

void student::wrecourse(char N[],float score)
{
	course *p = root;
	if(p==NULL) 
		return;
	if(p!=NULL) 
		p = p->Next;
	while(p)
	{
		if(strcmp(p->cname,N)==0)
			p->grade = score;
		
		p = p->Next;
	}
}

float student::average()
{
	float aver=0.0;
    course *p = root;

	while (p)
	{
		aver = aver+p->grade;
	}

	aver = aver/factcourse;
	return aver;
}

void student::addcourse (char N[],float g)
{
	course *s = new course;
	s->Next=NULL;
	if(root == NULL)
		root = s;
	course *p = root;
    course *newcourse = new course;
	newcourse->Next = p->Next;
	p->Next=newcourse;
	strcpy(newcourse->cname,N);
	newcourse->grade = g;
	factcourse++;

}

int student::findcourse (char N[])
{
	course *p = root;
    if(root==NULL)
		return 0;
	p = p->Next;
	while(p)
	{
		if(strcmp(p->cname,N)==0) 
			return 1;
		p = p->Next;
	}
	return 0;
}
/////////////////////////////////////////////////////////////////////////////////////////////
struct studentdb
{
	student stu;
	studentdb *Next;
};
struct studentname
{
	char tname[20];			  	 //學生的名字
	float  result;				 //學生所得的該課程分數
	studentname *Next;
};
/////////////////////////////////////////////////////////////////////////////////////////////
//課程類
class subject
{
  public:
	   subject()
	   {
		   first = NULL; 
		   maxstudent=30; 
		   activestudnet=0;
	   }
       float readcredit();				//得到課程的學分
	   void  getcredit(float a);		//設置學分
	   float getaverage();				//得到學生的平均成績
	   float getresult(char N[]);		//查找某個學生的成績
	   void  getkname(char N[]);		//讀出課程的名稱
	   void  setkname(char N[]);		//讀入課程的名稱
	   studentname *retfirst()
	   {
		   return first;				//返回根結點
	   }		
	   void findstudent(studentdb *P);  //根據該課程的名稱,尋找選這課程的學生
	   int retactivestudent()
	   {
		   return activestudnet;		//返回實際學生數
	   } 
	   int retmaxstudent() 
	   {
		   return 30;					//返回最多學生數30
	   } 
	   void clractivestudnet()
	   {
		   activestudnet = 0;			//從文件中讀出來后將實際學生數清零
	   } 

  private:
	    int maxstudent;				//最多學生數
		int activestudnet;			//實際學生數
        studentname *first;			//學生名單
		float credit;				//該課程的學分
		float averagerusult;		//該課程的平均成績
		char kname[20];				//該課程的名稱
};

float subject::readcredit ()
{
	return credit;
}

void subject::getcredit (float a)
{
	credit=a;
}

float subject::getaverage()
{
	float k = 0.0;
	studentname *p;
	p=first->Next;
	if(p==NULL) 
		return 0;
	while(p)
	{
		k = k + p->result;
		p = p->Next ;
	}
	
	return k/activestudnet;
}

float subject::getresult (char N[])
{
	studentname *p;
	p = first;
	while(p)
	{
		if(strcpy(p->tname ,N)==0) 
			return p->result;
		p = p->Next ;
	}
	return -1;
}

void subject::getkname (char N[])
{
	strcpy(N,kname);
}

void subject::setkname (char N[])
{
	strcpy(kname,N);
}

void subject::findstudent(studentdb *P)
{
	studentname *newcode = new studentname;
	newcode->Next=NULL;
	first = newcode;
	studentname *T = first;

	studentdb *K = P->Next;
	while(K)
	{
		course *Y = K->stu.retroot();
		if(Y ==NULL)
		{
			K = K->Next;
			continue;
		}
		if(Y!=NULL) 
			Y = Y->Next;
		while(Y)
		{
			if(strcmp(Y->cname,kname)==0)
			{
				studentname *Acode = new studentname;
				char Name[20];
				K->stu.getname(Name);
				strcpy(Acode->tname,Name);
				Acode->result = Y->grade;
				Acode->Next = T->Next;
				T->Next = Acode;
				activestudnet = activestudnet + 1;
				break;
			}

			Y = Y->Next;
		}
		K = K->Next;
	}
	return ;
}
///////////////////////////////////////////////////////////////////////////////////
void tuichu()
{
	system("cls");
 cout<<"\n\n\t\t\t謝謝你使用選修課小系統\t再見\n\n"<<endl;
 cout<<"\n\t   如果你覺得此軟件有修改及補充之處,請按以下方式聯系我們,"
	 <<"\n\t提出你的寶貴意見.我們將不斷地改進并及時的公布新版本。謝謝!!\n\n"<<endl;
 cout<<"\t\t聯系方式:\n"
	 <<"\t\t        姓名:鄭德鋒\n\n"
	 <<"\t\t        電話:0594-2657094\n\n"
	 <<"\t\t       Email:cyan_studio@163.com\n\n"
	 <<"\t\t    學校地址:莆田學院36號0443信箱\t郵政編碼:351100\n\n\n"<<endl;
  getch();
  exit(-1);
}
//////////////////////////////////////////////////////////////////////////////////
//總菜單
char menu()
{
	int k=0;
	char a[3],c,i;
	system("cls");
	cout<<endl<<endl;
    cout<<"\t\t\t\tC++課程設計課題\n\n"<<endl;
	cout<<"\t\t********************************************\n"
        <<"\t\t*                                          *\n"
	    <<"\t\t*                選修課小系統              *\n"
	    <<"\t\t*                                          *\n"
		<<"\t\t*                                          *\n"
		<<"\t\t*     操作方式:                            *\n"
		<<"\t\t*               1.選修課系統學生端         *\n"
	    <<"\t\t*                                          *\n"
		<<"\t\t*               2.選修課系統管理端         *\n"
	    <<"\t\t*                                          *\n"
        <<"\t\t********************************************\n"<<endl;
		
	while(1)
	{
		cout<<"\n\t\t請選擇登入方式: ";
		cin>>a;
		if(strlen(a)==1)
		{
            for(i='1';i<='2';i++)
            {
	             c=i;
	             if(c==a[0]) 
				   return c;
             }
		}
        cerr<<"\n\n\t\t\t\t輸入有誤!\n"<<endl;
		k++;
	   if(k>2)
	   {
		system("cls");
	    cerr<<"\n\n\n\t\t~~提示~~:錯誤輸入次數超過三次,你將被強制退出!!\n\n"<<endl;
		cout<<"\t\t按任意鍵繼續"<<endl;
		getch();
		tuichu();
	   }
  }
}
///////////////////////////////////////////////////////////////////////////////////
//選修課系統端操作
char custom()
{
	char A[10];
	char b;
	char i;
	int k = 0;
	system("cls");;
	cout<<"\n\n\n"
		<<"\t\t※※※※※※※※※※※※※※※※※※※※※※※※※※※\n"
	    <<"\t\t※                                                  ※\n"
		<<"\t\t※                    選修課系統學生端              ※\n"
	   	<<"\t\t※                                                  ※\n"
		<<"\t\t※            操作方式:                             ※\n"
		<<"\t\t※                      1.學生選課                  ※\n"
        <<"\t\t※                      2.學生情況                  ※\n"
		<<"\t\t※                      3.選課情況                  ※\n"
		<<"\t\t※                      4.退出系統                  ※\n"
		<<"\t\t※                                                  ※\n"
		<<"\t\t※※※※※※※※※※※※※※※※※※※※※※※※※※※\n"<<endl;
	
    while(1)
	{
	    cout<<"\t\t\t請選擇操作方式: ";
        cin>>A;
		if(strlen(A)==1)
		{
            for(i='1';i<='4';i++)
            {
	             b=i;
	             if(b==A[0]) return b;
             }
		}
        cerr<<"\n\t\t\t\t輸入有誤!\n"<<endl;
        k++;
		if(k>2)
		{
			system("cls");
			cerr<<"\n\n\t\t\t~~提示~~:錯誤輸入超過三次!你將被強制退出!!\n"<<endl;
			cout<<"\t\t按任意鍵繼續"<<endl;
			getch();
			tuichu();
		}
	}
}
char server()
{
	char A[10];
	char b;
	char i;
	int k = 0;
	system("cls");;
    cout<<"\n\n\n"
        <<"\t\t※※※※※※※※※※※※※※※※※※※※※※※※※※※\n"
	    <<"\t\t※                                                  ※\n"
	    <<"\t\t※                  選修課系統管理端                ※\n"
		<<"\t\t※                                                  ※\n"
		<<"\t\t※      操作方式:                                   ※\n"
	    <<"\t\t※               1.增加學生      2.增加課程         ※\n"
        <<"\t\t※               3.刪除學生      4.刪除課程         ※\n"
		<<"\t\t※               5.填寫成績      6.更改學分         ※\n"
		<<"\t\t※               7.學生情況      8.選課情況         ※\n"
		<<"\t\t※               9.保存數據      0.退出系統         ※\n"
	    <<"\t\t※                                                  ※\n"
		<<"\t\t※※※※※※※※※※※※※※※※※※※※※※※※※※※\n"<<endl;
    while(1)
	{
	    cout<<"\t\t 請選擇操作方式: ";
        cin>>A;
		if(strlen(A)==1)
		{
            for(i='0';i<='9';i++)
            {
	             b=i;
	             if(b==A[0]) 
					 return b;
             }
		}
        cerr<<"\n\t\t\t\t輸入有誤!\n"<<endl;;
        k++;
		if(k>2)
		{
			cerr<<"錯誤輸入超過三次!\n";
			exit(-1);
		}
	}
}
//////////////////////////////////////////////////////////////////////////////////
//密碼檢查
void password()
{
	int k=0,i;
	char A[]="0411200";
	char B[10];
	char a;
	system("cls");
	for(i=0;i<8;i++)
		cout<<endl;
	    
	while(k<=2)
	{

    	printf("\t\t\t請輸入管理員密碼:");
		i=0;
		while(1)
		{
			a=getch();
			if(a==13)
				break;
			B[i]=a;
			i++;
			printf("*");
		}
		B[i]='\0';
	    if(strcmp(A,B)==0) 
			return;
		else 
		{
			k++;
			cerr<<"\n\n\t\t\t密碼輸入錯誤!請重新輸入!\n"<<endl;
		}
	    if(k>=3) 
		{
		system("cls");
			cerr<<"\n\n\t\t\t輸入錯誤密碼超過三次!請按任意鍵退出.."<<endl;
			getch();
			tuichu();
		}
	}
}
///////////////////////////////////////////////////////////////////////
struct subjectdb
{
	subject sub;
	subjectdb *Next;
};

int menu_2_7(studentdb *P);
int menu_2_9(studentdb *Y,subjectdb *P);
int menu_2_8(subjectdb *P);
////////////////////////////////////////////////////////////////////////
//學生端功能函數
int menu_1_1(studentdb *P,subjectdb *X)    //學生選課
{
	system("cls");
	cout<<"\n\n\t\t\t\t學生選課操作"<<endl;
	//	
	studentdb *q=P->Next;
	int i;
	char N[20],M[20];
	if(q!=NULL) 
		cout<<"\n\n\n\t\t所有學生名單如下:\n"<<endl;
	else 
	{
		cerr<<"\n\n\n\t\t對不起,暫時沒有學生名單!請按任意鍵繼續.."<<endl; 
		return 1;
	}
	while(q)
	{
		q->stu.getname(N);
		cout<<"\t\t\t\t"<<N;
		cout<<endl;
		q = q->Next ;
	}

	q = P->Next;
	if(q==NULL) 
		return 1;
	
	cout<<"\n\n\t\t 請輸入學生姓名:";
	cin>>N;
	i=0;
	q=P->Next;
	while(q)
	{
		q->stu.getname(M);
		if(strcmp(N,M)==0)
			i++;
		q = q->Next;
	}
	int j=0,k=1;
	if(i==0)
	{
		cout<<"\n\n\t\t沒有這個學生!! 請按任意鍵返回.."<<endl;
		return 1;
	} 
	else if(i>1)
	{
		cout<<"\n\n\t\t共找到"<<i<<"個姓名為"<<N<<"的學生"<<endl;
		cout<<"\t\t選擇第幾個:";
		cin>>k;
	}
	if(k>i||k<=0) 
	{
	
	   cerr<<"\n\t\t\t輸入有誤!按任意鍵繼續"<<endl;
	   return 1;
	}
	q = P->Next;
	j=0;
	while(q)
	{
		q->stu.getname(M);
		if(strcmp(N,M)==0) 
			j++;
		if(j==k)
		{
			if(q->stu.retfactcourse()>=q->stu.retmaxcourse())
			{
		
			    cout<<"\n\t\t所選課程已滿!按任意鍵繼續"<<endl;
				return 1;
			}
			else
			{
				subjectdb *t=X->Next;
				char N1[20];
				system("cls");;
				if(t!=NULL)
				{
				 	cout<<"\n\n\n\t\t所有課程如下:"<<endl;
					cout<<"\n\t\t\t\t課程名稱\t\t 學分"<<endl;
				}
				else 
				{
					cerr<<"\n\n\n\t\t對不起,暫時沒有課程"<<endl; 
					return 1;
				}
				while(t)
				{
					t->sub.getkname(N1);
					cout<<"\t\t\t\t "<<N1<<setw(26-strlen(N1))<<t->sub.readcredit()<<endl;
					t = t->Next ;
				}
                char N2[20];
				cout<<"\n\t    輸入你所要選的課程 : ";
				cin>>N2;
				t = X->Next;
			    while(t)
				{
					t->sub.getkname(N1);
					if(strcmp(N1,N2)==0)
					{
						if(q->stu.findcourse(N2)==1)
						{
						  cout<<"\n\t\t此課程你已選過了,不能再選.按任意鍵繼續"<<endl;
						  return 1;
						}
						t=X->Next;
						char NA[20];
						while(t)
						{
							t->sub.getkname(NA);
							if(strcmp(NA,N2)==0)
							{	
								if(t->sub.retactivestudent()>=t->sub.retmaxstudent ())
								{
								
									cout<<"\n\t\t此課程已選滿,不能選.按任意鍵繼續"<<endl;
									return 1;
								}
							}
							t = t->Next;
						}
						q->stu.addcourse(N2,0.0);
						cout<<"\n\n\t\t選課成功!按任意鍵繼續"<<endl;
						return 1;
					}
					t = t->Next;
				}
				cerr<<"\n\t\t沒有此課程!按任意鍵繼續"<<endl;
			}
			

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
麻豆精品一二三| 日韩一区二区在线看片| 丁香一区二区三区| 久色婷婷小香蕉久久| 亚洲影视在线播放| 国产精品白丝在线| 亚洲成人免费看| 欧美日韩激情一区二区三区| 777xxx欧美| 制服丝袜中文字幕亚洲| 国产成人99久久亚洲综合精品| 亚洲成年人网站在线观看| 日本一区免费视频| 欧美日韩精品欧美日韩精品一 | 欧美电影免费观看高清完整版在| 国产一区亚洲一区| 亚洲国产综合91精品麻豆| 国产日韩v精品一区二区| 欧美一级专区免费大片| 在线观看日韩av先锋影音电影院| 成人国产视频在线观看| 国产呦萝稀缺另类资源| 中文字幕一区在线观看| 欧美国产综合一区二区| 一区av在线播放| 亚洲毛片av在线| 亚洲男同1069视频| 亚洲午夜久久久久久久久久久| 亚洲人成影院在线观看| 中文字幕视频一区二区三区久| 国产日韩欧美一区二区三区综合| 精品国产一区二区三区av性色| 日韩欧美高清一区| 日韩欧美国产一二三区| 日韩三级视频在线观看| 日韩免费视频一区二区| 亚洲欧洲制服丝袜| 国产精品久久久久一区二区三区| 久久久久国产精品麻豆| 国产精品国产自产拍高清av| 综合久久久久久久| 天天爽夜夜爽夜夜爽精品视频| 丝袜美腿亚洲一区| 国产精品一级在线| 色先锋aa成人| 6080日韩午夜伦伦午夜伦| 久久久久久一级片| 亚洲国产一区视频| 五月激情综合网| 麻豆精品久久久| 成人国产亚洲欧美成人综合网| 色综合婷婷久久| 7777精品伊人久久久大香线蕉超级流畅 | 91精品婷婷国产综合久久| 26uuu另类欧美| 亚洲主播在线播放| 日韩精品欧美精品| 国产精品影视在线| 91精品久久久久久久99蜜桃| 国产欧美日韩不卡免费| 亚洲国产精品人人做人人爽| 国产一二三精品| 欧美日韩精品一区二区| 久久精品一区二区三区av | 国产欧美日本一区二区三区| 亚洲成人一二三| 99视频精品免费视频| 日韩久久久精品| 亚洲一区二区偷拍精品| 成人三级伦理片| 精品国产区一区| 青青草国产成人av片免费| 91在线一区二区三区| 国产午夜精品久久久久久免费视| 亚洲图片欧美色图| 91丨porny丨户外露出| 久久久91精品国产一区二区三区| 偷偷要91色婷婷| 欧美午夜宅男影院| 亚洲另类一区二区| 99r国产精品| 国产精品日日摸夜夜摸av| 久久国产精品99久久人人澡| 欧美亚洲国产一区在线观看网站| 国产精品久久久久久久第一福利| 国产精品自拍三区| 久久久久久综合| 成人手机电影网| 国产精品久久久久一区二区三区| 高清国产一区二区三区| 国产视频一区二区在线观看| 国产成人精品一区二区三区四区 | 日韩精品专区在线影院观看| 亚洲成人av一区二区三区| 91啪亚洲精品| 一区av在线播放| 欧美日韩精品一区视频| 亚洲精品欧美专区| 91小视频免费观看| 亚洲精品日日夜夜| 日韩欧美一级精品久久| 麻豆成人av在线| 久久久99精品免费观看| 99久久99久久免费精品蜜臀| 亚洲精品日韩一| 91精品在线一区二区| 国产一区二区三区综合| 国产精品免费视频网站| 欧美性猛片aaaaaaa做受| 日本va欧美va欧美va精品| 精品第一国产综合精品aⅴ| 成人影视亚洲图片在线| 亚洲一区日韩精品中文字幕| 日韩一级二级三级精品视频| 国产精品一区二区三区99 | 91精品久久久久久蜜臀| 国产精品综合二区| 亚洲精品国产高清久久伦理二区| 51久久夜色精品国产麻豆| 国产美女在线观看一区| 亚洲激情成人在线| 精品国产成人系列| 日本精品裸体写真集在线观看| 免费成人在线视频观看| 最新久久zyz资源站| 日韩亚洲国产中文字幕欧美| 国产成人午夜视频| 亚洲国产va精品久久久不卡综合| 欧美韩国一区二区| 国产清纯美女被跳蛋高潮一区二区久久w | 国产精品国产三级国产普通话蜜臀| 欧美精品日韩一本| 波波电影院一区二区三区| 久久99这里只有精品| 一区二区三区久久久| 91精品国产欧美日韩| 91在线精品一区二区三区| 狠狠色丁香九九婷婷综合五月| 亚洲一区二区欧美| 亚洲激情中文1区| 亚洲欧洲日韩在线| 日本一区二区不卡视频| 日韩精品中午字幕| 欧美一区二区三区视频| 91在线观看视频| 成人sese在线| 成人性生交大片免费看视频在线 | 国产蜜臀97一区二区三区| 2023国产精华国产精品| 日韩欧美美女一区二区三区| 在线观看亚洲精品视频| 欧美日韩一区视频| 在线免费不卡电影| 在线影视一区二区三区| 色女孩综合影院| 91福利小视频| 久久综合久久综合久久综合| 久久综合久久综合久久| 欧美日韩一区不卡| 91久久精品网| 91.com在线观看| 日韩视频国产视频| 26uuu色噜噜精品一区| 久久综合久久99| 中文字幕av一区二区三区高| 中文字幕av资源一区| 亚洲精品欧美激情| 欧美亚洲一区二区三区四区| 欧美性大战xxxxx久久久| 91精品国产黑色紧身裤美女| 欧美电影免费观看高清完整版| 久久蜜桃av一区精品变态类天堂| 国产午夜精品理论片a级大结局| 国产精品日韩成人| 亚洲18影院在线观看| 日产国产高清一区二区三区 | 国产福利一区二区三区| 色老汉av一区二区三区| 3d动漫精品啪啪一区二区竹菊| 精品国产a毛片| 亚洲黄色片在线观看| 日韩电影一区二区三区四区| 黄色小说综合网站| 色综合天天综合在线视频| 欧美乱妇一区二区三区不卡视频| 久久伊人中文字幕| 亚洲五月六月丁香激情| 国产一区二区视频在线播放| 在线观看日产精品| 欧美成人猛片aaaaaaa| 国产一区二区三区久久久| 91亚洲精品久久久蜜桃网站| 欧美一区二区三区在线看| 中文字幕一区二区三区在线不卡| 亚洲综合成人在线视频| 成人夜色视频网站在线观看| 欧美日韩三级视频| 亚洲人成网站在线| 国产福利精品导航| 欧美一级日韩一级|