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

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

?? stu_info_7.8.c

?? linux 下的學生管理系統 非常值得學習的不可或缺的資源?。。?!
?? C
?? 第 1 頁 / 共 4 頁
字號:
***參數:char fname[100]
***功能:截取文件名
***返回值:文件名
*****************************************************************/
char *Getfilename(char fname[100],char file[100])
{
	int i,t=0; //記錄最后一個"\"位置
	for(i=strlen(fname)-1;i>=0;i--) //截取文件名
	{
		if(fname[i]=='\\')
		{
			t=i;
			break;
		}
	}

	strcpy(file,fname+t+1);
	return file;
}
/*****************************************************************
***函數名:SaveData
***參數:無
***功能:實現數據保存到文件
***返回值:無
*****************************************************************/
void SaveData()
{
	int len,i,x,y,len_file,len_file2,t,f=0; //T記錄文件名的后綴位置
	char filename[100]={'0'},file[100]={'0'},file2[100]={'0'};
	FILE *fp1,*fp2;
	if(save_flag==0)
	{
		ClearMessage();
		Gotoxy(0,19);
		printf("Not any record !Pleased key to continue ...");
		getch();
		return;
	}
	do
	{
		Gotoxy(0,20);
		printf("%*s",80," ");
		Gotoxy(0,22);
		printf("For example  E:\\CN0804\\data.bat || data || data.bat");
		ClearMessage();
		Gotoxy(0,19);
		printf("Please Input filename path:");
		GetString(filename,50);
		Left_Right(filename); 
		len=strlen(filename);
		if(len==0)
		{
			Gotoxy(0,20);
			printf("Error!filename NULL!");
			getch();
			Gotoxy(0,20);
			printf("%*s",80," ");			
			continue;
		}		
		//截取文件名
		strcpy(file,Getfilename(filename,file));
		len_file=strlen(file);
		for(i=0;i<len_file;i++)  //判斷文件名長度<=8  
		{
			if(file[i]=='.')
			{
				t=i;
				f=1;
				break;
			}
			else if(file[i]!='.') //無后綴
			{
					f=0;
			}
			if(file[i]=='\\' || file[i]=='/' || file[i]==':' || file[i]=='*' || file[i]=='?' 
				|| file[i]=='\"' ||file[i]=='<' || file[i]=='>' || file[i]=='|') //判斷文件名合法
			{
				f=-1;
			}
		}
		if(f==1)
		{
			strncpy(file2,file,t);
			len_file2=strlen(file2);
			file2[len_file2]='\0';
			if(len_file2>8)
			{
				Gotoxy(0,20);
				printf("Error!Input filename > 8.Please enter again!");
				getch();
				continue;
			}
		}
		else if(f==0) //文件名長度>8
		{
			len=strlen(filename);
			if(len>8)
			{
				Gotoxy(0,20);
				printf("Error!Input filename > 8.Please enter again!");
				getch();
				continue;
			}
		}
		else if(f==-1)//非法字符
		{
			Gotoxy(0,20);
			printf("%*s",80," ");
			Gotoxy(0,20);
			printf("Error!Input filename illegal.Please enter again!");
			getch();
			continue;
		}
		for(i=0;i<len;i++)  //創建多級目錄
		{
			if(filename[i]=='\\')
			{
				filename[i]='\0';
				_mkdir(filename);
				filename[i]='\\';
			}
		}
		Gotoxy(0,20);
		printf("System create files-ing...");
		Sleep(600);
		Gotoxy(0,20);
		printf("%*s",80," ");
		//判斷文件是否存在  0/-1
		if(access(filename,0)==-1)  //不存在
		{
			fp1=fopen(filename,"wb");
			if((fp1==NULL))
			{
				ClearMessage();
				Gotoxy(0,19);
				printf("Error!can not save file!\n");	
				getch();
				return;
			}
			fwrite(&stu[0],sizeof(STU),count,fp1);
			if(fclose(fp1)==EOF)
			{
				ClearMessage();
				Gotoxy(0,19);
				printf("Error!Close file fail!\n");	
				getch();
				return;
			}
			else
			{
				save_flag=0;
				ClearMessage();
				Gotoxy(0,19);
				printf("Save Data success!Pleased key to continue ...");
				getch();
				return ;
			}
		}
		else   //存在
		{
			ClearMessage();
			Gotoxy(0,19);
			printf("The filename already exists!Do you overwrite?YES[Y/y] or [N/n] ");
			Getxy(&x,&y);
			do
			{
				Gotoxy(x,y);
				ch=getche();
				getch();
				if(ch=='Y' || ch=='y')
				{
					fp2=fopen(filename,"wb");
					if((fp2==NULL))
					{
						ClearMessage();
						Gotoxy(0,19);
						printf("can not save file!\n");	
						getch();
						return;
					}
					fwrite(&stu[0],sizeof(STU),count,fp2);
					if(fclose(fp2)==EOF)
					{
						ClearMessage();
						Gotoxy(0,19);
						printf("Close file fail!\n");	
						getch();
						return;
					}
					else
					{
						save_flag=0;
						ClearMessage();
						Gotoxy(0,19);
						printf("Save Data success!Pleased key to continue ...");
						getch();
						return ;
					}
					break;
				}
				else if(ch=='N' || ch=='n')
					break;
				else
					InputError(x,y,ch);
			}while(!(ch=='Y' || ch=='y' || ch=='N' || ch=='n'));
		}
	}while(ch=='N' || ch=='n');
}
/*****************************************************************
***函數名:LocalData
***參數:無
***功能:在本地機上讀取數據到系統
***返回值:無
*****************************************************************/
void LocalData()
{
	int len;
	FILE *fp;
	char filename[100];
	int i,x,y;
	if(save_flag==1)
	{
		do
		{
			ClearMessage();
			Gotoxy(0,19);
			printf("Are you save Data?[Y]/[N]:");
			Getxy(&x,&y);
			ch=getche();
			getch();
			if(ch=='Y' || ch=='y')
			{
				SaveData();
				return;
			}
			else if(ch=='N' || ch=='n')
			{
				break;
			}
			else
			{
				InputError(x,y,ch);
				continue;
			}
		}while(1);
	}
	Gotoxy(0,22);
	printf("For example  E:\\CN0804\\data.bat || data || data.bat");
	do
	{
		Gotoxy(0,20);
		printf("%*s",80," ");
		ClearMessage();
		Gotoxy(0,19);
		printf("Please Input filename path:");
		GetString(filename,50);
		Left_Right(filename); 
		len=strlen(filename);
		if(len==0)
		{
			Gotoxy(0,20);
			printf("Error!filename NULL!");
			getch();
			Gotoxy(0,20);
			printf("%*s",80," ");			
			continue;
		}		
		if(access(filename,0)!=0)//判斷文件是否存在
		{
			Gotoxy(0,20);
			printf("Error!file does not exist!");
			getch();
			continue;
		}
		fp=fopen(filename,"rb");
		if(fp==NULL)
		{
			ClearMessage();
			Gotoxy(0,19);
			printf("can not open file!\n");	
			getch();
			return;
		}
		count=0;
		while((fread(&stu[count],sizeof(STU),1,fp))==1)
			count++;
		for(i=0;i<count;i++)
		{
			sno[i]=i+1;
		}
		ClearMessage();
		Gotoxy(0,19);
		printf("open file success!Pleased key to continue ...");
		getch();
		break;
	}while(1);
}
/*****************************************************************
***函數名:Stat
***參數:無
***功能:顯示各項數據統計
***返回值:無
*****************************************************************/
void Stat()
{
	int s,i,x,y;
	char *Sort[]=
	{	"1.Chinese:",
		"2.English:",
		"3.Math:",
		"4.Physics:",
		"5.Chemistry:",
		"6.Total:",
		"0.return MenuList:"
	};
	system("cls");
	Gotoxy(33,3);
	printf(STATSCORE);	
	MakeMenuInfo();	
	printf("\n");
	s=JuZhong(Sort,7);	//菜單項--居中顯示
	for(i=0;i<7;i++)    //打印菜單項
		printf("%*s%s\n",s," ",Sort[i]);
	Gotoxy(0,0);
	Gotoxy(26,15);
	printf("Please Make a choices[0-6]:");
	Getxy(&x,&y);
	if(count==0)
	{
		ClearMessage();
		Gotoxy(0,19);
		printf("Error!Data is NULL.Pleased key to continue ...");	
		fflush(stdin);
		getch();
		return;
	}
	do
	{
		ch=getche();
		getch();
		switch(ch)
		{
			case '1':StatScore(0);Stat();break;
			case '2':StatScore(1);Stat();break;
			case '3':StatScore(2);Stat();break;
			case '4':StatScore(3);Stat();break;
			case '5':StatScore(4);Stat();break;
			case '6':StatTotal();Stat();break;
			case '0':return;break;
			default:InputError(x,y,ch);break;
		}
	}while(!(ch>='0' && ch<='6'));
}
/*****************************************************************
***函數名:StatScore
***參數:float score[] ,int num   (0-4-->5門成績 )
***功能:顯示成績數據統計
***返回值:無
*****************************************************************/
void StatScore(int num)  //按大--》小
{
	int i,j,k; 
	float top_1,top_2,top_3;
	float total[100]={0.0};
	double avg[100]={0.0};
	STU temp;
	Gotoxy(0,5);
	for(i=5;i<17;i++)  //清除5-17行
		printf("%*s",80," ");
	for(i=1;i<count;i++)
	{
		for(j=0;j<count-i;j++)
		{
			if(stu[j].score[num]<stu[j+1].score[num])
			{
				temp=stu[j];
				stu[j]=stu[j+1];
				stu[j+1]=temp;
			}
		}
	}	
	for(i=0;i<5;i++)  //各科總成績與平均成績
	{
		for(j=0;j<count;j++)
		{
			total[i]+=stu[j].score[i];
		}
		avg[i]=(double)total[i]/count;
	}
	Gotoxy(34,5);
	printf("(Total avg)");
	Gotoxy(19,6);
	printf("%-9s%-9s%-6s%-9s%-11s","chinese","english","math","physics","chemistry");
	Gotoxy(19,7);
	printf(" %-9.1lf%-8.1lf%-8.1lf%-9.1lf%-8.1lf",avg[0],avg[1],avg[2],avg[3],avg[4]);
	Gotoxy(34,9);
	printf("(Stat Score)");
	Gotoxy(19,10);
	switch(num)
	{
		case 0:	printf("top %-4s%-20s%-4s%-8s\n","sno","name","age","chinese");
			Gotoxy(33,3);printf("Print Chinese");break;
		case 1:printf("top %-4s%-20s%-4s%-8s\n","sno","name","age","english");
			Gotoxy(33,3);printf("Print English");break;
		case 2:printf("top %-4s%-20s%-4s%-8s\n","sno","name","age","math");
			Gotoxy(33,3);printf("Print Math");break;
		case 3:printf("top %-4s%-20s%-4s%-8s\n","sno","name","age","physics");
			Gotoxy(33,3);printf("Print Physics");break;
		case 4:printf("top %-4s%-20s%-4s%-8s\n","sno","name","age","chemistry");
			Gotoxy(33,3);printf("Print Chemistry");break;
	}
	top_1=stu[0].score[num];
	top_2=stu[1].score[num];
	top_3=stu[2].score[num];
	for(j=0;j<3;j++)  //學科統計前三甲
	{
		Gotoxy(19,11+j);
		printf("%-4d%-4s%-21s%-4d%-8.1f\n",j+1,stu[j].sno,stu[j].name,stu[j].age,stu[j].score[num]);
	}
	for(k=3;k<count;k++)  //取并列
	{
		if(stu[k].score[num]==top_3)
		{
			Gotoxy(19,11+k);
			printf("%-4d%-4s%-21s%-4d%-8.1f\n",3,stu[k].sno,stu[k].name,stu[k].age,stu[k].score[num]);
			continue;
		}
	}
	if(count<2)
	{
		Gotoxy(0,12);
		printf("%*s",80," ");
		Gotoxy(0,13);
		printf("%*s",80," ");
	}
	if(count>=2 && count<3)
	{
		Gotoxy(0,13);
		printf("%*s",80," ");
	}
	Gotoxy(0,19);
	printf("Pleased key to continue ...");
	fflush(stdin);
	getch();
}
/*****************************************************************
***函數名:StatTotal
***參數:無
***功能:顯示總成績數據統計
***返回值:無
*****************************************************************/
void StatTotal()
{
	int i,j,k;
	float top_3;
	float total[100],t;
	STU temptotal;
	Gotoxy(0,5);
	for(i=5;i<17;i++)  //清除5-17行
		printf("%*s",80," ");
	for(i=0;i<count;i++)
		total[i]=stu[i].score[0]+stu[i].score[1]+stu[i].score[2]+stu[i].score[3]+stu[i].score[4];
	//total從大到小
	for(i=1;i<count;i++)
	{
		for(j=0;j<count-i;j++)
		{
			if(total[j]<total[j+1])
			{
				temptotal=stu[j];
				stu[j]=stu[j+1];
				stu[j+1]=temptotal;
				t=total[j];
				total[j]=total[j+1];
				total[j+1]=t;
			}
		}
	}
	top_3=total[2];
	Gotoxy(30,3);
	printf("Print Total Score");
	Gotoxy(0,5);
	printf("%-4s%-4s%-21s%-4s%-8s%-8s%-5s%-8s%-10s%-6s\n",
		"Top","sno","name","age","chinese","english","math","physics","chemistry","total");
	for(j=0;j<3;j++)  //打印前三甲
	{
		Gotoxy(0,6+j);
		printf("%-4d%-4s%-21s%-5d%-8.1f%-7.1f%-7.1f%-8.1f%-8.1f%-6.1f\n",j+1,stu[j].sno,stu[j].name,stu[j].age,
			stu[j].score[0],stu[j].score[1],stu[j].score[2],stu[j].score[3],stu[j].score[4],total[j]);
	}
	for(k=3;k<count;k++)  //取并列情況
	{
		if(total[k]==top_3)
		{
			Gotoxy(6+k);
			printf("%-4d%-4s%-21s%-5d%-8.1f%-7.1f%-7.1f%-8.1f%-8.1f%-6.1f\n",3,stu[k].sno,stu[k].name,stu[k].age,
				stu[k].score[0],stu[k].score[1],stu[k].score[2],stu[k].score[3],stu[k].score[4],total[k]);
			continue;
		}
	}
	if(count==1)
	{
		for(i=0;i<=2;i++)
		{
			Gotoxy(0,7+i);
			printf("%*s",80," ");
		}		
	}
	if(count==2)
	{
		for(i=0;i<2;i++)
		{
			Gotoxy(0,8+i);
			printf("%*s",80," ");
		}
	}
	Gotoxy(0,19);
	printf("Pleased key to continue ...");
	fflush(stdin);
	getch();
}
/*****************************************************************
***函數名:main
***參數:無
***返回值:return 0
*****************************************************************/	 	
int main()
{
	SetColor(39,42);
	system("cls");
	Welcome();
	for(;;)
		MenuList();
	return 0;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久久国产精品麻豆ai换脸| 国产精品久久久久精k8| 亚洲激情校园春色| 亚洲一区二区美女| 亚洲国产精品一区二区尤物区| 欧美丰满高潮xxxx喷水动漫| 日本欧美一区二区三区乱码| 精品国产乱码久久| 欧美午夜精品久久久久久超碰| 国产自产视频一区二区三区| 欧美激情一区二区三区不卡| 成人av综合在线| 日本不卡的三区四区五区| 日本va欧美va瓶| 日本亚洲最大的色成网站www| 国产目拍亚洲精品99久久精品| www.一区二区| 国产一区二区91| 一区二区三区四区在线播放| 日韩精品影音先锋| 亚洲国产精品久久久男人的天堂| 在线成人免费视频| 国产a视频精品免费观看| 天堂在线亚洲视频| 久久亚洲影视婷婷| 久久亚洲一级片| 欧美日韩aaa| 欧洲另类一二三四区| 97久久人人超碰| 极品销魂美女一区二区三区| 亚洲大型综合色站| 亚洲精品视频观看| 久久综合色8888| 久久综合99re88久久爱| 男女激情视频一区| 成人高清视频在线观看| 成人av免费在线观看| 久久99国产乱子伦精品免费| 国产精品热久久久久夜色精品三区 | 国产日韩欧美a| 亚洲一区二区三区不卡国产欧美| 国产主播一区二区三区| 日韩国产高清在线| 亚洲天堂中文字幕| 91麻豆精品秘密| 黄网站免费久久| 国产精品久久久久久久岛一牛影视| 成人h精品动漫一区二区三区| 亚洲另类在线制服丝袜| 欧美日韩一区二区欧美激情| 蜜桃久久av一区| 麻豆久久一区二区| 中文字幕日韩欧美一区二区三区| 久久国产视频网| www一区二区| 欧美一区二区三区四区在线观看| 国产中文一区二区三区| 日韩一区二区在线观看视频 | 亚洲人成在线观看一区二区| 激情图片小说一区| 久久久久国色av免费看影院| 亚洲日本在线看| 午夜伦欧美伦电影理论片| 91国模大尺度私拍在线视频| 国产在线播精品第三| 成人欧美一区二区三区白人| 久久av老司机精品网站导航| 日韩一区二区三区电影在线观看| 亚洲国产高清在线观看视频| 亚洲国产一区二区视频| 91丝袜呻吟高潮美腿白嫩在线观看| 日韩av一区二区三区四区| 91蝌蚪porny| 亚洲福中文字幕伊人影院| 日韩三级中文字幕| 亚洲欧美日韩电影| 97国产一区二区| 亚洲欧洲精品一区二区三区| 97精品国产露脸对白| 最新高清无码专区| 欧美韩国日本综合| 欧美大片在线观看一区| 在线精品视频一区二区三四| 国产999精品久久久久久绿帽| 日日摸夜夜添夜夜添精品视频 | 色综合一区二区| 日韩午夜激情电影| 另类综合日韩欧美亚洲| 亚洲123区在线观看| 美女久久久精品| 久久久久88色偷偷免费| 日韩国产高清影视| 国产一区二区三区观看| av资源网一区| 成人小视频在线观看| 午夜av电影一区| 午夜精品爽啪视频| 国产成人一区在线| 国产综合色精品一区二区三区| 国产精品美女久久久久久| 成人美女视频在线看| 激情综合亚洲精品| 亚洲成人av电影| 亚洲成人1区2区| 蜜臀久久99精品久久久画质超高清 | 精品一区免费av| 美国十次了思思久久精品导航| 成人av免费网站| 91国产丝袜在线播放| 久久久久国产精品麻豆ai换脸| 亚洲综合一区二区三区| 亚洲美女视频在线观看| 亚洲影视在线播放| 成人的网站免费观看| 成人免费毛片嘿嘿连载视频| 国产精品一区二区在线观看不卡 | 久久精品99久久久| 亚洲欧美一区二区三区孕妇| 亚洲高清一区二区三区| 麻豆传媒一区二区三区| 欧美中文字幕亚洲一区二区va在线 | 91麻豆免费视频| 色综合中文字幕| 日韩欧美国产成人一区二区| 蜜臀av一区二区在线免费观看| 日韩精品电影在线| 免费亚洲电影在线| 成人黄色一级视频| 欧亚洲嫩模精品一区三区| 中文字幕在线观看一区| 日本最新不卡在线| 欧美精品乱人伦久久久久久| 中文字幕不卡一区| 欧美午夜宅男影院| 国产精品伦一区二区三级视频| 美国毛片一区二区| 4438x成人网最大色成网站| 最新国产の精品合集bt伙计| 免播放器亚洲一区| 制服丝袜亚洲播放| 国产91精品精华液一区二区三区 | 欧美日韩国产一区二区三区地区| 国产又黄又大久久| 欧美久久久久免费| 成人免费的视频| 国产欧美视频一区二区三区| 成人午夜精品在线| 亚洲综合一区在线| 亚洲香肠在线观看| 欧美韩国日本综合| 99麻豆久久久国产精品免费| 亚洲欧美二区三区| 久久久久久久久一| 欧美调教femdomvk| 一本大道久久a久久精二百| 精品影视av免费| 国产麻豆视频一区二区| 综合分类小说区另类春色亚洲小说欧美| 欧美日韩精品一区二区天天拍小说 | 国产综合色精品一区二区三区| 久久成人av少妇免费| 亚洲天堂网中文字| 久久精品一区二区三区不卡牛牛| 一本色道a无线码一区v| 免费在线一区观看| 精品一区二区三区在线播放| 精品国产网站在线观看| 欧美一区二区久久| 国产欧美日韩综合精品一区二区| 欧美日韩日本视频| 色婷婷综合久色| 成人精品国产一区二区4080| jlzzjlzz亚洲日本少妇| www.亚洲免费av| 成人免费看片app下载| 国产精品自拍毛片| 偷拍与自拍一区| 亚洲激情一二三区| 综合在线观看色| 亚洲激情av在线| 国产真实乱子伦精品视频| 国产精品毛片久久久久久 | 欧美日韩精品久久久| 在线成人av影院| 久久久激情视频| 亚洲成av人综合在线观看| 天天综合日日夜夜精品| 亚洲成人一区二区| 欧美日韩精品高清| 天天色天天爱天天射综合| 精品一区二区在线免费观看| www.性欧美| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 9191国产精品| 水蜜桃久久夜色精品一区的特点| 欧洲另类一二三四区| 久久国产成人午夜av影院| 国产欧美日韩在线看| 欧美日韩精品一区二区三区蜜桃| 日韩制服丝袜先锋影音|