日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

C语言实现教务管理系统

發布時間:2024/3/24 windows 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言实现教务管理系统 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、工具源文件

1.學生、教師、校長結構體 mis.h

// mis 信息管理系統 // mis.h #ifndef MIS_H #define MIS_H#define MAX_TEA 50 //不要用MAX遍歷 #define MAX_STU 500typedef struct Student {int firstlogin; // 是否是第一次登入int id; // 學號char password[20]; // 密碼char name[20]; // 姓名char sex; double chinese; // 語文成績double math; // 數學成績double english; // 英語成績int count; // 計算密碼輸入次數int flag; // 狀態:1,在校。-1,離校。0,該條記錄無數據,或未使用 }Student;typedef struct Teacher//聲明教師的結構體,用來存放教師的基本信息 {char name[20]; //教師的名字char sex; //教師的性別int id; //教師登陸系統的工號Student* stu;char password[20]; //教師登陸系統的密碼int count; //教師登錄系統輸錯密碼的次數int firstlogin; //判斷是否第一次登錄int flag; //判斷是否在校 }Teacher;typedef struct admin{int firstlogin; // 是否是第一次登入char password[20]; // 密碼}Admin;extern Teacher* tea; extern Student* stu; #endif //MIS_H

? ? ? ? 工具函數tools.c

#include <stdio.h> #include <stdlib.h> #include "tools.h" #include <getch.h> #include <unistd.h> #include <string.h> #include "mis.h" #include "admin.h" #include <malloc.h> Teacher* tea; Student* stu; extern int teacher_count; void msg_show(const char* msg, float sec)//短暫顯示提示信息 {printf("%s",msg);fflush(stdout);usleep(sec*1000000); } void anykey_continue(void)//按任意鍵繼續 {puts("按任意鍵繼續...");stdin->_IO_read_ptr = stdin->_IO_read_end;getch(); } char* hidden_input(void)//隱藏式輸入密碼,用法:strcpy(*dest,hidden_input()),輸入密碼到給定字符串里 {stdin->_IO_read_ptr = stdin->_IO_read_end;//清空緩沖區static char p[21]={};int i=0;do{p[i]=getch();if(10==(int)p[i])//是回車{p[i]='\0'; break;}if((int)p[i]==127)//是退格{if(0==i){printf("\a");continue;}i=i-1;printf("\b \b");}else{i=i+1;if(20!=i){printf("*");}else{i=i-1;}}}while('\n'!=p[i] && i<20);printf("\n");if('\0'==p[0]){printf("密碼為空,已自動置為初始密碼\n");strcpy(p,"123456");anykey_continue();}return p; }//讀文件teacher.txt void tea_read(void) {FILE* frp = fopen("teacher.txt","r");//以只讀權限打開文件if(NULL == frp)//判斷文件有沒有{perror("frp: fopen");return ;}for(int j=0;j < teacher_count;j++){fscanf(frp,"%s %c %d %d %d %d %s\n",tea[j].name,&tea[j].sex,&tea[j].id,&tea[j].count,&tea[j].firstlogin,&tea[j].flag,tea[j].password);//在文件中讀取數據到變量中}fclose(frp);//關閉文件frp = NULL;encryption2(-8); }//讀文件student.txt void stu_read(void) { FILE* frp=fopen("student.txt","r"); if(NULL==frp){printf("系統正在維護!");sleep(1);//anykey_continue();return;}char row[sizeof(Student)];int i=0;while(NULL!=fgets(row,sizeof(Student),frp)){sscanf(row,"%d %d %s %s %c %lf %lf %lf %d %d",&stu[i].firstlogin,&stu[i].id,stu[i].password,stu[i].name,&stu[i].sex,&stu[i].chinese,&stu[i].math,&stu[i].english,&stu[i].count,&stu[i].flag);i++;}fclose(frp);frp=NULL;encryption3(-8); }//保存文件student.txt void stu_save(void) {encryption3(8);FILE* fwp=fopen("student.txt","w");//寫方式打開文件for(int i=0;i<MAX_STU;i++){if('w'==stu[i].sex||'m'==stu[i].sex)//性別存在,寫入{fprintf(fwp,"%d %d %s %s %c %lf %lf %lf %d %d\n",stu[i].firstlogin,stu[i].id,stu[i].password,stu[i].name,stu[i].sex,stu[i].chinese,stu[i].math,stu[i].english,stu[i].count,stu[i].flag);} //更新文件數據}fclose(fwp);fwp=NULL; }//保存文件teacher.txt void tea_save(void) {encryption2(8);FILE* ftp = fopen("teacher.txt","w");//以只寫權限打開文件,如果存在則清空打開,不存在則新建if(NULL == ftp){perror("frp: fopen");return;}for(int j = 0;j<teacher_count;j++) {if(tea[j].id){fprintf(ftp,"%s %c %d %d %d %d %s\n",tea[j].name,tea[j].sex,tea[j].id,tea[j].count,tea[j].firstlogin,tea[j].flag,tea[j].password);//以文本形式輸入數據到文件中} }fclose(ftp);//關閉文件ftp = NULL; } //輸入字符串并將末尾的\n變為\0 void my_fgets(char* str,int size) {stdin->_IO_read_ptr = stdin->_IO_read_end;fgets(str,size,stdin); str[strlen(str)-1]='\0'; //將\n置為\0 stdin->_IO_read_ptr = stdin->_IO_read_end; } //加密解密 void encryption1(char key) {for(int i=0;i<19;i++){ad.password[i]+=key;}ad.password[19]='\0'; } void encryption2(char key) { //教師密碼加密for(int i=0; tea[i].flag ;i++){for(int j=0; j < strlen(tea[i].password) ;j++){tea[i].password[j]+=key;}} }void encryption3(char key)//學生密碼加密 { for(int i=0; stu[i].flag ;i++){for(int j=0; j < strlen(stu[i].password) ;j++){stu[i].password[j]+=key;// printf("%c\n",stu[i].password[j]);}} }int id_fgets(char*str,int size) {stdin->_IO_read_ptr = stdin->_IO_read_end;//清空緩沖區fgets(str,size,stdin);str[strlen(str)-1]='\0';//將末尾\n置為\0stdin->_IO_read_ptr = stdin->_IO_read_end;//printf("\n\n%s:%d\n\n",str,atoi(str)+10);return atoi(str); }

? ? ? ? tools.h

#ifndef TOOLS_H #define TOOLS_Hvoid msg_show(const char* msg,float sec);//短暫顯示提示信息 void anykey_continue(void);//按任意鍵繼續 char* hidden_input(void);//隱藏式輸入密碼,用法:strcpy(*dest,hidden_input()),輸入密碼到給定字符串里 void tea_read(void); void stu_read(void); void tea_save(void); void stu_save(void); void my_fgets(char* str,int size); void encryption1(char key); void encryption2(char key); void encryption3(char key); int id_fgets(char*str,int size); #endif//TOOLS_H

?

二、功能函數源文件

1.主函數:申請內存、顯示主界面 main.c

#include "mis.h" #include "process.h" #include "student.h" #include "teacher.h"int main(void) {stu=calloc(sizeof(Student),MAX_STU); //為學生結構體申請內存tea=calloc(sizeof(Teacher),MAX_TEA); //申請內存過多 改*/do{system("clear");puts("*****教務管理系統*****\n");puts("1、校長端\n");puts("2、教師端\n");puts("3、學生端\n");puts("4、退出系統\n");puts("********************\n");puts("請選擇功能:\n");switch(getch()){case '1':admin_main(); //校長系統break;case '2':tea_login(); //教師系統break;case '3':stu_login(); //學生系統break;case '4':free(tea); //釋放內存free(stu);return 0;}stdin->_IO_read_ptr=stdin->_IO_read_end; }while(1); }

2.校長端

????????功能源代碼:admin.c

