




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、#include<stdio.h>#include<string.h>#include<stdlib.h>#include<conio.h>#define N 10000 void srh_stu();void sort();struct student char num10;/學(xué)號 char name10;/姓名 char code10;/登錄密碼 char sex3;/性別 char depart10;/系部 char addr10;/家庭住址 char tel15;/電話 int age;/年齡 int elec;/選修課 int requ
2、;/必修課 int sum; /總成績 stuN,ts;struct admin/管理員結(jié)構(gòu)體 char num10;/管理員編號 char code10;/密碼admN,ta;struct teacher/教師結(jié)構(gòu)體 char num10;/教師編號 char code10;/密碼thrN,tt;int ID;/登錄號int i,j;int len=0;/學(xué)生人數(shù) int lent=0;/老師人數(shù)int lena=0;/管理員人數(shù)void save()/保存信息 FILE *fp; if(fp=fopen("student.txt","w")=NULL
3、)/打開文件 printf("文件打開失?。?quot;); exit(0); for(i=0;i<len;i+)/寫入文件 fprintf(fp,"%st%st%st%st%st%st%st%dt%dt%dt%dtn",stui.num,,stui.code,stui.sex,stui.depart,stui.addr,stui.tel,stui.age,stui.elec,stui.requ,stui.sum ); fclose(fp);/關(guān)閉文件if(fp=fopen("teacher.txt","w&q
4、uot;)=NULL)/打開教師文件 printf("文件打開失??!"); exit(0); for(i=0;i<lent;i+)/寫入文件 fprintf(fp,"%st%stn",thri.num,thri.code); fclose(fp);/關(guān)閉文件if(fp=fopen("admin.txt","w")=NULL)/打開管理員文件 printf("文件打開失?。?quot;); exit(0); for(i=0;i<lena;i+)/寫入文件 fprintf(fp,"%st
5、%stn",admi.num,admi.code); fclose(fp);/關(guān)閉文件 void load()/讀取信息 FILE *fp; if(fp=fopen("student.txt","r")=NULL)/打開文件 fopen("student.txt","w");/創(chuàng)建文件 goto loop1; i=0; while(!feof(fp)/讀取文件 fscanf(fp,"%s%s%s%s%s%s%s%d%d%d%d",&stui.num,&
6、,&stui.code,&stui.sex,&stui.depart,&stui.addr,&stui.tel,&stui.age,&stui.elec,&stui.requ,&stui.sum ); if(!feof(fp) i+; len=i;/數(shù)量 fclose(fp);/關(guān)閉文件loop1: if(fp=fopen("teacher.txt","r")=NULL)/打開文件 fopen("teacher.txt","w");/創(chuàng)建文件
7、goto loop2; i=0; while(!feof(fp)/讀取文件 fscanf(fp, "%s%s",&thri.num,&thri.code); if(!feof(fp) i+; lent=i;/教師數(shù)量 fclose(fp);/關(guān)閉文件loop2: if(fp=fopen("admin.txt","r")=NULL)/打開文件 fopen("admin.txt","w");/創(chuàng)建文件 strcpy(adm0.num,"123");/初始化初始賬號
8、 strcpy(adm0.code,"123");/初始化初始密碼 lena=1; save();/保存 return; i=0; while(!feof(fp)/讀取文件 fscanf(fp, "%s%s",&admi.num,&admi.code); if(!feof(fp) i+; lena=i;/管理員數(shù)量 fclose(fp);/關(guān)閉文件 char menu_login()/登陸菜單char ch; system("cls");/清屏 printf("nnnn"); printf(&quo
9、t;-中國海洋大學(xué)青島學(xué)院-n");printf("n"); printf(" -歡迎使用-n"); printf("n"); printf("-學(xué)生信息管理系統(tǒng)-n"); printf("nn"); printf("ttt|-Login-|n"); printf("ttt|t 1. 幫助【必看】 |n"); printf("ttt|t 2. 學(xué)生登陸 |n"); printf("ttt|t 3. 教師登錄 |n&q
10、uot;); printf("ttt|t 4. 管理員登錄 |n"); printf("ttt|t 5. 退出 |n"); printf("nn"); printf("-n"); printf("-n"); printf("ttchoose(1-5):");printf(" 請選擇:"); ch=getchar();getchar();/消除緩存中的換行符return ch;void help() system("cls"); syst
11、em("COLOR 2f"); printf("-中國海洋大學(xué)青島學(xué)院-n"); printf(" -歡迎使用-n"); printf("-學(xué)生信息管理系統(tǒng)-n"); printf("n 尊敬的用戶您好!"); printf("n =n| |"); printf("n | 1.歡迎進入幫助系統(tǒng)! |n| |"); printf("n | |n| |"); printf("n | 2.請按照菜單提示進入數(shù)字代號! |n| |&q
12、uot;); printf("n | 3.教師和學(xué)生信息由管理員寫入! |n| |"); printf("n | 4.成績?yōu)?1表示尚未錄入成績! |n| |"); printf("n | 5.初始管理員初始登錄賬號:123 密碼:123! |n| |"); printf("n | 6.謝謝您的使用! |n| |"); printf("n | 7.教師和學(xué)生首次登陸賬號和密碼由管理員給定 |n| |"); printf("n =n "); printf("-n&qu
13、ot;); printf("-n"); printf("請按任意鍵進入登錄界面:."); getch();void exit1() system("cls");/清屏system("COLOR 3f");printf("-中國海洋大學(xué)青島學(xué)院-n");printf("n");printf(" -【學(xué)生信息管理系統(tǒng)】-n");printf("n");printf("n");printf(" 制作人: 【王汝通
14、】 n");printf("=n");printf(" Bye-Byen");printf("n");printf(" n");printf("n");printf(" n");printf(" n");printf("n");printf(" n");printf(" 海 10級 n");printf(" 軟 n");printf(" 大 件 n"
15、;);printf(" 工 n");printf(" 青 程 n");printf(" 一 n");printf(" 院 班 n");printf(" n");printf(" 謝謝使用n");exit(0);char menu_stu()/學(xué)生菜單 char ch; system("cls");/清屏 printf("nnnnn"); printf("-中國海洋大學(xué)青島學(xué)院-n"); printf(" -
16、歡迎使用-n"); printf("-學(xué)生信息管理系統(tǒng)-n"); printf("tt|-STUDENT-|n"); printf("tt| 1.個人信息查詢 |n"); printf("tt| 2.修改密碼 |n"); printf("tt| 3.退出 |n"); printf("tt|-|n"); printf("nn"); printf("-n"); printf("-n"); printf(&quo
17、t;tttchoose(1-3):"); ch=getchar(); getchar();/消除回車符 return ch;void srh_gr()/個人信息查詢 system("cls");/清屏 printf("我(%s)的信息如下:n",); printf("_n"); printf("學(xué)號 姓名 年齡 性別 系部 住址 電話 選修 專業(yè) 總分nn"); printf("%-8s%-8s%-6d%-6s%-8s%-8s%-8s%-6d%-6d%dn",stuI
18、D.num,stuID.name,stuID.age,stuID.sex,stuID.depart,stuID.addr,stuID.tel,stuID.elec,stuID.requ,stuID.sum); printf("_n"); printf("查詢完畢,任意鍵返回."); getch();void mod_code_stu()/修改密碼char cd010,cd110,cd210; system("cls");/清屏printf("請輸入原密碼:");gets(cd0);if(strcmp(cd0,stu
19、ID.code)=0)/與原密碼相同 while(1) printf("請輸入新密碼:"); gets(cd1); printf("請再次輸入新密碼:"); gets(cd2); if(strcmp(cd1,cd2)=0)/兩次密碼相同 strcpy(stuID.code,cd1);/修改密碼 save();/保存 printf("修改成功,任意鍵返回。"); getch(); return; else/兩次輸入密碼不同 printf("兩次輸入密碼不同,請重來。n"); system("cls"
20、;);/清屏 else/與原密碼不同 printf("對不起!您輸入的密碼錯誤,任意鍵返回。"); getch();void login_stu()/學(xué)生登錄char num10,code10; system("cls");/清屏 printf("nnn 請輸入學(xué)號: "); gets(num); for(i=0;i<len;i+) if(strcmp(num,stui.num)=0)/比較學(xué)號是否相同 break; if(i=len) printf("對不起!沒有這個學(xué)號。任意鍵返回。"); getch()
21、; ID=-1;/-1表示登錄失敗 return;else printf(" 請輸入密碼: "); gets(code); while(strcmp(code,stui.code)!=0)/密碼不同 printf(" 密碼錯誤,請重新輸入:"); gets(code); ID=i;/記住登錄號void students()/學(xué)生系統(tǒng) char ch; login_stu();/登錄 if(ID=-1) return;/登錄失敗,返回 while(1) ch=menu_stu();/學(xué)生菜單 switch(ch) case '1': srh
22、_gr(); break;/個人信息查詢 case '2': mod_code_stu(); break;/修改密碼 case '3': return;/返回上一級 void login_thr()/教師登錄char num10,code10; system("cls");/清屏 printf("nnn 請輸入教師編號: "); gets(num); for(i=0;i<lent;i+) if(strcmp(num,thri.num)=0)/比較編號是否相同 break; if(i=lent) printf(&quo
23、t;對不起!沒有這個管理員編號。任意鍵返回。"); getch(); ID=-1;/-1表示登錄失敗 return;else printf(" 請輸入密碼: "); gets(code); while(strcmp(code,thri.code)!=0)/密碼不同 printf(" 密碼錯誤,請重新輸入:"); gets(code); ID=i;/記住登錄號char menu_thr()/教師菜單 char ch; system("cls"); printf("nnnnn"); printf("
24、-中國海洋大學(xué)青島學(xué)院-n"); printf(" -歡迎使用-n"); printf("-學(xué)生信息管理系統(tǒng)-n"); printf("tt|-TEACHER-|n"); printf("tt|t 1.密碼修改 |n"); printf("tt|t 2.學(xué)生成績的錄入 |n"); printf("tt|t 3.學(xué)生信息的查詢 |n"); printf("tt|t 4.學(xué)生成績的顯示(排序) |n"); printf("tt|t 5.退出
25、 |n"); printf("tt|-|n"); printf("nn"); printf("-n"); printf("-n"); printf("tttchoose(1-5):"); ch=getchar();/獲取選擇 getchar();/消除回車符 return ch;/*void modefy() /成績修改 char num10; system("cls");/清屏 printf("請輸入要修改成績的學(xué)生學(xué)號:"); gets(nu
26、m); for(i=0;i<len;i+) if(strcmp(num,stui.num)=0)/學(xué)號是否相同 break;/相同 結(jié)束查找if(i=len) printf("對不起!沒有這個學(xué)號記錄,任意鍵返回。"); getch(); return; printf("請輸入專業(yè)課成績:");scanf("%d",&stui.requ);printf("請輸入選修課成績:");scanf("%d",&stui.elec);getchar();/消除回車stui.sum=s
27、tui.requ+stui.elec;/總成績save();/保存printf("成績修改完成,任意鍵返回。");getch(); */void mod_code_thr() /密碼修改 char cd010,cd110,cd210; system("cls");/清屏printf("請輸入原密碼:");gets(cd0);if(strcmp(cd0,thrID.code)=0)/與原密碼相同 while(1) printf("請輸入新密碼:"); gets(cd1); printf("請再次輸入新密碼:
28、"); gets(cd2); if(strcmp(cd1,cd2)=0)/兩次密碼相同 strcpy(thrID.code,cd1);/修改密碼 save();/保存 printf("修改成功,任意鍵返回。"); getch(); return; else/兩次輸入密碼不同 printf("兩次輸入密碼不同,請重來。n"); system("cls");/清屏 else/與原密碼不同 printf("對不起!您輸入的密碼錯誤,任意鍵返回。"); getch();void input() /成績錄入 cha
29、r num12; system("cls");/清屏 printf("請輸入要錄入成績的學(xué)生學(xué)號:"); gets(num); for(i=0;i<len;i+) if(strcmp(num,stui.num)=0)/學(xué)號是否相同 break;/相同 結(jié)束查找if(i=len) printf("對不起!沒有這個學(xué)號記錄,任意鍵返回。"); getch(); return; printf("請輸入專業(yè)課成績:");scanf("%d",&stui.requ);printf("
30、;請輸入選修課成績:");scanf("%d",&stui.elec);getchar();/消除回車stui.sum=stui.requ+stui.elec;/總成績save();/保存printf("成績錄入完成,任意鍵返回。");getch(); void teacher() /老師系統(tǒng) char ch; login_thr();/登錄 if(ID=-1) return;/登錄失敗,返回 while(1) ch=menu_thr();/老師生菜單 switch(ch) case '1': mod_code_thr(
31、); break;/密碼修改 case '2': input(); break;/成績錄入 case '3': srh_stu(); break;/學(xué)生信息的查詢 case '4': sort(); break;/學(xué)生成績的排序 /case '5': modefy();/學(xué)生成績的修改 case '5':return;/返回上一級 void login_adm()/管理員登錄char num10,code10; system("cls");/清屏 printf("nnn 請輸入管理員編
32、號: "); gets(num); for(i=0;i<lena;i+) if(strcmp(num,admi.num)=0)/比較編號是否相同 break; if(i=lena) printf("對不起!沒有這個管理員編號。任意鍵返回。"); getch(); ID=-1;/-1表示登錄失敗 return;else printf(" 請輸入密碼: "); gets(code); while(strcmp(code,admi.code)!=0)/密碼不同 printf(" 密碼錯誤,請重新輸入:"); gets(cod
33、e); ID=i;/記住登錄號char menu_adm()/管理員菜單 char ch; system("cls"); printf("nnnnn"); printf("-中國海洋大學(xué)青島學(xué)院-n"); printf(" -歡迎使用-n"); printf("-學(xué)生信息管理系統(tǒng)-n"); printf("n"); printf("ttt|-COMMANDER-|n"); printf("ttt| 1.登陸密碼的修改 |n"); pri
34、ntf("ttt| 2.顯示學(xué)生信息 |n"); printf("ttt| 3.賬戶注冊管理 |n"); printf("ttt| 4.賬戶注銷管理 |n"); printf("ttt| 5.學(xué)生信息查詢 |n"); printf("ttt| 6.學(xué)生信息修改 |n"); printf("ttt| 7.退出 |n"); printf("ttt|-|n"); printf("nn"); printf("-n"); pr
35、intf("-n"); printf("ttchoose(1-6):"); ch=getchar();/獲取選擇 getchar();/消除回車符 return ch;void mod_code_adm()/修改管理員密碼char cd010,cd110,cd210; system("cls");/清屏printf("請輸入原密碼:");gets(cd0);if(strcmp(cd0,admID.code)=0)/與原密碼相同 while(1) printf("請輸入新密碼:"); gets(c
36、d1); printf("請再次輸入新密碼:"); gets(cd2); if(strcmp(cd1,cd2)=0)/兩次密碼相同 strcpy(admID.code,cd1);/修改密碼 save();/保存 printf("修改成功,任意鍵返回。"); getch(); return; else/兩次輸入密碼不同 printf("兩次輸入密碼不同,請重來。n"); system("cls");/清屏 else/與原密碼不同 printf("對不起!您輸入的密碼錯誤,任意鍵返回。"); get
37、ch(); void del() /注銷賬戶char num10,ch; system("cls");/清屏 printf("請選擇要注銷賬戶的類型(1、學(xué)生 2、教師 3、管理員):n"); while(1) ch=getchar(); getchar();/消除上一步產(chǎn)生的回車符 if(ch='1' | ch='2' | ch='3') break; else printf("輸入錯誤請重新輸入:"); if(ch='1' )/注銷學(xué)生賬號 printf("
38、請輸入要注銷學(xué)生的學(xué)號:"); gets(num); for(i=0;i<len;i+) if(strcmp(num,stui.num)=0)/學(xué)號是否相同 break; if(i=len) printf("對不起!沒有這個學(xué)號,任意鍵返回。");getch();return; ts=stui; stui=stui+1; stui+1=ts;/和最后一個同學(xué)交換位置 len-;/數(shù)量減一 save();/保存 else if(ch='2')/注銷管老師賬號 printf("請輸入要注銷教師的編號:"); gets(num)
39、; for(i=0;i<lent;i+) if(strcmp(num,thri.num)=0)/編號是否相同 break; if(i=lent) printf("對不起!沒有這個教師編號,任意鍵返回。");getch();return; tt=thri; thri=thri+1; thri+1=tt;/和最后一個老師交換位置 lent-;/數(shù)量減一 save();/保存 else if(ch='3')/注銷管理員賬號 printf("請輸入要注銷管理員的編號:"); gets(num); for(i=0;i<lena;i+)
40、if(strcmp(num,admi.num)=0)/編號是否相同 break; if(i=lena) printf("對不起!沒有這個管理員編號,任意鍵返回。");getch();return; ta=admi; admi=admi+1; admi+1=ta;/和最后一個管理員交換位置 lena-;/數(shù)量減一 save();/保存 save();/保存 printf("注銷成功!任意鍵返回。"); getch();void sort() /對學(xué)生成績的成績排序 system("cls");/清屏 for(j=0;j<len-1
41、;j+) for(i=0;i<len-1-j;i+) if(stui.sum<stui+1.sum)/冒泡法按成績排序 ts=stui; stui=stui+1; stui+1=ts; printf("按總成績從高到底排序結(jié)果如下:n" ); printf("_n"); printf("學(xué)號 姓名 年齡 性別 系部 住址 電話 選修 專業(yè) 總分nn"); for(i=0;i<len;i+) printf("%-8s%-8s%-6d%-6s%-8s%-8s%-8s%-6d%-6d%dn",stui.
42、num,,stui.age,stui.sex,stui.depart,stui.addr,stui.tel,stui.elec,stui.requ,stui.sum); printf("_n"); printf("排序完畢,任意鍵返回。"); getch();void regist() /注冊管理char ch; system("cls");/清屏 printf("請選擇要注冊賬戶的類型(1、學(xué)生 2、教師 3、管理員):n"); while(1) ch=getchar(); getchar();/消除上一步產(chǎn)生的回車符 if(ch='1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 ISO/TR 23975:2025 EN Traditional Chinese medicine - Priority list of single herbal medicines for developing standards
- 2025年度店鋪轉(zhuǎn)租雙方責(zé)任劃分合同
- 2025年度房地產(chǎn)項目風(fēng)險評估合同模板
- 2025年度財務(wù)合同簽訂與履行管理合同
- 2025年度鑄件研發(fā)與生產(chǎn)承包協(xié)議
- 2025年度員工敬業(yè)度提升與企業(yè)文化融合合同
- 藝術(shù)創(chuàng)作活動的組織與管理計劃
- 現(xiàn)代青年財務(wù)觀念調(diào)查計劃
- 財務(wù)內(nèi)控體系的構(gòu)建與完善計劃
- 小學(xué)美術(shù)教育工作規(guī)劃計劃
- 電力基本知識培訓(xùn)課件
- 2024年大學(xué)生電子版三方協(xié)議書模板
- 安踏組織架構(gòu)分析
- 北師大版五年級(下冊)數(shù)學(xué)知識要點歸納
- GB/T 44619-2024福壽螺檢疫鑒定方法
- 2024年湖南省公務(wù)員錄用考試《行測》試題及答案解析
- 2024年山東省淄博市中考歷史試題卷(含答案解析)
- 電力工程質(zhì)量驗收手冊
- 四年級語文下冊 期末復(fù)習(xí)文言文閱讀專項訓(xùn)練(一)(含答案)(部編版)
- 學(xué)習(xí)新課程標(biāo)準(zhǔn)的方案
- 2024-2025學(xué)年小學(xué)信息技術(shù)(信息科技)三年級全一冊義務(wù)教育版(2024)教學(xué)設(shè)計合集
評論
0/150
提交評論