亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
亚洲乱码国产乱码精品精98午夜 | 久久婷婷综合激情| 亚洲一区二区在线播放相泽| 欧美人伦禁忌dvd放荡欲情| 亚洲欧美一区二区三区国产精品| 成人精品鲁一区一区二区| 欧美色爱综合网| 日韩电影在线观看一区| 日韩美女天天操| 国产成人自拍网| 亚洲黄色尤物视频| 亚洲一区二区欧美日韩| 尤物视频一区二区| 亚洲mv大片欧洲mv大片精品| 精品欧美乱码久久久久久1区2区| jlzzjlzz亚洲日本少妇| 国产99精品在线观看| 亚洲色图在线视频| 欧美一区二区免费观在线| 国产在线精品免费av| 中文字幕在线不卡视频| 欧美一区二区三区在线观看视频 | 欧美高清www午色夜在线视频| 欧美bbbbb| 一区二区三区精密机械公司| 欧美成va人片在线观看| 久久久久国产精品麻豆ai换脸| 在线免费av一区| 国产一区二区三区在线观看免费视频| 国产精品羞羞答答xxdd| 亚洲6080在线| 国产一区二区h| 91麻豆国产香蕉久久精品| 韩国欧美国产一区| 日韩国产一区二| 高清成人在线观看| 欧美三区在线观看| 欧美精品一区二区在线观看| 在线观看一区日韩| 日韩欧美国产麻豆| 亚洲视频在线一区观看| 人妖欧美一区二区| 99久久精品免费| 国产a级毛片一区| 欧美日韩在线播放三区| 日韩国产在线一| 欧美韩日一区二区三区| 欧美va亚洲va香蕉在线| 亚洲你懂的在线视频| 久久97超碰国产精品超碰| 三级欧美韩日大片在线看| 国产成人日日夜夜| 91精品国产一区二区| 亚洲欧美韩国综合色| 狠狠色丁香婷综合久久| 欧美人妖巨大在线| 亚洲免费av在线| 懂色av一区二区夜夜嗨| 日韩欧美亚洲国产另类| 亚洲国产精品综合小说图片区| 亚洲精品一卡二卡| 粉嫩高潮美女一区二区三区| 欧美日韩大陆一区二区| 亚洲黄色片在线观看| 成人黄色免费短视频| 久久在线观看免费| 激情综合色播五月| 欧美精品丝袜中出| 亚洲大片精品永久免费| 色婷婷综合久久久中文字幕| 在线视频你懂得一区| 日韩毛片高清在线播放| 粉嫩av一区二区三区在线播放| 日韩欧美在线一区二区三区| 精品国精品国产尤物美女| 天堂精品中文字幕在线| 色琪琪一区二区三区亚洲区| 亚洲免费电影在线| 在线观看不卡视频| 亚洲电影视频在线| 欧美日精品一区视频| 亚洲制服丝袜在线| 日本丰满少妇一区二区三区| 欧美一卡在线观看| 蜜臂av日日欢夜夜爽一区| 国产麻豆精品95视频| 欧美xxxxx牲另类人与| 激情综合色综合久久综合| 精品国产乱码久久久久久影片| 久久超碰97中文字幕| 色综合激情五月| 樱花草国产18久久久久| 欧美日韩国产免费一区二区| 婷婷亚洲久悠悠色悠在线播放| 丰满少妇在线播放bd日韩电影| 国产嫩草影院久久久久| 亚洲一区二区在线播放相泽| 欧美人牲a欧美精品| 精品一区中文字幕| 国产精品天美传媒| 韩国精品免费视频| 18成人在线视频| 欧洲精品一区二区| 麻豆极品一区二区三区| 一区二区三区精品视频在线| 欧美日韩精品福利| 国产一区二区三区久久久| 国产精品国产精品国产专区不片| 天堂一区二区在线免费观看| 精品蜜桃在线看| 成人动漫视频在线| 婷婷激情综合网| 中文字幕免费不卡在线| 欧美日韩中字一区| 国产成人av影院| 亚洲123区在线观看| 欧美激情综合在线| 欧美日韩www| jvid福利写真一区二区三区| 日本色综合中文字幕| 综合激情网...| 日韩精品一区二区三区视频| 色综合视频一区二区三区高清| 日本中文字幕一区二区有限公司| 日本一区二区成人在线| 91精品国产欧美一区二区成人| 成人黄色电影在线| 免费看欧美女人艹b| 亚洲综合男人的天堂| 国产午夜精品一区二区三区四区| 久久99国产精品免费网站| 中文字幕一区二区三区不卡 | 免费成人深夜小野草| 亚洲裸体xxx| 国产欧美日韩卡一| 日韩免费看网站| 欧美久久久久久久久中文字幕| 粉嫩一区二区三区性色av| 丝袜亚洲另类丝袜在线| 伊人性伊人情综合网| 国产人成亚洲第一网站在线播放| 欧美夫妻性生活| 欧美午夜不卡在线观看免费| 午夜电影网一区| 一区二区三区蜜桃| 亚洲色欲色欲www在线观看| 亚洲精品在线免费播放| 欧美一级高清片| 欧美视频在线不卡| 日本韩国欧美在线| 欧美这里有精品| 日本丰满少妇一区二区三区| 色偷偷久久人人79超碰人人澡| 成人激情综合网站| 成人激情免费视频| 成人黄色av电影| 成人激情免费电影网址| 成人免费视频网站在线观看| 国产在线日韩欧美| 国产精品一区二区免费不卡 | 国产亚洲精品精华液| 久久综合色婷婷| 久久久久久久综合色一本| 精品sm在线观看| 国产亚洲精品资源在线26u| 国产亚洲精品中文字幕| 中文字幕一区二区三区不卡 | 中文字幕欧美日韩一区| 欧美国产成人精品| 亚洲欧洲日韩av| 亚欧色一区w666天堂| 免费观看91视频大全| 国产在线不卡视频| 99久久综合狠狠综合久久| 色噜噜夜夜夜综合网| 欧美日韩黄色一区二区| 欧美xxxx在线观看| 中文字幕日韩一区| 午夜av区久久| 国产一区二区三区免费在线观看| 国产精品系列在线观看| 色域天天综合网| 3atv在线一区二区三区| av网站免费线看精品| 欧美性受xxxx黑人xyx性爽| 日韩一区二区在线播放| 26uuu国产在线精品一区二区| 国产精品人妖ts系列视频| 亚洲不卡在线观看| 国产成人综合在线观看| 欧美性生活一区| 亚洲精品在线观看网站| 亚洲人成伊人成综合网小说| 偷窥国产亚洲免费视频| 成人av在线一区二区| 911国产精品| 国产精品乱码久久久久久| 婷婷亚洲久悠悠色悠在线播放| 成人国产亚洲欧美成人综合网| 欧美日韩亚洲国产综合|