#include "admin.h" #include <stdio.h> #include <unistd.h> #include "tools.h" #include "process.h" #include <string.h> #include <getch.h>Admin ad; int teacher_count=0; // 計算教師人數 void teacher_add(void) //添加教師 { if(MAX_TEA <= teacher_count) //判斷教師的最大人數是否達到最大值{puts("系統正在升級,請等待...");return ;}printf("請輸入新教師的姓名:");for(;;){my_fgets(tea[teacher_count].name,21); printf("請選擇性別w/m(女/男):\n");while(1){stdin->_IO_read_ptr=stdin->_IO_read_end;int sex=getch();printf("%c\n",sex);switch(sex) //為教師結構體的sex成員賦值{case 'm':tea[teacher_count].sex='m';break;case 'w':tea[teacher_count].sex='w';break;default:stdin->_IO_read_ptr=stdin->_IO_read_end;printf("請重新選擇性別w/m:\n");//判讀非法輸入continue; }break; }break; }tea[teacher_count].firstlogin = 0; //默認教師第一次登錄strcpy(tea[teacher_count].password,"123456");//設置默認密碼tea[teacher_count].id = 100+teacher_count;//默認自動生成帳號tea[teacher_count].flag=1;teacher_count++; //如果添加成功,則總教師人數加一 msg_show("添加教師成功!\n",1.5); }void teacher_reset(void) //重置教師的密碼 {int num;printf("請輸入要重置密碼老師的工號:");scanf("%d",&num); //輸入重置密碼的工號for(int j=0;j<teacher_count;j++)//通過for循環查找所輸入的工號是否為有效工號{if(tea[j].id == num) //判斷工號是否存在{strcpy(tea[j].password,"123456"); //將新密碼替換舊的密碼msg_show("重置成功!",1.5);return;}}msg_show("工號有誤!\n",1.5); } void teacher_del(void) //刪除教師 {int num ;printf("請輸入要刪除老師的工號:");scanf("%d",&num);for(int j=0;j<teacher_count;j++)//通過for循環查找老師工號判斷輸入工號是否為有效工號{if(tea[j].id == num) //如果是有效工號{tea[j].flag = -1;//將is_school改為1,則為離職教師 msg_show("刪除成功!\n",1.5);return;}}msg_show("未查找到該工號!\n",1.5); }void teacher_display_in(void) //在屏幕中顯示在職教師 {printf("姓名 性別 工號\n");for(int j=0; j<teacher_count; j++)//通過for循環判斷列表中教師的工號是否為正{if(1 == tea[j].flag) {printf("%-9s %s %-4d\n",tea[j].name,'w'==tea[j].sex?"女":"男",tea[j].id); }}anykey_continue(); //按任意鍵繼續 }void teacher_display_out(void) //在屏幕中顯示離職教師 {printf("姓名 性別 工號\n");for(int j=0; j<teacher_count; j++)//通過for循環判斷列表中教師的工號是否為負{if(-1 == tea[j].flag) {printf("%-9s %s %-4d\n",tea[j].name,'w'==tea[j].sex?"女":"男",tea[j].id); } //輸出離職教師}anykey_continue(); //按任意鍵繼續 }void teacher_unlock(void) //解鎖教師帳號 {int num;printf("請輸入要解鎖的教師工號:");scanf("%d",&num); // 輸入要重置密碼的帳號for(int j=0;j<teacher_count;j++)//通過for循環判斷輸入的工號是否有效{if(num == tea[j].id) //判斷帳號{tea[j].count = 0; //將該教師輸錯密碼次數清零msg_show("帳號已解鎖!",1.5);return;}}msg_show("未找到該教師!",1.5); }void admin_reset_code(void) //重置校長密碼 {strcpy(ad.password,"123456");//將密碼重置msg_show("密碼重置成功!\n",1.5);return; }

? ? ? ? ? ? ? ? admin.h

#ifndef ADMIN_H #define ADMIN_H #include "mis.h" extern Admin ad; //聲明Admin結構體 void teacher_reset(void); //重置教師密碼 void teacher_add(void); //添加教師 void admin_reset_code(void); //修改校長密碼 void teacher_del(void); //刪除教師 void teacher_display_in(void); //顯示在職教師 void teacher_display_out(void); //顯示離職教師 void teacher_unlock(void); //解鎖教師帳號 #endif//ADMIN_H

?

????????驅動源代碼:process.c

#include "process.h" #include <malloc.h> extern int teacher_count; void init(void) {FILE* fap = fopen("bossID","r");//以只讀權限打開文件if(NULL == fap) //判斷文件有沒有{perror("frp: fopen");return ;}fscanf(fap,"123456 %s %d %d\n",ad.password,&ad.firstlogin,&teacher_count);//在文件中讀取數據到變量中fclose(fap);//關閉文件fap = NULL;tea_read();encryption1(-8); }void start(void) { int ID;char code_old[20] = {}; //定義一個字符串用來存放第一次輸入的密碼char code[20] = {};char password1[20] = {};char password2[20] = {};for(;;) //進入死循環{ if(0==ad.firstlogin)//如果是第一次登錄系統則強制修改密碼{printf("請輸入帳號:");scanf("%d",&ID);if(123456==ID) //判斷輸入帳號是否正確{ printf("帳號輸入正確!\n");printf("請輸入密碼:");strcpy(code_old,hidden_input());//輸入初始密碼if(0==strcmp(code_old,"123")) //初始密碼為123,判斷初始密碼是否輸入正確{printf("登錄成功!\n");printf("請修改密碼:");strcpy(password1,hidden_input());printf("請再次輸入密碼:");strcpy(password2,hidden_input());if(0 == strcmp(password1,password2)){printf("密碼修改成功!");strcpy(ad.password,password1);ad.firstlogin = 1;//登錄成功,則以后登錄便不再強制修改密碼}else{printf("密碼不一致!請重試!");continue;}}else{printf("密碼錯誤!\n");continue;//初始密碼錯誤,進入下次循環}}else { msg_show("帳號錯誤!\n",1.5);//帳號輸入錯誤,進入下次循環return;}}else{printf("請輸入密碼:");//不是第一次登錄,直接輸入密碼即可strcpy(code,hidden_input());if(0==strcmp(code,ad.password))//如果密碼正確,則進入主菜單{ for(;;)//進入死循環{switch(menu1()){case '1': teacher_reset(); break; //重置教師密碼case '2': teacher_add(); break; //添加教師case '3': teacher_del(); break; //刪除教師case '4': teacher_display_in(); break; //顯示在職教師case '5': teacher_display_out(); break;//顯示離職教師case '6': teacher_unlock(); break; //解鎖教師帳號case '7': admin_reset_code();break; //重置校長密碼case '0': return; //退出系統}}}else {printf("密碼錯誤!\n");//密碼錯誤,進入下次循環continue;}}} } void save(void)//保存數據 { encryption1(8);FILE* fwp = fopen("bossID","w");//以只寫權限打開文件,如果存在則清空打開,不存在則新建if(NULL == fwp){perror("frp: fopen");return ;}fprintf(fwp,"123456 %s %d %d",ad.password,ad.firstlogin,teacher_count);//以文本形式輸入數據到文件中fclose(fwp);//關閉文件fwp = NULL;tea_save(); }int menu1(void)//顯示菜單 {system("clear");puts("****歡迎使用校長管理系統****");puts("1、重置教師密碼");puts("2、添加教師");puts("3、刪除教師");puts("4、顯示所有在職教師");puts("5、顯示所有離職教師");puts("6、解鎖教師帳號");puts("7、重置密碼");puts("0、退出系統");puts("******************************");printf("請輸入指令:");char cmd = getch();printf("%c\n",cmd);return cmd; }void admin_main(void) {init();start();save(); }

? ? ? ? ? ? ? ? process.h

#ifndef PROCESS_H #define PROCESS_H #include <stdio.h> #include "tools.h" #include "admin.h" #include <stdlib.h> #include "process.h" #include <string.h> #include <getch.h> #include "mis.h" void init(void);//讀取文件,初始化 void start(void);//開始功能 void save(void);//保存文件 void admin_main(void); int menu1(void); #endif//PROCESS_H

?

2.教師端

? ? ? ? teacher.c

