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

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

?? 課題參考6.txt

?? C語言課題參考資料 C語言課題參考資料
?? TXT
字號:
C語言學生管理系統源碼

/*-------------1-------------*/
#i nclude<bios.h> 
#i nclude<dos.h> /*頭文件*/
#i nclude<conio.h>
#i nclude<ctype.h>
#i nclude<process.h>
#i nclude<stdlib.h>
#i nclude<stdio.h>
#i nclude<string.h>

#define NULL 0
#define ESC 0x001b /* 退出 */
#define F1 0x3b00 /* 查看幫助信息,調用HelpMassage()函數 */
#define F2 0x3c00 /*輸入學生成績*/
#define F3 0x3d00 /*按學號查找*/
#define F4 0x3e00 /*按姓名查找*/
#define F5 0x3f00 /*列出所有學生成績*/
#define F6 0x4000 /*統計*/

struct stuType /*定義結構體變量*/
{
char NO[11]; /*學號長度為10*/ 
char XM[10];
float CJ[4]; /*包含4門成績*/
};

/*-------------2-------------*/
int JY_NO(char *stu_num,FILE *fp) /*檢驗學號的正確性*/
{ struct stuType stud;
int NO;
char *p=stu_num;
if(strcmp(stu_num,"#")==0) return 1; /*若輸入"#"返回真值,不再循環輸入*/
while(*p!='''') /*學號必須是數字,否則返回重新輸入*/
{ NO=(int)*p;
if(NO<48||NO>57)
{ puts("ttt非法學號!請重新輸入!n");
return 0;
}
else p++; /*指針加1*/
}
if(strlen(stu_num)!=10) /*若學號長度不為10,則返回重新輸入*/
{ puts("ttt學號長度不對!n");
return 0;
}
if(getchar()!=''n'') /*若學號后面的字符不是回車符,則學號長度大于10*/
{ printf("ttt學號長度大于10個!請重新輸入!n");
do{}while(getchar()!=''n''); /*用getchar接收多余的字符*/
return 0; 
} 

else
{
rewind(fp); /*使文件指針指向頭*/
while(!feof(fp)) /*若文件指針未到結尾,就繼續執行下面的循環,feof遇到文件結束符返回非零值,否則返回0*/
{ fread(&stud,sizeof(struct stuType),1,fp); /*讀取一定長度的數據*/
if(strcmp(stu_num,stud.NO)==0) /*學號的唯一性*/
{ printf("ttt學號重復,請重新輸入!n");
printf("ttt該學生成績如下:n"); 
printf("ttt語文:%.1fn",stud.CJ[0]);
printf("ttt數學:%.1fn",stud.CJ[1]);
printf("ttt英語:%.1fn",stud.CJ[2]);
printf("ttt總評:%.1fn",stud.CJ[3]);
return 0;
}
}
}
return 1;

}

/*-------------3-------------*/
int JY_NO2(char *stu_num) /*檢驗學號*/
{ int NO;
char *p=stu_num; 
if(strcmp(stu_num,"#")==0)return 1; /*若輸入“#”,則返回真值結束*/
if(strlen(stu_num)!=10) /*學號長度為10*/
{ puts("ttt學號長度不對!n");
return 0;
}
while(*p!='''') /*學號必須用數字,若包含有字母,或其它字符則返回假值重新輸入*/
{ NO=(int)*p;
if(NO<48||NO>57)
{ puts("ttt非法學號!請重新輸入!n");
return 0;
}
else p++; /*指針加1*/
}
if(getchar()!=''n'') /*檢驗學號長度是否大于10,并把多余的字符去掉*/
{ printf("ttt學號長度大于10個!請重新輸入!n"); 
do{}while(getchar()!=''n'');
return 0; 
} 
return 1;
}

/*-------------4-------------*/
int JY_XM(char *stu_XM) /*檢驗姓名*/
{ int PD;
char *p;
p=stu_XM;
while(*p!='''') /*姓名只能用中文*/
{ 
PD=(int)*p;
if(PD>0)
{ puts("ttt姓名只能用中文,請重新輸入!n");
return 0;
}
else p++; /*使指針加1,指向下一漢字*/
}
if(getchar()!=''n'') /*姓名長度不得大于5個*/
{ printf("ttt姓名長度大于5個!請重新輸入!n");
do{}while(getchar()!=''n'');
return 0; 
} 
return 1; /*字符串全為漢字返回真*/

}

/*-------------5-------------*/
int JY_CJ(float stu_CJ) /*學生成績只能在0~100之間*/
{ 
if(stu_CJ<0||stu_CJ>100)
{ printf("ttt輸入錯誤,成績只能在0~100之間!n");
return 0;
}
return 1;
}

/*-------------6-------------*/
void CreatFile() /*輸入文件*/
{ FILE *fp;
struct stuType stu,stu0={"","",}; /*對stu0先賦值*/
fp=fopen("stu.dat","wb+"); /*打開或創建一個二進制文件,打開時將原來的內容刪除*/
if(fp==NULL)
{ printf("ttt文件打開失敗!nttt按任意鍵返回...");
getch();
return;
}
else
{ while(1)
{ stu=stu0;
do{ printf("nttt請輸入學號:"); /*輸入學號并檢驗其正確性*/
scanf("%10s",stu.NO);
}while(!JY_NO(stu.NO,fp));
if(strcmp(stu.NO,"#")==0)break;
do{ printf("nttt請輸入姓名:"); /*輸入姓名并檢驗其正確性*/
scanf("%10s",stu.XM);
}while(!JY_XM(stu.XM));
do{ printf("nttt請輸入語文成績:"); /*輸入成績并檢驗其正確性*/
scanf("%f",&stu.CJ[0]);
}while(!JY_CJ(stu.CJ[0]));
do{ printf("nttt請輸入數學成績:"); /*同上*/
scanf("%f",&stu.CJ[1]);
}while(!JY_CJ(stu.CJ[1]));
do{ printf("nttt請輸入英語成績:");
scanf("%f",&stu.CJ[2]);
}while(!JY_CJ(stu.CJ[2]));
do{ printf("nttt請輸入總評成績:");
scanf("%f",&stu.CJ[3]);
}while(!JY_CJ(stu.CJ[3]));
fwrite(&stu,sizeof(struct stuType),1,fp); /*寫文件*/
}

}
fclose(fp); /*關閉文件*/

}

/*-------------7-------------*/
void Search_Xuehao() /*按學號查詢*/
{ FILE *fp;
int flag;
struct stuType stu,stud;
fp=fopen("stu.dat","rb");
if(fp==NULL) /*若文件打不開則輸出下面的信息*/
{ printf("ttt文件打開失敗!nttt按任意鍵返回...");
getch();
return;
}
else
{ do{ puts("nttt輸入“#”結束查詢");
do{ printf("ttt請輸入要查詢的學號:");
scanf("%10s",stu.NO);
}while(!JY_NO2(stu.NO));
if(strcmp(stu.NO,"#")==0)break; /*若輸入“#”則結束循環*/
flag=0;
rewind(fp);
while(fread(&stud,sizeof(struct stuType),1,fp)) /*檢查文件指針結束*/
{ if(strcmp(stu.NO,stud.NO)==0) /*比較學號*/
{ puts("ttt該學生成績如下:");
printf("ttt學號:%sn",stud.NO);
printf("ttt姓名:%sn",stud.XM);
printf("ttt語文:%.1fn",stud.CJ[0]);
printf("ttt數學:%.1fn",stud.CJ[1]);
printf("ttt英語:%.1fn",stud.CJ[2]);
printf("ttt總評:%.1fn",stud.CJ[3]);
flag=1; /*記錄學號是否查到*/
}
}
if(flag==0)puts("ttt無此學號!");
}while(strcmp(stu.NO,"#")!=0);
} 
fclose(fp); /*關閉文件*/

}

/*-------------8-------------*/
void Search_Xingming() /*按姓名查找*/
{ FILE *fp;
int flag=0;
struct stuType stu,stud;
fp=fopen("stu.dat","rb");
if(fp==NULL)
{ printf("ttt文件打開失敗!nttt按任意鍵返回...");
getch();
return;
}
else
{ do{
do{ printf("ttt請輸入要查詢的學生姓名:");
scanf("%10s",stu.XM);
}while(!JY_XM(stu.XM));
rewind(fp); /*文件指針指向頭*/
while(fread(&stud,sizeof(struct stuType),1,fp))
{ if(strcmp(stu.XM,stud.XM)==0) /*比較姓名是否相同*/
{ puts("ttt該學生姓名如下:");
printf("ttt學號:%sn",stud.NO);
printf("ttt姓名:%sn",stud.XM);
printf("ttt語文:%.1fn",stud.CJ[0]);
printf("ttt數學:%.1fn",stud.CJ[1]);
printf("ttt英語:%.1fn",stud.CJ[2]);
printf("ttt總評:%.1fn",stud.CJ[3]);
flag=1; /*記錄姓名是否被查到*/
}
}
if(flag==0)puts("nttt無此學生!");
puts("ttt是否繼續(y--繼續,其他返回)?");
}while(getch()==''y'');
}
fclose(fp); 
/* puts("ttt請按任意鍵繼續...");*/
/* getch();*/

}

/*-------------9-------------*/
int ListFile(void) /*輸出文件,列出所有學生成績*/
{ FILE *fp;
int REC=0; /*記錄學生人數*/
struct stuType stu;
fp=fopen("stu.dat","rb");
if(fp==NULL)
{ printf("ttt文件打開失敗!nttt按任意鍵返回...");
getch();
return 1;
}
else{ printf("ttt學生成績如下:n");
printf("ttt學號tt姓名t語文t數學t英語t總評n");
rewind(fp);
while(fread(&stu,sizeof(struct stuType),1,fp)) 
{ /*每讀取一個長度的數據就輸出*/
printf("ttt%s",stu.NO);
printf("t%s",stu.XM); 
printf("t%.1f",stu.CJ[0]); 
printf("t%.1f",stu.CJ[1]); 
printf("t%.1f",stu.CJ[2]);
printf("t%.1f",stu.CJ[3]);
printf("n");
REC++;
if(REC%20==0) /*每輸出20個學生成績,停一下*/
{ printf("ttt請按任意鍵繼續...n");
getch();
}
}
}
fclose(fp); /*關閉文件*/
printf("ttt請按任意鍵繼續...");
getch();

}

/*-------------10-------------*/
void Statistics() /*統計及格和優秀人數*/
{ FILE *fp;
int REC=0,pass[4]={0},good[4]={0}; /*REC--記錄個數,即人數,pass--及格人數,good--優秀人數*/
float highest[4]={0},score[4]={0}; /*highest--最高分,score--總分*/
struct stuType stu;
fp=fopen("stu.dat","rb");
if(fp==NULL)
{ printf("ttt文件打開失敗!nttt按任意鍵返回...");
getch();
return;
}
else { rewind(fp);
while(fread(&stu,sizeof(struct stuType),1,fp))
{ REC++;
score[0]=score[0]+stu.CJ[0]; /*語文*/
if(stu.CJ[0]>=60)pass[0]++;
if(stu.CJ[0]>=80)good[0]++;
if(highest[0]<stu.CJ[0])highest[0]=stu.CJ[0]; 
score[1]=score[1]+stu.CJ[1]; /*數學*/
if(stu.CJ[1]>=60)pass[1]++;
if(stu.CJ[1]>=80)good[1]++;
if(highest[1]<stu.CJ[1])highest[1]=stu.CJ[1];
score[2]=score[2]+stu.CJ[2]; /*英語*/
if(stu.CJ[2]>=60)pass[2]++;
if(stu.CJ[2]>=80)good[2]++;
if(highest[2]<stu.CJ[2])highest[2]=stu.CJ[2];
score[3]=score[3]+stu.CJ[3]; /*總評*/
if(stu.CJ[3]>=60)pass[3]++;
if(stu.CJ[3]>=80)good[3]++;
if(highest[3]<stu.CJ[3])highest[3]=stu.CJ[3];
}
if(REC==0) /*可以防止記錄為0是REC作除數而造成的錯誤*/
{ printf("ttt未輸入學生記錄!按任意鍵返回...");
getch();
return;
}
else{
printf("tttt 語文t 數學t 英語t 總評n"); /*輸出統計信息*/
printf("ttt平均分: %.1ft %.1ft %.1ft %.1fn",score[0]/REC,score[1]/REC,score[2]/REC,score[3]/REC);
printf("ttt最高分: %.1ft %.1ft %.1ft %.1fn",highest[0],highest[1],highest[2],highest[3]);
printf("ttt優秀人數:%dt %dt %dt %dn",good[0],good[1],good[2],good[3]);
printf("ttt及格人數:%dt %dt %dt %dn",pass[0],pass[1],pass[2],pass[3]); 
}
}
fclose(fp);
printf("nttt請按任意鍵繼續...");
getch();

}

/*-------------11-------------*/
void HelpMessage() 
{ clrscr();
printf("nnnnn 此系統是應老師所布置的作業編制而成,該系統具有存貯學生數據,按學號、姓名查詢,列出學生成績和統計功能。n n 使用方法:系統輸入數據后,將在當前目錄中建立一個名為stu.dat文件,用于保存輸入的數據。學號輸入只能用數字輸入,并且學號只能是10位。姓名輸入符合中國人的姓名,只能用中文,且最長為5個漢字。n 此程序在Turbo C2.0下運行通過nn 由于是初學者,水平有限此系統還有許多不夠完整和嚴密性,敬請指正!");
getch();
}

/*-------------12-------------*/
int GetKey(void) /*此函數返回一個按鍵的數值*/
{ int key; 
key=bioskey(0); /*bioskey為調用BIOS鍵盤接口*/
if(key<<8) /*位移*/
{
key=key&0x00ff;

}
return key; /*返回按鍵*/
}

/*-------------13-------------*/
void main()
{ int key;
struct date d; /*定義時間結構體*/
getdate(&d); /*讀取系統日期并把它放到結構體d中*/
clrscr(); /*清除屏幕*/
printf("nnnnn"); 
printf("ttt****************************n"); /*版本信息*/
printf("ttt 學生成績管理系統1.0 n");
printf("ttt****************************n");
printf("ttt 制作群: 404+1工作室 n");
printf("ttt 指導老師:--- n");
printf("ttt 制作時間:2004年5月 n");
printf("ttt****************************n");
printf("ttt請按任意鍵繼續...");
/*while(!kbhit());*/
getch(); /*從鍵盤讀取一個字符,但不顯示于屏幕*/ 
system("cls"); /*調用DOS的清屏函數,TC中可用clrscr代替*/
while(1) /*主菜單*/
{ 
printf("nnnnn");
printf("ttt************************************n");
printf("ttt**tF1 --幫助 **n");
printf("ttt**tF2 --輸入數據并存入文件 **n");
printf("ttt**tF3 --根據學號查詢成績 **n");
printf("ttt**tF4 --根據姓名查詢成績 **n");
printf("ttt**tF5 --輸出文件內容 **n");
printf("ttt**tF6 --統計及格和優秀人數 **n");
printf("ttt**tESC--退出系統 **n");
printf("ttt************************************n");
printf("nttt請輸入選項tt%d年%d月%d日nn",d.da_year,d.da_mon,d.da_day); /*提示信息,并顯示當前系統日期*/
key=GetKey(); /*調用自定義函數,讀取一個鍵*/
switch(key)
{
case F1: HelpMessage(); break;
case F2: CreatFile(); break;

case F3: Search_Xuehao(); break;
case F4: Search_Xingming();break;
case F5: ListFile(); break;
case F6: Statistics(); break;
case ESC:exit(1); break;
/*default: puts("ttt輸入錯誤選項!");
printf("ttt按任意鍵返回...");
getch();*/
}
clrscr(); /*每執行完一項功能后,自動清屏*/
}

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产午夜精品一区二区三区嫩草| 欧美人狂配大交3d怪物一区| 国产成人在线视频网址| 色一情一伦一子一伦一区| 欧美成人性福生活免费看| 一区二区三区四区在线| 精品亚洲porn| 欧美aⅴ一区二区三区视频| 亚洲乱码一区二区三区在线观看| 最好看的中文字幕久久| 亚洲精品水蜜桃| 亚洲靠逼com| 午夜电影网一区| 亚洲手机成人高清视频| 日韩欧美一级特黄在线播放| 日韩午夜激情视频| 欧美日韩一二三| 日韩欧美美女一区二区三区| 91在线码无精品| 亚洲黄色尤物视频| 1区2区3区精品视频| 久久精品在这里| 国产精品欧美经典| 奇米777欧美一区二区| 国产成人日日夜夜| 久久综合九色综合97婷婷| 亚洲综合精品久久| 波多野结衣一区二区三区 | 日韩精品一级二级 | 欧洲色大大久久| 久久久久一区二区三区四区| 国产午夜精品一区二区| 亚洲国产视频一区二区| 国产一区二区不卡老阿姨| 国产精品综合二区| 在线观看国产一区二区| 日本一区二区免费在线观看视频| 亚洲综合成人在线| 午夜欧美大尺度福利影院在线看| 麻豆精品精品国产自在97香蕉| 日韩写真欧美这视频| 日韩一级高清毛片| 国产亚洲精品久| 午夜精品成人在线视频| 色综合天天综合网天天狠天天| 中文字幕免费一区| 成人v精品蜜桃久久一区| 亚洲精品成a人| 欧美日韩免费在线视频| 欧美xfplay| 久久99精品久久只有精品| 欧美日韩精品系列| 国产欧美一区二区在线| 中文字幕av免费专区久久| 国内外成人在线| 紧缚奴在线一区二区三区| 亚洲一区二区精品久久av| 欧美中文字幕一区二区三区| 日韩伦理电影网| 精品国产91乱码一区二区三区 | 中文字幕一区二区视频| 在线观看网站黄不卡| 日日骚欧美日韩| 国产视频视频一区| 欧美性三三影院| 国产不卡在线一区| 亚洲成人一区在线| 国产午夜亚洲精品午夜鲁丝片| 波多野结衣91| 免费xxxx性欧美18vr| 中文字幕免费在线观看视频一区| 欧洲视频一区二区| 国产999精品久久久久久绿帽| 亚洲与欧洲av电影| 欧美激情一区二区| www久久精品| 欧美日韩国产综合视频在线观看| 图片区小说区区亚洲影院| 久久亚洲欧美国产精品乐播| 欧美日韩在线不卡| 91在线观看视频| 国产在线不卡一卡二卡三卡四卡| 亚洲另类在线一区| 中文字幕 久热精品 视频在线| 欧美一区二区三区系列电影| 色诱亚洲精品久久久久久| 国产成人免费高清| 免费成人性网站| 麻豆国产91在线播放| 人人精品人人爱| 奇米综合一区二区三区精品视频| 一区二区三区在线视频播放| 国产精品视频第一区| 久久久一区二区| 欧美激情一区二区在线| 日本一区二区三区国色天香| 国产三级一区二区三区| 久久亚洲精华国产精华液| 2023国产一二三区日本精品2022| 日韩三级伦理片妻子的秘密按摩| 欧美xxxxx牲另类人与| 日韩色在线观看| 2020国产成人综合网| 国产欧美1区2区3区| 亚洲欧洲精品一区二区三区| 亚洲欧洲日韩av| 免费观看30秒视频久久| 激情六月婷婷久久| 色综合久久88色综合天天免费| av电影在线观看一区| 欧美一区日韩一区| 久久九九99视频| 日本免费新一区视频| 免费一级欧美片在线观看| 国产91精品欧美| www一区二区| 亚洲成a人片综合在线| 美女一区二区三区| 色综合网站在线| 国产三级欧美三级| 日韩国产欧美在线观看| 成人性生交大片免费看视频在线| 日本韩国视频一区二区| 亚洲精品一区二区三区香蕉| 亚洲宅男天堂在线观看无病毒| 免费国产亚洲视频| 欧美三级欧美一级| 亚洲人午夜精品天堂一二香蕉| 麻豆精品视频在线| 91精品国产高清一区二区三区| 亚洲精品免费播放| 欧洲人成人精品| 一区二区三区中文在线观看| av欧美精品.com| 中文字幕乱码日本亚洲一区二区 | 国产精品久久久久一区二区三区| 青青草精品视频| 欧美日韩国产三级| 一区二区三区国产精品| 色屁屁一区二区| 夜夜嗨av一区二区三区中文字幕| 色丁香久综合在线久综合在线观看| 国产亚洲成av人在线观看导航 | 99久久综合国产精品| 国产精品久久久久天堂| 91免费看`日韩一区二区| 亚洲色图一区二区| 欧美乱妇15p| 国产成人自拍网| 亚洲一区中文在线| 欧美一区二区三区公司| 国产麻豆精品在线观看| 亚洲女爱视频在线| 日韩欧美亚洲一区二区| 93久久精品日日躁夜夜躁欧美| 亚洲欧美在线视频| 日韩欧美不卡在线观看视频| 国产精品一品视频| 视频一区在线播放| 日本一区二区三区dvd视频在线| 在线观看日韩国产| 丰满少妇在线播放bd日韩电影| 亚洲精品一二三区| 国产视频一区二区在线观看| 欧美日韩激情一区二区| 国产老女人精品毛片久久| 亚洲精品国产一区二区精华液| 久久久亚洲精品石原莉奈 | 91麻豆精品91久久久久同性| 国产一区二区三区综合| 亚洲成人在线网站| 亚洲男人的天堂在线观看| 国产精品嫩草影院com| 欧美岛国在线观看| 欧美成人在线直播| 91精品国产全国免费观看| 欧美影院一区二区| 欧美日韩专区在线| 欧美综合亚洲图片综合区| 成人18视频在线播放| 国产**成人网毛片九色| 大桥未久av一区二区三区中文| 久久99精品久久久久久国产越南| 亚洲国产成人porn| 日韩精品免费专区| 韩国一区二区三区| 成人av在线资源| 91免费看`日韩一区二区| 99精品国产99久久久久久白柏| 色呦呦网站一区| 欧美性一二三区| 欧美不卡一区二区三区四区| 精品日韩欧美在线| 最新久久zyz资源站| 亚洲一区二区三区在线| 亚洲成人午夜影院| 国产在线国偷精品产拍免费yy| 成人动漫在线一区| 欧美三级视频在线| 国产亚洲污的网站|