#include "teacher.h" #include "tools.h" #include "admin.h" int cnt=0; int ret=0; extern int teacher_count; //教師端主菜單功能 1、添加學生 void stu_add(void) {printf("請選擇添加學生的方式:\n");printf("1、單個添加學生信息\n");printf("2、批量導入學生信息\n");switch(getch()){case '1':stu_add_single();break; //按1進入單個添加功能case '2':stu_add_batch();break; //按2進入批量導入功能} }//添加學生二級菜單功能 1、單個添加 void stu_add_single(void) {if(MAX_STU<=cnt){puts("系統正在升級,請等待...");return;}int i=0;while(stu[i].flag) //flag為真代表第i行有數據,跳轉下一行{i++;}printf("請輸入新學生的姓名:");for(;;){my_fgets(stu[i].name,20);printf("請選擇性別w/m(女/男):\n");while(1){stdin->_IO_read_ptr=stdin->_IO_read_end;int sex=getch();printf("%c\n",sex);switch(sex){case 'm':stu[i].sex='m';break;case 'w':stu[i].sex='w';break;default:stdin->_IO_read_ptr=stdin->_IO_read_end;printf("請重新選擇性別w/m:\n");continue; }break; }break;}stu[i].firstlogin=0; //新添加的學生未登錄過教務系統stu[i].id=1000+i; //學號由系統自動產生,為1000+行數strcpy(stu[i].password,"123456"); //學生初始密碼為123456stu[i].count=0; //學生登錄次數置0stu[i].flag=1; //flag置1,表示第i行已填入學生信息cnt++; //對添加的學生計數msg_show("添加成功!\n",1.5); }//添加學生二級菜單功能 2、批量導入 void stu_add_batch(void) {int ret1 = 1,i =cnt;char str[256] = {}; //定義256字節字符串FILE* frp=file_read(); //調用讀文件函數if(NULL==frp){perror("frp:fopen");return;}while(ret1) //ret1表示讀取文件是否成功,成功則繼續循環{ stu[i].firstlogin=0;stu[i].id=1000+i; //自動生成學生帳號strcpy(stu[i].password,"123456"); ret1=(int)fgets(str,50,frp); //從文件中最多輸入49個字符到str中sscanf(str,"%s %c\n",stu[i].name,&stu[i].sex); //從str中解析讀取數據到變量中stu[i].count=0; //默認密碼輸入次數為0stu[i].flag=1; //默認學生為在校生i++; //指向結構體數組里的下一個元素cnt++; //統計學生數量printf("cnt : %d\n",cnt);}printf("cnt : %d\n",cnt);stu[cnt-1].id = 0;stu[cnt-1].flag = 0; //flag置0,表示下次輸入數據時此處可用cnt--; //多了一次循環 cnt=cnt-1fclose(frp); //關閉文件frp=NULL; //frp置空 }//主菜單功能 2、刪除學生 void stu_del(void) {int id1=0,i=0;char str1[6]={};char str2[6]={};printf("請輸入要刪除學生的學號:");id1=id_fgets(str1,6);int id2=0;printf("請再次輸入要刪除學生的學號:");id2=id_fgets(str2,6);while(stu[i].flag) //遍歷結構體{if(id1==id2){if(id2==stu[i].id) //判斷該行結構體有數據 并 帳號存在{stu[i].flag=-1; //flag置-1,表示該學生休學FILE* fwp=fopen("stu_Drop_out.txt","a");if(NULL==fwp){perror("frp: fopen");return;}fprintf(fwp,"%d %s %c\n",stu[i].id,stu[i].name,stu[i].sex);//將結構數據更新到文件中fclose(fwp);fwp=NULL;cnt--;msg_show("刪除成功!\n",1.5);return;}}else {msg_show("兩次輸入學號不一致,請重新進入刪除功能\n",1.5);return;} i++;}msg_show("查無此人,刪除失敗!\n",1.5); }//主菜單功能 3、查找學生 找到一個就return? void stu_find(void) {char key[20]={};printf("請輸入要查找學生的姓名或學號:");my_fgets(key,20); //輸入查詢關鍵字,限制從鍵盤讀入19個字符char str[20]={};int i=0;while(stu[i].flag){ sprintf(str,"%d",stu[i].id); //將結構體中的id數據,以字符串方式存入str中if(strstr(stu[i].name,key)||(!strcmp(str,key))) //判讀姓名和學號{printf("%d %s %s\n",stu[i].id,stu[i].name,'w'==stu[i].sex?"女":"男"); sleep(1);}i++;}msg_show("無更多信息!\n",1.5); return; }//主菜單功能 4、修改學生信息 void stu_mod(void) {printf("請選擇功能:\n");printf("1、修改學生基礎信息\n");printf("2、修改學生成績\n");switch(getch()){case '1':stu_modbase();break;case '2':stu_modscore();break;} }//修改學生信息二級菜單功能 1、修改學生基礎信息 void stu_modbase(void) {int id=0,i=0;char str[6]={};printf("請輸入要修改學生的學號:");id=id_fgets(str,6);while(stu[i].flag) //遍歷結構體{if(id==stu[i].id) //判讀關鍵字是否符合要求{printf("請輸入學生的姓名:");for(;;){my_fgets(stu[i].name,20);printf("請選擇性別w/m(女/男):");while(1){stdin->_IO_read_ptr=stdin->_IO_read_end;int sex=getch();printf("%c\n",sex);switch(sex){case 'm':stu[i].sex='m';msg_show("修改成功!",1.5);return;case 'w':stu[i].sex='w';msg_show("修改成功!",1.5);return;default: //判讀非法字符stdin->_IO_read_ptr=stdin->_IO_read_end;printf("請重新選擇性別w/m:");continue; }break; }break;} }i++;}msg_show("查無此人!\n",1.5); }//修改學生信息二級菜單功能 2、修改學生成績 改! void stu_modscore(void) {int id=0,i=0;char str[6]={};printf("請輸入要修改學生的學號:");id=id_fgets(str,6);printf("%d",id);double score[3]={};while(stu[i].flag) //遍歷結構體{if(1==stu[i].flag&&id==stu[i].id) //按學號修改成績{printf("請重新輸入學生的語文、數學、英語成績:");for(int j=0;j<3;j++){scanf("%lf",&score[j]);//改}if(score[0]>0&&score[0]<100&&score[1]>0&&score[1]<100&&score[2]>0&&score[2]<100) //判斷成績合法{msg_show("修改成績成功!",1.5); stu[i].chinese=score[0];stu[i].math=score[1];stu[i].english=score[2];return;}else{msg_show("修改成績失敗!",1.5);return;}}i++;}msg_show("查無此人!\n",1.5); }//主菜單功能 5、錄入學生成績 void stu_score_input(void) {printf("請選擇錄入成績的方式:\n");printf("1、單個錄入\n");printf("2、批量導入\n");switch(getch()){case '1':score_input_single();break;case '2':score_input_batch();break;} }//錄入學生成績二級菜單功能 1、單個錄入 void score_input_single(void) {int id=0;int i=0;char str[6]={};printf("請輸入要錄入成績學生的學號:");id=id_fgets(str,6);double score[3]={};while(stu[i].flag){ if(id==stu[i].id){printf("請輸入該學生的語文、數學、英語成績:\n");for(int j=0;j<3;j++){scanf("%lf",&score[j]);//改}if(score[0]>0&&score[0]<100&&score[1]>0&&score[1]<100&&score[2]>0&&score[2]<100) //判斷成績合法{msg_show("成績錄入成功!",1.5); stu[i].chinese=score[0];stu[i].math=score[1];stu[i].english=score[2];return;}else{msg_show("輸入成績失敗!",1.5);return;}}i++;}msg_show("查無此人!",1.5); }//錄入學生成績二級菜單功能 2、批量導入 void score_input_batch(void) { typedef struct Score{int id;double chinese; double math; double english;}Score;Score* sco;sco=calloc(sizeof(Score),50);int i=0,j=0;int ret=1;FILE* frp=file_read();if(NULL==frp){perror("frp:fopen");return;}while(ret!=-1){ret=fscanf(frp,"%d %lf %lf %lf\n",&sco[i].id,&sco[i].chinese,&sco[i].math,&sco[i].english);i++;}fclose(frp);frp=NULL;int len = 0;while( stu[len].flag ){for(int i = 0 ; stu[i].flag ; i ++ ){if( stu[len].id == sco[i].id ){stu[len].chinese = sco[i].chinese;stu[len].math = sco[i].math;stu[len].english = sco[i].english;}}len++;} }//主菜單功能 6、重置學生密碼 void stu_reset_password(void) {int id=0,i=0;char str[6]={};printf("請輸入需要重置密碼學生的學號:");id=id_fgets(str,6);while(stu[i].flag){ if(1==stu[i].flag&&id==stu[i].id){strcpy(stu[i].password,"123456"); //重置密碼msg_show("重置成功!\n",1.5);return;}i++;}msg_show("查無此人!",1.5); }//主菜單功能 7、顯示所有在校學生信息 void stu_show(void) {int i=0;while(stu[i].flag){if(1==stu[i].flag) //判讀是否是在校生{printf("學號:%-5d姓名:%-10s 性別:%-4s語文:%-7.2lf數學:%-7.2lf英語:%-7.2lf\n",stu[i].id,stu[i].name,'w'==stu[i].sex?"女":"男",stu[i].chinese,stu[i].math,stu[i].english);}i++;}anykey_continue(); }//主菜單功能 8、顯示所有退學學生信息 void stu_show_quit(void) {int i=0;while(stu[i].flag){if(-1==stu[i].flag) //判斷是否是離校生{printf("學號:%-5d姓名:%-10s性別:%-4s\n",stu[i].id,stu[i].name,'w'==stu[i].sex?"女":"男");}i++;}anykey_continue(); }//首次登錄修改密碼 void tea_changepassword(void) {puts("請輸入新密碼:");char newpass[20];strcpy(newpass,hidden_input());strcpy(tea[ret].password,newpass);msg_show("修改成功!\n",1.5); }//登錄教師端 void tea_login(void) { FILE* fap = fopen("bossID","r");//以只讀權限打開文件if(NULL == fap) //判斷文件有沒有{perror("frp: fopen");return ;}fscanf(fap,"123456 %s %d %d\n",ad.password,&ad.firstlogin,&teacher_count);//在文件中讀取數據到變量中fclose(fap);//關閉文件fap = NULL;tea_read();stu_read();//使用帳號登錄char pass[20]={};char str[4]={};int i=0;int id=0;printf("請輸入帳號(工號):");id=id_fgets(str,5);//printf("%d\n",id);while(i<MAX_TEA){if(id==tea[i].id&&tea[i].sex) //帳號如果存在{if(3==tea[i].count) //是否上鎖{msg_show("您的帳號已上鎖,請找校長解鎖\n",1.5);return;}else{break;}}if(i==MAX_TEA-1){msg_show("帳號不存在!\n",1.5);return;}i++;}//密碼判斷while(1)//隱藏密碼{printf("請輸入密碼:");strcpy(pass,hidden_input());//printf("密碼:%s\n",pass);if(!strcmp(pass,tea[i].password))//密碼正確則退出循環進入下一步{ ret=i;tea[i].count=0;msg_show("登錄成功!\n",1.5);break;}else {tea[i].count++;}if(1==tea[i].count){printf("輸入錯誤,還有兩次機會!\n");}else if(2==tea[i].count){printf("輸入錯誤,還有一次機會!\n");}else if(3==tea[i].count)//輸錯三次,保存上鎖信息,退出登錄{msg_show("密碼輸入錯誤三次,帳號已鎖定,解鎖請校長解鎖!\n",1.5);return;}}//是否初次登錄if (0==tea[ret].firstlogin){printf("初次登錄請修改密碼!\n");tea[ret].firstlogin=1;tea_changepassword();} for(;;){//顯示主界面switch(menu2()){case '1': stu_add(); break;case '2': stu_del(); break;case '3': stu_find(); break;case '4': stu_mod(); break;case '5': stu_score_input(); break;case '6': stu_reset_password(); break;case '7': stu_show();break;case '8': stu_show_quit();break;case '9': stu_unlock();break;case '0': tea_save();stu_save();return;} } }// 教師端主菜單 int menu2(void) {system("clear");puts("—————歡迎使用教務管理系統————");puts(" 1.添加學生");puts(" 2.刪除學生");puts(" 3.查找學生");puts(" 4.修改學生信息");puts(" 5.錄入學生成績");puts(" 6.重置學生密碼");puts(" 7.顯示所有在校學生信息");puts(" 8.顯示所有退學學生信息");puts(" 9.解鎖學生帳號");puts(" 0.退出系統");puts("—————————————————————————————");printf("請輸入指令:");char cmd=getch();printf("%c\n",cmd);return cmd;}FILE* file_read(void) {FILE *frp; //定義文件指針 char filename[50]; //定義一個文件名數組保存文件名 char path[100]={}; //標明文件所在的路徑 char path1[256]={}; //存儲最終的文件讀取路徑printf("請輸入路徑名:\n");scanf("%s",path);printf("請輸入要導入的文件的名字:/filename\n");scanf("%s",filename);stdin->_IO_read_ptr=stdin->_IO_read_end;sprintf(path1,"%s%s",path,filename); //拼接path+filename,形成最終的文件路徑 printf("待導入文件的路徑為:%s\n",path1);frp=fopen(path1,"r"); //打開文件 if(NULL==frp) //判斷打開的文件是否為空,空則報錯 {perror("frp: fopen");sleep(5);return NULL; //返回空}return frp; //返回文件指針frp } void stu_unlock(void) //解鎖學生帳號 {int id=0;int j=0;char str[6]={};printf("請輸入要解鎖的學生學號:");id=id_fgets(str,6);while(stu[j].flag) //通過for循環判斷輸入的學號是否有效{if(id == stu[j].id){stu[j].count = 0; //將該學生輸錯密碼次數清零msg_show("帳號已解鎖!",1.5);return;}j++;}msg_show("未找到該學生!",1.5); }

? ? ? ? teacher.h

#ifndef TEACHER_H #define TEACHER_H#include<stdio.h> #include <stdlib.h> #include <getch.h> #include <string.h> #include "mis.h"//教師登錄 void tea_changepassword(void); //首次登錄修改密碼 void tea_login(void);//功能實現函數 void stu_add(void); //1、添加學生 void stu_add_single(void); //單個 void stu_add_batch(void); //批量void stu_del(void); //2、刪除學生void stu_find(void); //3、查找學生void stu_mod(void); //4、修改學生信息 void stu_modbase(void); void stu_modscore(void);void stu_score_input(void); //5、錄入學生成績 void score_input_single(void); //單個 void score_input_batch(void); //批量void stu_reset_password(void); //6、重置學生密碼 void stu_show(void); //7、顯示所有在校學生信息void stu_show_quit(void); //8、顯示所有退學學生信息//工具函數 int menu2(void); FILE* file_read(void); void stu_save1(void); void tea_save(void); void stu_unlock(void);#endif//TEACHER_H

3.學生端

? ? ? ? student.c

#include"student.h"int id=0;//當前學生所在位置 int stu_cnt=0;//學生個數 //登錄主程序,成功則進入學生界面完成功能 void stu_login(void)// {stu_read();for(int i=0;i<MAX_STU;i++){if(0!=stu[i].flag)stu_cnt++;}char pw[20]={};int ac=0;printf("請輸入帳號(學號):");if(!scanf("%d",&ac)){printf("帳號不存在!\n");anykey_continue();return;}for(id=0;id<stu_cnt;id++){if((ac==stu[id].id)) //帳號如果存在{if(-1==stu[id].flag){msg_show("您的帳號已歸檔!",1.5);//是否退學anykey_continue();return;}else if(3==stu[id].count) //是否上鎖{msg_show("您的帳號已上鎖,請找老師解鎖",1.5);anykey_continue();return;}else {break;}}if(id==stu_cnt-1){printf("帳號不存在!\n");anykey_continue();return;}}//密碼判斷while(1){printf("請輸入密碼:");strcpy(pw,hidden_input());if(!strcmp(pw,stu[id].password))//密碼正確則退出循環進入下一步{stu[id].count=0;break;}else {stu[id].count++;}if(1==stu[id].count){printf("輸入錯誤,還有兩次機會!\n");}else if(2==stu[id].count){printf("輸入錯誤,還有一次機會!\n");}else if(3==stu[id].count)//輸錯三次,保存上鎖信息,退出登錄{printf("密碼輸入錯誤三次,帳號已鎖定,解鎖請找老師!\n"); anykey_continue();return;}}//是否初次登錄if (0==stu[id].firstlogin){printf("初次登錄請修改密碼!\n");stu[id].firstlogin=1;while(stu_changepassword());//強制修改密碼}//進入學生界面循環for(;;){switch(stu_menu()) {case '1': stu_checkgrade();break;case '2': stu_changepassword();break;case '3': stu_showmessage();break; case '0': stu_save();return;}} }int stu_menu(void)//學生界面 {system("clear");printf("你好,%s同學!\n",stu[id].name);puts("***************");puts(" 1、查詢成績");puts(" 2、修改密碼");puts(" 3、個人信息");puts(" 0、退出系統");puts("***************");printf("請輸入指令:"); char cmd=getch();printf("%c\n",cmd); //回顯return cmd ; }void stu_checkgrade(void)//成績查詢 {stdin->_IO_read_ptr = stdin->_IO_read_end;double grade[stu_cnt][4];//存放每個人成績memset(grade,0,sizeof(grade));double stuchin=stu[id].chinese,stumath=stu[id].math,stuengl=stu[id].english,//將結構體數據傳入數組stu_all=stu[id].chinese+stu[id].math+stu[id].english; //計算個人成績總分printf("你的成績:\n語文:%.2lf\n數學:%.2lf\n英語:%.2lf\n\ 總分:%.2lf\n",stuchin,stumath,stuengl,stu_all);for(int i=0;i<stu_cnt;i++)//成績存入數組,每列分別存語文數學英語總分{grade[i][0]=stu[i].chinese;grade[i][1]=stu[i].math;grade[i][2]=stu[i].english;grade[i][3]=stu[i].chinese+stu[i].math+stu[i].english;}double plus[4]={},max[4]={},min[4]={},avg[4]={};int cnt=0,level[4]={1,1,1,1};//分別計入單科成績的分數for(int i=0;i<stu_cnt;i++)//用flag while{if(grade[i][3]>0)//成績存在,計算最高分最低分{cnt++; // 計入有成績的學生人數if(stuchin<grade[i][0])level[0]++;//名次if(stumath<grade[i][1])level[1]++;if(stuengl<grade[i][2])level[2]++;if(stu_all<grade[i][3])level[3]++;for(int j=0;j<4;j++){plus[j]+=grade[i][j];//成績累加if(grade[i][j]>max[j])max[j]=grade[i][j];//最大值if(grade[i][j]<min[j])min[j]=grade[i][j];//最小值} }}if(0==cnt) // 防止除0出現的錯誤{cnt=1;}for(int i=0;i<4;i++){avg[i]=plus[i]/cnt;//計算平均分}printf("語文最高分:%.2lf 語文最低分:%.2lf 語文平均分:%.2lf 你的名次:%d\n",max[0],min[0],avg[0],level[0]);printf("數學最高分:%.2lf 數學最低分:%.2lf 數學平均分:%.2lf 你的名次:%d\n",max[1],min[1],avg[1],level[1]);printf("英語最高分:%.2lf 英語最低分:%.2lf 英語平均分:%.2lf 你的名次:%d\n",max[2],min[2],avg[2],level[2]);printf("總分最高分:%.2lf 總分最低分:%.2lf 總分平均分:%.2lf 你的名次:%d\n",max[3],min[3],avg[3],level[3]);anykey_continue(); }int stu_changepassword(void)//修改密碼 {puts("請輸入新密碼:");char new1[20],new2[20];strcpy(new1,hidden_input()); //隱藏輸入密碼puts("請再次輸入新密碼:");strcpy(new2,hidden_input()); //隱藏再次輸入密碼if(!strcmp(new1,new2)) //判讀兩次密碼輸入是否相等{strcpy(stu[id].password,new1);//修改密碼puts("修改成功!");anykey_continue();return 0;}else {puts("修改失敗!");}anykey_continue();return 1; }void stu_showmessage(void)//顯示信息 {printf("姓名:%s\n性別:%s\n學號:%d\n狀態:%s\n",stu[id].name,'w'==stu[id].sex?"女":"男",stu[id].id,stu[id].flag==1?"在校":"離校");anykey_continue(); }

? ? ? ? student.h

#ifndef STUDENT_H #define STUDENT_H#include<stdio.h> #include<stdlib.h> #include<string.h> #include<getch.h> #include"mis.h" #include "tools.h" void stu_login(void); //學生登入界面int stu_menu(void); //學生界面菜單void stu_checkgrade(void); //查詢學生成績int stu_changepassword(void); //修改學生密碼void stu_showmessage(void); //顯示學生信息void stu_save(void); //將學生信息寫入文件char* hidden_input(void); //隱藏輸入函數#endif

總結

以上是生活随笔為你收集整理的C语言实现教务管理系统的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

人人dvd| 麻豆视频观看 | 99九九99九九九视频精品 | 久久久久久久久影视 | 日日操日日 | 国内一区二区视频 | 91在线资源 | a久久免费视频 | 精品国产一区二区三区久久久久久 | 去看片| 69绿帽绿奴3pvideos | 三级av在线| 久久久久久久久电影 | 91视频免费看片 | 日韩超碰在线 | 久久久九九 | 婷婷av色综合 | 亚洲国产精品成人精品 | 在线看国产 | 99精品国产兔费观看久久99 | 91看片在线观看 | 一区三区视频在线观看 | 偷拍区另类综合在线 | 97色综合 | 中文字幕在线观看完整版电影 | 在线播放精品一区二区三区 | 免费高清av在线看 | 插久久| 97狠狠操| 亚洲精区二区三区四区麻豆 | 色在线国产 | 国产成人av在线影院 | 欧洲精品码一区二区三区免费看 | 久久草视频 | 久久9视频| 91视频91色| 9i看片成人免费看片 | 在线免费高清视频 | 久久综合狠狠综合久久激情 | 国产精品久久久久久久久久 | 色综合久久精品 | 四虎成人精品永久免费av | 国产手机在线 | 91麻豆视频| 久久午夜视频 | 日韩电影精品 | 精品 一区 在线 | www.国产在线观看 | 久久国产电影 | 久久久久久久久久久久av | 亚洲一区二区视频 | 精品一二三四视频 | 一区二区三区在线不卡 | 久久视频国产精品免费视频在线 | 中文字幕在线视频第一页 | 激情网站五月天 | 永久免费视频国产 | 国产中文字幕一区 | 国产色久 | 国产一级电影 | 久久免费片 | 91人人干 | 伊人天堂久久 | 欧美午夜寂寞影院 | 区一区二区三在线观看 | 成人免费视频网站在线观看 | 国产日韩精品一区二区在线观看播放 | 亚洲伦理中文字幕 | 又黄又爽的视频在线观看网站 | 日韩在线电影观看 | 国产精品毛片久久蜜 | 免费进去里的视频 | 久久久久成人精品免费播放动漫 | 亚洲另类xxxx | 91九色在线观看视频 | 亚洲精品乱码久久久久久蜜桃不爽 | 国产欧美中文字幕 | 久久99久久99精品免视看婷婷 | 国色天香第二季 | 日韩伦理片hd | 免费大片av | av福利资源| 色多多在线观看 | 亚洲伊人网在线观看 | 四虎成人网 | 狠狠色丁香久久综合网 | 蜜臀一区二区三区精品免费视频 | 久久a视频 | 国产精品福利一区 | 国产中文视 | 国产精品色婷婷视频 | 国产小视频在线播放 | 亚洲欧美日韩在线一区二区 | 中日韩男男gay无套 日韩精品一区二区三区高清免费 | 久久蜜臀一区二区三区av | 久久久婷 | 五月婷婷操 | 日韩精品在线看 | 亚洲 综合 专区 | 亚洲精品免费看 | a色视频 | 999久久久精品视频 日韩高清www | 久久er99热精品一区二区三区 | 人人爱人人做人人爽 | 免费在线观看av电影 | 欧美大香线蕉线伊人久久 | 国产成人免费网站 | 久久久91精品国产一区二区三区 | 欧美大片在线看免费观看 | 亚洲精品在线观看av | 青青久草在线视频 | 91在线观看视频网站 | 日韩亚洲在线 | 国产成人福利 | 婷婷色中文字幕 | 亚洲影视九九影院在线观看 | 成人国产精品免费 | 一区在线观看视频 | 人人爱人人做人人爽 | 91视频88av| 日本最新中文字幕 | 日韩一区二区三区观看 | 色网站在线免费观看 | 精品一区精品二区 | 国产一级黄色片免费看 | 亚洲国产日韩在线 | 日韩二区在线观看 | 国产一区二区在线播放 | 天天干天天拍天天操 | 三级在线播放视频 | 91精品久久香蕉国产线看观看 | 欧美一区二视频在线免费观看 | 青青久草在线 | 精品嫩模福利一区二区蜜臀 | 中文字幕乱在线伦视频中文字幕乱码在线 | 日韩在线视频在线观看 | 久久99国产综合精品 | 日日草视频 | 亚洲欧美激情精品一区二区 | 波多野结衣在线视频一区 | 色视频成人在线观看免 | 国产欧美精品xxxx另类 | 黄色片网站 | 天天爱天天操天天射 | 免费高清男女打扑克视频 | 国产人成看黄久久久久久久久 | 日本性高潮视频 | 99视频精品在线 | 亚洲人人网| 亚洲国产精品va在线看黑人动漫 | 天天操天天射天天爽 | 色综合天天狠狠 | bayu135国产精品视频 | av一区二区三区在线 | 国产高清视频在线播放 | 日韩 在线| 国产99久久99热这里精品5 | 久久国产精品色婷婷 | 天天插日日操 | 激情视频在线高清看 | 国产欧美精品一区二区三区 | 在线观看一区视频 | 色综合天天色综合 | 国产成人精品亚洲日本在线观看 | 国产在线精品视频 | 99精品成人 | 一级黄色片在线播放 | av激情五月 | 日本视频精品 | 在线免费看黄色 | 国产香蕉视频在线观看 | 一区二区视频电影在线观看 | 免费观看www7722午夜电影 | 激情影院在线 | 综合色婷婷 | 色视频国产直接看 | 欧美激情h | 亚洲精品麻豆 | 91麻豆精品国产91久久久使用方法 | 成人av资源网 | 天天·日日日干 | 久久久精品小视频 | 国产一区二区久久久久 | 黄色a在线 | 涩涩网站在线观看 | 依人成人综合网 | 久久久久久久久久久久电影 | 一级做a爱片性色毛片www | 超碰人在线 | 免费视频一二三区 | 亚洲欧美乱综合图片区小说区 | 玖玖国产精品视频 | a级国产毛片 | 最近高清中文在线字幕在线观看 | 永久免费毛片在线观看 | 国模一二三区 | 亚洲综合小说 | 亚洲国产精品久久久 | 欧美 亚洲 另类 激情 另类 | 久久久久久久久久影视 | 久久精品综合视频 | 狠狠色综合网站久久久久久久 | 欧美日本在线观看视频 | 天天爱天天舔 | 99爱国产精品 | 97av在线视频 | 久产久精国产品 | 久久久久免费精品 | 四虎免费在线观看视频 | 中文字幕在线观看视频免费 | 探花系列在线 | 久久人人爽人人爽人人片av软件 | 国产精品自产拍在线观看 | 国产精品理论片在线观看 | 久久99久久久久 | 韩国一区视频 | 高清不卡免费视频 | 日韩午夜视频在线观看 | 在线观看完整版 | 一区二区伦理 | 成人在线一区二区 | 免费精品视频 | 91人人人| 日韩在线观看视频中文字幕 | 99精品免费久久久久久久久 | 九九视频免费观看视频精品 | 97碰在线视频 | 天天色.com | 91九色自拍 | 国产精品一区免费在线观看 | 色在线中文字幕 | 手机在线视频福利 | 久久精品欧美视频 | 午夜91视频| 亚洲撸撸 | 亚洲成人免费观看 | 久色伊人 | 992tv人人网tv亚洲精品 | 九九热中文字幕 | 四虎国产精品成人免费4hu | 五月婷婷激情 | 青青网视频| 99在线观看视频网站 | 免费av高清| 日韩一区在线免费观看 | 国产精品美女www爽爽爽视频 | 国产精品一区二区久久久 | 国产精品资源在线 | 国产一区二区精品91 | 狠狠狠操 | 国产在线观看国语版免费 | 国产精品一区二区三区免费看 | 三级av片| 国产一区二区免费 | 日日操天天操夜夜操 | 一区二区三区影院 | 国产精品久久久久久久久搜平片 | 国产黄在线播放 | 日韩狠狠操 | 一区二精品 | 欧美日韩高清一区二区 国产亚洲免费看 | 日韩电影一区二区在线观看 | 久久神马影院 | 三级免费黄 | 亚洲欧洲av在线 | av电影免费观看 | 久草在线视频首页 | 免费a视频在线 | 一级片免费观看 | 日韩av在线不卡 | 国产伦理久久精品久久久久_ | 婷婷国产v亚洲v欧美久久 | 久久久久久福利 | 日本成人中文字幕在线观看 | a久久免费视频 | av在线免费观看不卡 | 视频在线在亚洲 | 精品美女久久久久 | 亚洲精品美女在线观看播放 | 中文字幕亚洲综合久久五月天色无吗'' | 中文在线免费一区三区 | 亚洲最大av网 | 久久激情视频 久久 | 免费在线观看亚洲视频 | 欧美日韩中文视频 | 日本久久免费电影 | 香蕉视频久久 | 日韩精品最新在线观看 | 日韩在线视频二区 | 亚洲黄色精品 | 网站在线观看你们懂的 | 国产麻豆精品免费视频 | 欧美大片在线观看一区 | 国产91在线观看 | 免费av电影网站 | 日韩精品久久中文字幕 | 黄色av播放 | 日日夜夜91| 黄色小说在线观看视频 | 久在线观看视频 | 韩国三级av在线 | 免费av小说 | 国产99免费视频 | 中文字幕亚洲情99在线 | 久草视频在线资源 | 99在线精品视频观看 | 亚洲六月丁香色婷婷综合久久 | 最新av免费在线 | 国产手机视频在线播放 | 精品xxx| 免费一级特黄毛大片 | 国产精品久久艹 | 天天操天天干天天操天天干 | 色婷婷啪啪免费在线电影观看 | 色一级片 | 国内视频1区 | 久久久久久网站 | 在线观看免费黄视频 | 91亚洲精品国产 | 成人毛片在线视频 | 在线观看成人国产 | 人人干天天干 | 午夜少妇av | www国产亚洲精品 | 成人羞羞视频在线观看免费 | 国产视频在 | 国产精品久久嫩一区二区免费 | 九九九免费视频 | 国产精品电影一区 | 正在播放国产精品 | 成人一级电影在线观看 | 婷婷在线免费观看 | 久久久久在线 | 精品成人a区在线观看 | 国产又粗又硬又爽视频 | 99精品黄色片免费大全 | 韩国一区二区三区在线观看 | 国产成人黄色av | 综合久久网 | 日韩精品无 | 天天射日 | www.天天射.com | 天天添夜夜操 | 国产网站av| 又长又大又黑又粗欧美 | www国产精品com | 一区二区三区免费在线观看视频 | 狠狠操操网 | 视频在线一区二区三区 | 精品国产伦一区二区三区免费 | 成人国产一区 | 婷婷中文字幕综合 | 天天爽综合网 | 九九在线视频 | 国产视频欧美视频 | 欧美在线视频一区二区三区 | 国产免码va在线观看免费 | 欧美黄色成人 | 国产精品入口传媒 | 天天操天天操天天操天天操天天操天天操 | 草久久精品 | 狠狠搞,com| 日韩,精品电影 | 精品高清美女精品国产区 | 99久久久久久久久 | 久久在线观看视频 | 超碰在线97免费 | www.com久久 | 日韩午夜精品福利 | 九月婷婷人人澡人人添人人爽 | 黄色av在 | 日韩理论片在线观看 | 6080yy午夜一二三区久久 | 亚洲影院一区 | 激情综合网婷婷 | 日韩免费观看高清 | 天天干天天干天天射 | 91亚洲网 | 色网站国产精品 | 一区二区亚洲精品 | 欧美精品亚洲二区 | 天天操天天射天天爱 | 人成午夜视频 | 亚州精品视频 | 久久极品 | 欧美激情va永久在线播放 | 欧美久草网| 97超碰精品| 丁香婷婷综合激情五月色 | 91看毛片| 92中文资源在线 | 久久久久亚洲精品男人的天堂 | 色多多污污在线观看 | 精品国产一区二区三区免费 | 久久国产电影 | 亚洲视频在线看 | 亚洲精品综合久久 | 国产视频不卡 | 国产视频一区二区三区在线 | 日韩在线视频一区二区三区 | 国产精品99久久久久久有的能看 | 日韩精品综合在线 | 最新av电影网址 | 亚洲一区二区麻豆 | 日本在线精品视频 | 成人毛片一区二区三区 | 免费成人结看片 | 玖玖在线播放 | 久久久穴 | 狠狠干夜夜操天天爽 | 草久视频在线观看 | 97在线免费视频观看 | 三级av在线 | 欧美黑吊大战白妞欧美 | 一二三区视频在线 | 日韩视频免费看 | av在线观 | 欧美在一区 | 国产成人在线播放 | 国产美女免费观看 | 97偷拍在线视频 | 一本大道久久精品懂色aⅴ 五月婷社区 | 在线a人片免费观看视频 | 91在线色| 色婷婷狠狠五月综合天色拍 | 国产主播大尺度精品福利免费 | 美女视频黄,久久 | 伊人小视频 | 日本最新一区二区三区 | 色爱区综合激月婷婷 | 国产小视频福利在线 | 综合色影院 | 日韩性久久| 日韩一二三 | 一区二区三区精品在线视频 | 精品久久久国产 | 国产 视频 高清 免费 | 国产精品视频永久免费播放 | 中文字幕乱码在线播放 | 久久久久亚洲精品成人网小说 | 久久99在线观看 | 日韩精品短视频 | 狠狠的日日 | 日韩欧美在线高清 | 国产精品爽爽久久久久久蜜臀 | 99中文字幕 | 超碰最新网址 | 91毛片在线 | 国产精品久久久久久模特 | 四虎成人精品 | 日本精品久久久一区二区三区 | 欧美性生活小视频 | av免费网页 | 成 人 黄 色视频免费播放 | www.91av在线 | 91黄色免费看 | 天天射综合网视频 | 在线观看视频国产 | 手机av永久免费 | 精品久久久久久久久久久久 | 欧美日韩免费在线视频 | 午夜精品福利影院 | 97国产一区二区 | 国产精品免费看久久久8精臀av | 在线91网| av成人动漫| 国产精品久久久久免费观看 | 日韩首页| 91在线欧美 | 天天艹| 黄网站免费大全入口 | 午夜 久久 tv | 91成人网页版 | 久久午夜国产 | 亚洲成人黄色网址 | 日韩精品在线观看av | www.天天综合 | 国产尤物在线观看 | 999久久久精品视频 日韩高清www | 91成人短视频在线观看 | 91麻豆网 | 国产精品6999成人免费视频 | 久久综合九九 | 99爱视频 | 久久久久久久久久免费视频 | www.黄色片网站 | 日韩三级在线观看 | 国产五月色婷婷六月丁香视频 | 久草在线视频网 | 日韩三级不卡 | 国产一区二区在线视频观看 | 国产一级性生活视频 | 亚洲精品国产麻豆 | 综合婷婷 | 亚洲视频一级 | 天天操天天干天天操天天干 | 在线亚洲观看 | 久久免费视频精品 | 7777精品伊人久久久大香线蕉 | 中文字幕在线观看第二页 | 久久精品香蕉视频 | 99精品国产兔费观看久久99 | 午夜av免费看 | 国产99久久久久久免费看 | 在线观看免费av片 | 日韩欧美视频一区二区三区 | 精品国产精品久久 | 99国内精品久久久久久久 | bayu135国产精品视频 | 中文在线√天堂 | 亚洲精品小视频在线观看 | 日韩三级视频在线观看 | 美女网站在线免费观看 | 在线观看免费av片 | 91在线资源 | 人成午夜视频 | 欧美日韩国语 | 国内精品久久天天躁人人爽 | 亚洲理论电影网 | 色wwwww| 91看片淫黄大片在线播放 | 国产高清永久免费 | 制服丝袜天堂 | 欧美精品久久久久久久久老牛影院 | 日韩中文字幕免费看 | 国产护士在线 | 亚洲成人家庭影院 | 狠狠色丁香婷婷综合 | 婷婷伊人五月 | 久久久91精品国产一区二区三区 | 欧美在线一二区 | 人人澡人人添人人爽一区二区 | 国产精品一区二区久久精品爱微奶 | 一级黄色免费 | 97日日 | 国产在线高清 | 日韩精品中文字幕久久臀 | 成人中文字幕av | 91成熟丰满女人少妇 | 天天操夜夜看 | 人人澡澡人人 | 国产美女免费看 | 正在播放一区 | 国产不卡精品视频 | 国产伦精品一区二区三区无广告 | 国产成人精品午夜在线播放 | 午夜精品一区二区三区在线播放 | 97在线免费视频观看 | 欧美日韩国产三级 | 天天天色 | www.久久久com | 亚洲成av片人久久久 | 成人黄色在线观看视频 | 免费看片网址 | 国产精品久久久久久久久久三级 | 天天射综合网站 | 亚洲五月婷 | 天天曰天天干 | 欧美大码xxxx | 美女网站视频一区 | 99久视频| 中文字幕av一区二区三区四区 | 91av视频在线免费观看 | 91亚洲综合 | 国产自产在线视频 | 国内小视频在线观看 | 久久精品高清视频 | 亚洲另类在线视频 | 国产日韩高清在线 | 91久久国产综合精品女同国语 | 成年人黄色在线观看 | 午夜av片| 亚洲美女视频网 | 欧美日韩一区二区视频在线观看 | 天天综合色网 | 香蕉在线视频播放网站 | 碰超在线| 日日操夜夜操狠狠操 | 丁香九月婷婷 | 91精品国产成 | 二区在线播放 | 91欧美视频网站 | 日日夜夜网 | 日韩在线不卡视频 | 波多野结衣在线视频免费观看 | 久久精品视频4 | 久久免费片 | 99视频在线免费播放 | 日韩视频图片 | 色婷婷一区 | 免费视频一级片 | 免费高清国产 | 国产色影院 | 亚洲视频免费在线 | 激情网五月婷婷 | 特级西西人体444是什么意思 | 亚洲精品女人久久久 | 伊人天堂久久 | 青草视频在线播放 | 中文区中文字幕免费看 | 亚洲精品成人免费 | 国产三级视频在线 | 美女视频a美女大全免费下载蜜臀 | 热久久这里只有精品 | 久久久国产精品久久久 | 国产午夜精品一区二区三区嫩草 | 国产又粗又猛又爽又黄的视频先 | 91香蕉视频黄色 | 日韩午夜视频在线观看 | 激情视频91 | 国产麻豆精品95视频 | 国产成人一区二区在线观看 | 超碰在线观看av.com | 国内精品久久久久影院男同志 | 色婷婷精品大在线视频 | 国产精品免费观看视频 | 91福利视频网站 | 麻豆国产精品va在线观看不卡 | 九九视频在线观看视频6 | 色的网站在线观看 | 国产成人精品一二三区 | 中文字幕 影院 | 91黄色小网站 | 日本中文字幕视频 | 国产区在线 | 精品一区在线 | 久久久久国产成人精品亚洲午夜 | 亚洲免费精品一区二区 | 欧美国产亚洲精品久久久8v | 看v片| 日本三级吹潮在线 | 香蕉久草在线 | 亚洲免费视频在线观看 | 精品国产_亚洲人成在线 | 91在线www | 最新亚洲视频 | 亚洲网久久 | 在线免费国产 | 美女网站视频一区 | 日韩成人高清在线 | 黄色av三级在线 | 九九热99视频 | 深爱五月网 | 亚洲午夜精品一区二区三区电影院 | 国产亚洲综合精品 | 日韩大片免费在线观看 | 九九九热精品免费视频观看 | 久久久免费电影 | 免费aa大片| 中文字幕一区二区三区精华液 | 三级动图 | 人人干在线 | 天天色天天操综合网 | 久久男人影院 | 亚洲综合情 | 国产小视频在线播放 | 91精品国产九九九久久久亚洲 | 五月天开心| 在线成人av | 午夜影院一级 | 欧美日韩综合在线 | 成人免费在线网 | 亚洲国产欧美在线人成大黄瓜 | 国产日韩欧美中文 | 99精品在线播放 | 午夜精品一区二区三区在线观看 | 亚洲狠狠婷婷综合久久久 | 国产区网址 | 中文字幕久久精品 | 成人免费一区二区三区在线观看 | 久久成人免费电影 | 日韩大片在线免费观看 | 四虎海外影库www4hu | 91成人在线观看喷潮 | 亚洲国产资源 | 国产福利久久 | 波多野结衣视频网址 | 欧美日韩精品在线观看 | 精品国产乱码一区二 | 久久艹在线观看 | 久久这里只有精品久久 | 国产黄色片在线免费观看 | 成年人视频在线免费观看 | 色吊丝在线永久观看最新版本 | 国产传媒中文字幕 | 亚洲精品国产综合99久久夜夜嗨 | 免费网站看av片 | 中文在线字幕免费观看 | 中文字幕av全部资源www中文字幕在线观看 | 天天综合天天做 | 最近乱久中文字幕 | www.久久免费视频 | 国产亚洲91 | 最近高清中文字幕 | 开心色婷婷 | 日韩精品视频免费专区在线播放 | 97视频免费 | 91视频国产免费 | 日韩免费三级 | 亚洲天堂网视频 | 狠狠干天天 | 精品xxx | 伊人久久电影网 | 久久99婷婷| 成人高清av在线 | 国产成人一区二区啪在线观看 | 天天射天天色天天干 | av大全免费在线观看 | 成人免费网站视频 | 国产免费高清 | 欧美日本三级 | 日韩精品一区二区三区中文字幕 | 亚洲精品无 | 中文字幕亚洲欧美日韩 | 亚洲综合成人专区片 | 夜夜爽88888免费视频4848 | 黄色免费网站大全 | www.天天操| 亚洲一级片免费观看 | 午夜国产影院 | 国产精品久久久免费看 | 中文字幕色站 | 久久99精品国产 | 日本少妇久久久 | 国产成人一区二区三区影院在线 | 女人18片毛片90分钟 | 91精品视频在线免费观看 | 免费看国产a | 91片网| 精品国产一区二区三区四 | 狠狠精品 | 最新超碰在线 | 在线精品视频免费播放 | 精品久久久久一区二区国产 | 973理论片235影院9 | 久久久久久久久精 | 中文字幕在线免费观看视频 | 中文字幕av在线不卡 | 毛片99 | 久久综合给合久久狠狠色 | 日本老少交| 97香蕉超级碰碰久久免费软件 | 手机av永久免费 | 精品国产视频在线观看 | 视频高清 | 天天操天天操天天操 | 成人中文字幕+乱码+中文字幕 | 免费看片成年人 | 国产精品中文 | 色婷婷福利 | 超碰在线人人草 | 91久草视频 | 一区三区视频 | 国产伦理一区二区三区 | 97精品国产97久久久久久免费 | 国产成人一区二区三区免费看 | 日韩狠狠操| 亚洲成a人片77777潘金莲 | 中文亚洲欧美日韩 | 久草在线99 | 国产精品久久久久久爽爽爽 | 日韩av男人的天堂 | 国产麻豆视频在线观看 | 色网站视频| 免费人人干 | 在线观看亚洲国产 | 久久8| 国产成人av福利 | 五月天.com| 国产成人在线综合 | 欧美日韩免费一区二区三区 | 中文字幕一区二区三区四区视频 | 日日夜夜操操操操 | 免费高清在线观看电视网站 | 一区二区欧美在线观看 | 美女免费黄视频网站 | 亚洲欧美日韩一区二区三区在线观看 | 国产精品2018 | 亚洲免费精彩视频 | 久久99精品波多结衣一区 | 国产一区二区三区视频在线 | 九草视频在线观看 | 久草在线中文视频 | 97色视频在线| 91网址在线观看 | 亚洲精品视频在线观看视频 | 热re99久久精品国产99热 | 天天综合网 天天 | 中文字幕精 | 免费精品在线视频 | 四季av综合网站 | 免费a网 | 91 在线视频 | 天天人人综合 | av在线观| 国产精品成 | 中文在线√天堂 | 国语黄色片 | 日韩资源在线播放 | 亚洲综合激情小说 | 久热色超碰 | 日韩在线视频线视频免费网站 | 欧美一级性 | 中文字幕免费观看视频 | 亚洲精品在线观看av | a黄在线观看 | 91麻豆国产福利在线观看 | 高清久久久久久 | 麻豆成人小视频 | 国产女v资源在线观看 | av看片网| 麻豆小视频在线观看 | 日韩精品不卡在线观看 | 黄色av免费电影 | 久久精品区 | 成人日批视频 | 午夜一级免费电影 | 国产精品小视频网站 | 高清不卡毛片 | 免费成人在线观看视频 | 国产成人三级在线 | 欧美在线91 | 亚洲精品影视 | av在线看片 | 国产一级高清视频 | 四虎影视精品成人 | 在线视频久| www.久久免费 | 国产九九在线 | 天天综合人人 | 国产精在线 | 免费观看性生活大片3 | 激情丁香久久 | 五月香视频在线观看 | 97精品国产97久久久久久 | 中文字幕在线影院 | 免费国产一区二区视频 | 中文字幕免费高清在线观看 | 丁香久久激情 | 亚洲精品456在线播放 | 日韩av免费一区 | 日本高清中文字幕有码在线 | 国产一区二区久久久 | 日韩在线观看视频一区二区三区 | 免费日p视频 | 国产成人精品不卡 | 精品视频在线视频 | 国产精品人成电影在线观看 | www九九热 | 日本韩国中文字幕 | 欧美日韩免费一区二区 | 国产精品一区二 | 91理论片午午伦夜理片久久 | 中文av在线天堂 | 色诱亚洲精品久久久久久 | 91传媒免费在线观看 | 美州a亚洲一视本频v色道 | 天天鲁一鲁摸一摸爽一爽 | 国产亚洲综合在线 | 国内久久久 | 免费视频色 | 免费合欢视频成人app | 99这里只有精品视频 | www.超碰| www色| 中文字幕中文字幕 | 国产亚洲精品综合一区91 | 九九视频这里只有精品 | 亚洲电影av在线 | 91精品999| 一区二区三区免费在线观看视频 | 麻豆传媒视频观看 | 国产成人精品一区二区三区免费 | 国产精品一区在线观看你懂的 | 亚洲精品国精品久久99热一 | 在线观看日韩一区 | 日本69hd| 麻豆高清免费国产一区 | 亚洲h在线播放在线观看h | 国产aaa大片| 深夜男人影院 | 日韩欧美在线综合网 | zzijzzij亚洲成熟少妇 | 免费看片成年人 | 久综合网 | 久久午夜电影网 | 亚洲精品成人av在线 | 操操操人人 | 在线免费观看视频你懂的 | 中文字幕精品一区 | 五月婷婷在线观看 | 免费人成网 | 久久久久成人精品 | se视频网址 | 午夜精品视频一区 | 四虎4hu永久免费 | 中文字幕av有码 | 欧美日韩国产精品一区二区亚洲 | 国产日韩欧美在线观看 | 日韩高清久久 | 韩国精品在线观看 | 91精品在线免费观看 | 亚洲人成人天堂h久久 | 四虎免费在线观看视频 | 中文字幕 婷婷 | 国产美女精品久久久 | 久草在线观看 | 午夜精品一区二区三区免费视频 | 日韩一级电影在线 | 五月婷综合 | 欧美日韩在线免费视频 | 2019中文最近的2019中文在线 | 亚洲成人精品久久 | 精品国产一区二区三区久久久蜜臀 | 国产精品va | 国模精品一区二区三区 | wwwwwww色 | 久久精品艹 | 亚州精品一二三区 | 日韩欧美久久 | 久久国产日韩 | a在线观看视频 | 亚洲人成人在线 | 91看片看淫黄大片 | 国产1区2区3区精品美女 | 911久久香蕉国产线看观看 | 视频 天天草 | 免费一区在线 | 日韩精品久久久久 | 亚洲三级毛片 | 欧美孕妇与黑人孕交 | 亚洲黄色免费电影 | 又黄又爽的视频在线观看网站 | 一区二区三区电影大全 | 国产美女免费观看 | 又黄又爽的视频在线观看网站 | 色爱区综合激月婷婷 | 91亚洲精品久久久蜜桃 | 黄色亚洲大片免费在线观看 | 一区二区中文字幕在线 | 色婷婷电影 | 在线观看av不卡 | 91精品国产综合久久福利 | 久草视频网 | 中文字幕在线免费播放 | 国产在线日韩 | 中文字幕之中文字幕 | 又湿又紧又大又爽a视频国产 | 久久精品这里热有精品 | 国产精品成久久久久三级 | 91精品在线视频 | 手机看片午夜 | 韩国精品在线 | 婷婷丁香花五月天 | 九九热免费在线观看 | 成人精品一区二区三区电影免费 | 精品亚洲国产视频 | 日本bbbb摸bbbb| 狠狠干成人综合网 | 欧美地下肉体性派对 | 麻豆视频在线 | 97成人在线免费视频 | 国产黄影院色大全免费 | 日韩大片在线看 | 国产成人一区二区三区影院在线 | 91私密视频 | 91丨九色丨国产女 | 在线看的av网站 | 精品国产视频在线 | 国产精品99久久久久久人免费 | 一级黄色片毛片 | 特级黄色视频毛片 | 欧美精品在线观看免费 | 久黄色 | av一级在线观看 | 久久久久99精品成人片三人毛片 | 亚洲日本va午夜在线影院 | 成人污视频在线观看 | 91亚洲精品久久久久图片蜜桃 | 国产一区二区不卡视频 | 激情五月婷婷综合网 | 国产精品毛片一区二区三区 | 欧美激情第28页 | 中文一区二区三区在线观看 | 亚洲视频资源在线 | 国产一级高清视频 | 又黄又刺激的视频 | 国产亚洲精品xxoo | 国产精品成人在线观看 | 毛片的网址 | 国产精品第52页 | 中国一级片在线观看 | 成人午夜久久 | 久久论理 | 久久影院精品 | 欧美二区三区91 | 伊人婷婷综合 | 国产91在线播放 |