學(xué)生信息管理系統(tǒng)C程序_第1頁
學(xué)生信息管理系統(tǒng)C程序_第2頁
學(xué)生信息管理系統(tǒng)C程序_第3頁
學(xué)生信息管理系統(tǒng)C程序_第4頁
學(xué)生信息管理系統(tǒng)C程序_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、#include<stdio.h>#include<stdlib.h>#include<string.h>#include<conio.h>/getch();kibhit()的頭文件struct studentint id;char name20;char password11;char classs6;struct likefloat physics;/物理float biology;/生物float chemistry;/化學(xué)grade;int age;int ranking;typedef struct student ST;/為已有的數(shù)據(jù)

2、類型命名struct administratorchar name20;char password11;ad="lichao","12343456"void Chushihua();/系統(tǒng)初始化函數(shù)void Stucpw(int i);/學(xué)生改密函數(shù)void Ssave(ST stu30,int r);/系統(tǒng)保存函數(shù)void Stuadd();/添加學(xué)生函數(shù)int Save_enquiry();/修改確定詢問函數(shù)void Studelete();/刪除學(xué)生函數(shù)void Stualter();/修改學(xué)生函數(shù)void Sturefer();/學(xué)生查詢函數(shù)vo

3、id Sturank(ST stu030,int i);/終極排名函數(shù)void Stuclassesrank();/學(xué)生班級(jí)挑選函數(shù)void Stuallout();/少女通靈之術(shù)char* Passwordinputhide();int main()int flag0=0;/選擇登陸方式的標(biāo)志int flag1;/密碼錯(cuò)誤次數(shù)標(biāo)志int flag3;/選擇操作方式的標(biāo)志char ad_name20;/輸入的管理員名字char ad_password11;/輸入的管理員密碼char stu_name20;/輸入的學(xué)生名字char stu_password11;/輸入的學(xué)生密碼Chushihua

4、();/判斷系統(tǒng)是否需要初始化FILE *fp1,*fp2;ST stu30;int i;/for控制變量int j;/臨時(shí)控制變量int r;/學(xué)生人數(shù)/*printf("學(xué)生人數(shù)為%d。n",r);printf("學(xué)號(hào):%dn姓名:%sn密碼:%sn班級(jí):%sn年齡:%dn排名:%dn",stu2.id,,stu2.password,stu2.classs,stu2.age,stu2.ranking);*/while(flag0!=3)/讀取本地信息fp2=fopen("D:學(xué)生數(shù)目.txt","r&q

5、uot;);fscanf(fp2,"%d",&r);fclose(fp2);fp1=fopen("D:學(xué)生信息.txt","r");for(i=0;i<r;i+)fread(&stui,sizeof(ST),1,fp1);fclose(fp1);/系統(tǒng)開始system("cls");printf("/* *學(xué)生信息管理系統(tǒng)* */n");printf("歡迎登陸學(xué)生管理系統(tǒng)!");printf("請(qǐng)選擇管理員登陸/學(xué)生登陸/退出系統(tǒng)(1/2/3

6、):");scanf("%d",&flag0);flag1=3;/定義密碼出錯(cuò)上限switch(flag0)case 1:while(flag1>0)fflush(stdin);printf("請(qǐng)輸入管理員賬戶名:");gets(ad_name);printf("請(qǐng)輸入管理員密碼:");strcpy(ad_password,Passwordinputhide();if(!strcmp(ad_name,)&&(!(strcmp(ad_password,ad.password)prin

7、tf("登陸成功!親愛的管理員李超,歡迎回來!n");system("cls");break;elseflag1-;printf("管理員賬戶名或密碼錯(cuò)誤!您還有%d次機(jī)會(huì)",flag1);if(flag1=0)flag0=3;/讓出現(xiàn)三次密碼錯(cuò)誤的家伙退出elseflag3=1;while(flag3)system("cls");/清屏函數(shù)printf("請(qǐng)輸入您想進(jìn)行的操作:n1,添加新學(xué)生信息;n2,刪除學(xué)生信息;n3,修改學(xué)生信息;n4,查詢學(xué)生信息;n5,為學(xué)生排序;n6,退出登陸;n7,少女召

8、集之術(shù)。n");fflush(stdin);scanf("%d",&i);switch(i)case 1:Stuadd();system("pause");/系統(tǒng)暫停函數(shù)break;case 2:Studelete();system("pause");/系統(tǒng)暫停函數(shù)break;case 3:Stualter();system("pause");/系統(tǒng)暫停函數(shù)break;case 4:Sturefer();system("pause");/系統(tǒng)暫停函數(shù)break;case 5:S

9、tuclassesrank();system("pause");/系統(tǒng)暫停函數(shù)break;case 6:flag3=0;system("pause");/系統(tǒng)暫停函數(shù)break;case 7:system("cls");printf("忍法,多重少女通靈之術(shù)!");Stuallout();system("pause");/系統(tǒng)暫停函數(shù)break;default:printf("輸入有誤!");system("pause");/系統(tǒng)暫停函數(shù)break;cas

10、e 2:while(flag1>0)fflush(stdin);printf("請(qǐng)輸入學(xué)生姓名:");gets(stu_name);for(i=0;i<r;i+)if(!strcmp(,stu_name)printf("你好,%s同學(xué)!請(qǐng)輸入密碼:",);break;/*fflush(stdin);gets(stu_password);*/strcpy(stu_password,Passwordinputhide();if(!strcmp(stui.password,stu_password)printf(

11、"滴滴學(xué)生卡,登陸成功!");system("cls");break;elseflag1-;printf("學(xué)生姓名或?qū)W生密碼有誤!你還有%d次機(jī)會(huì)n",flag1);if(flag1=0)flag0=3;/讓出現(xiàn)三次密碼錯(cuò)誤的家伙退出elsesystem("cls");/清屏函數(shù)printf("親愛的%s!大人n",);printf("學(xué)生信息nID:%dn姓名:%sn班級(jí):%sn年齡:%dn學(xué)生成績:n物理:%.1f分n生物:%.1f分n化學(xué):%.1fn排名:%d

12、n",stui.id,,stui.classs,stui.age,stui.grade.physics,stui.grade.biology,stui.grade.chemistry,stui.ranking);while(1)printf("請(qǐng)選擇你想進(jìn)行的操作:n1,修改登陸密碼;n2,給管理員留言;n3,退出登陸n");scanf("%d",&j);switch(j)case 1:Stucpw(i);system("pause");/系統(tǒng)暫停函數(shù)break;case 2:printf(&quo

13、t;該功能已經(jīng)被管理員禁用!n");system("pause");/系統(tǒng)暫停函數(shù)break;case 3:flag0=3;system("pause");/系統(tǒng)暫停函數(shù)break;default:printf("輸入有誤!請(qǐng)重現(xiàn)選擇!n");system("pause");/系統(tǒng)暫停函數(shù)if(flag0=3)system("pause");/系統(tǒng)暫停函數(shù)break;break;case 3:printf("成功退出!");break;default:printf(

14、"輸入有誤!");system("pause");/系統(tǒng)暫停函數(shù)printf("感謝您的使用!老司機(jī)再見!n");system("pause");return 0;void Chushihua()FILE *fp1,*fp2;int i;ST stu5=1,"Yaya","1234","16-01",70,70,70,24,5,2,"Nico","1234","16-01",75,75,75,24

15、,4,3,"Miku","1234","16-01",80,80,80,24,3,4,"Kurumi","1234","16-01",85,85,85,24,2,5,"Ayame","1234","16-01",100,100,100,24,1;fp1=fopen("D:學(xué)生信息.txt","r");fp2=fopen("D:學(xué)生數(shù)目.txt","

16、r");if(fp1=NULL)|(fp2=NULL)printf("本地沒有記錄,系統(tǒng)開始初始化");fp1=fopen("D:學(xué)生信息.txt","w+");for(i=0;i<5;i+)fwrite(&stui,sizeof(ST),1,fp1);fclose(fp1);fp2=fopen("D:學(xué)生數(shù)目.txt","w+");fprintf(fp2,"%d",5);fclose(fp2);void Stucpw(int i)char str11

17、,str111,str211;/從文件讀取數(shù)據(jù)int r;/人數(shù)int m;/控制變量ST stu30;FILE *fp1,*fp2;fp2=fopen("D:學(xué)生數(shù)目.txt","r");fscanf(fp2,"%d",&r);fclose(fp2);fp1=fopen("D:學(xué)生信息.txt","r");for(m=0;m<r;m+)fread(&stum,sizeof(ST),1,fp1);fclose(fp1);/開始修改密碼printf("請(qǐng)輸入舊密碼:

18、");fflush(stdin);gets(str);if(!strcmp(stui.password,str)printf("請(qǐng)輸入新密碼:");fflush(stdin);gets(str1);printf("請(qǐng)?jiān)俅屋斎胄旅艽a:");fflush(stdin);gets(str2);if(!strcmp(str1,str2)strcpy(stui.password,str1);printf("新密碼為%s!",stui.password);Ssave(stu,r);printf("密碼修改成功!請(qǐng)重新登錄&qu

19、ot;);elseprintf("新密碼兩次輸入不一致,修改失敗!n");elseprintf("舊密碼不正確!");void Ssave(ST stu30,int r)int i;FILE *fp1,*fp2;printf("正在將修改寫入文件");fp1=fopen("D:學(xué)生信息.txt","w+");for(i=0;i<r;i+)fwrite(&stui,sizeof(ST),1,fp1);fclose(fp1);fp2=fopen("D:學(xué)生數(shù)目.txt&quo

20、t;,"w+");fprintf(fp2,"%d",r);fclose(fp2);void Stuadd()/從文件讀取數(shù)據(jù)int r;/人數(shù)int m;/控制變量printf("正在調(diào)用學(xué)生信息添加功能");ST stu30;FILE *fp1,*fp2;fp2=fopen("D:學(xué)生數(shù)目.txt","r");fscanf(fp2,"%d",&r);fclose(fp2);fp1=fopen("D:學(xué)生信息.txt","r")

21、;for(m=0;m<r;m+)fread(&stum,sizeof(ST),1,fp1);fclose(fp1);/開始添加新學(xué)生信息printf("準(zhǔn)備完畢,let's go!n");printf("新學(xué)生的id自動(dòng)生成為%dn",r);stur.id=r;printf("請(qǐng)輸入新學(xué)生的姓名;");fflush(stdin);gets();printf("新學(xué)生的密碼自動(dòng)初始化為1234!n");strcpy(stur.password,"1234")

22、;printf("請(qǐng)輸入新學(xué)生的班級(jí)(xx-xx):");fflush(stdin);gets(stur.classs);printf("請(qǐng)輸入新學(xué)生的成績:(物理/生物/化學(xué))n");scanf("%f/%f/%f",&stur.grade.physics,&stur.grade.biology,&stur.grade.chemistry);printf("請(qǐng)輸入學(xué)生的年齡:");scanf("%d",&stur.age);stur.ranking=0;prin

23、tf("新學(xué)生信息nID:%dn姓名:%sn班級(jí):%sn年齡:%dn學(xué)生成績:n物理:%.1f分n生物:%.1f分n化學(xué):%.1fn排名:%dn",stur.id,,stur.classs,stur.age,stur.grade.physics,stur.grade.biology,stur.grade.chemistry,stur.ranking);if(Save_enquiry()r+;Ssave(stu,r);printf("新學(xué)生添加完畢!");elseprintf("新學(xué)生添加失敗!");int Save_

24、enquiry()char c1,c2;printf("您即將對(duì)系統(tǒng)信息進(jìn)行修改,是否繼續(xù)?(y/n)");fflush(stdin);c1=getchar();printf("您即將對(duì)系統(tǒng)信息進(jìn)行修改,請(qǐng)?jiān)俅未_定是否繼續(xù)?(y/n)");fflush(stdin);c2=getchar();if(c1='y')&&(c2='y')printf("系統(tǒng)開始修改,請(qǐng)稍候片刻");return 1;elseprintf("信息修改取消");return 0;void St

25、udelete()int flag=0;/是否找到目標(biāo)標(biāo)志char str20;int i;/從文件讀取數(shù)據(jù)int r;/人數(shù)int m;/控制變量printf("正在調(diào)用學(xué)生信息刪除功能");ST stu30;FILE *fp1,*fp2;fp2=fopen("D:學(xué)生數(shù)目.txt","r");fscanf(fp2,"%d",&r);fclose(fp2);fp1=fopen("D:學(xué)生信息.txt","r");for(m=0;m<r;m+)fread(&am

26、p;stum,sizeof(ST),1,fp1);fclose(fp1);/刪除程序printf("請(qǐng)輸入你想刪除的學(xué)生姓名:");fflush(stdin);gets(str);for(i=0;i<r;i+)if(!strcmp(,str)flag=1;break;if(flag)for(m=i;m<r-1;m+)stum.id=m;strcpy(,stum+1.name);strcpy(stum.password,stum+1.password);strcpy(stum.classs,stum+1.classs);stum

27、.grade.physics=stum+1.grade.physics;stum.grade.biology=stum+1.grade.biology;stum.grade.chemistry=stum.grade.chemistry;stum.age=stum.age=stum+1.age;if(Save_enquiry()r-;Ssave(stu,r);printf("學(xué)生%s信息刪除完畢!",str);elseprintf("刪除失??!");elseprintf("未找到該學(xué)生信息!");void Stualter()int n

28、;/選擇標(biāo)志int flag=0;/是否找到目標(biāo)標(biāo)志int flag1=0;/是否輸入錯(cuò)誤標(biāo)志char str20;/被修改學(xué)生的姓名char str120;/新姓名char str211;/新密碼char str36;/新班級(jí)/從文件讀取數(shù)據(jù)int r;/人數(shù)int m;/控制變量printf("正在調(diào)用學(xué)生信息刪除功能");ST stu30;FILE *fp1,*fp2;fp2=fopen("D:學(xué)生數(shù)目.txt","r");fscanf(fp2,"%d",&r);fclose(fp2);fp1=fop

29、en("D:學(xué)生信息.txt","r");for(m=0;m<r;m+)fread(&stum,sizeof(ST),1,fp1);fclose(fp1);/修改程序printf("請(qǐng)輸入你想修改的學(xué)生姓名:");fflush(stdin);gets(str);for(m=0;m<r;m+)if(!strcmp(,str)flag=1;break;if(flag)printf("請(qǐng)輸入你想修改哪種信息:n1,姓名n2,密碼n3,班級(jí)n4,年齡n學(xué)生成績:n5,物理n6,生物n7,化學(xué)&q

30、uot;);scanf("%d",&n);switch(n)case 1:printf("請(qǐng)輸入新的姓名:");fflush(stdin);gets(str1);strcpy(,str1);flag1+;break;case 2:printf("請(qǐng)輸入新的密碼:");fflush(stdin);gets(str2);strcpy(stum.password,str2);flag1+;break;case 3:printf("請(qǐng)輸入新的班級(jí)(xx-xx):");fflush(stdin);g

31、ets(str3);strcpy(stum.classs,str3);flag1+;break;case 4:printf("請(qǐng)輸入新的年齡:");scanf("%d",&stum.age);flag1+;break;case 5:printf("請(qǐng)輸入新的物理成績:");scanf("%f",&stum.grade.physics);flag1+;break;case 6:printf("請(qǐng)輸入新的生物成績:");scanf("%f",&stum.g

32、rade.biology);flag1+;break;case 7:printf("請(qǐng)輸入新的化學(xué)成績:");scanf("%f",&stum.grade.chemistry);flag1+;break;default:printf("輸入有誤!默認(rèn)您放棄此次更改");if(flag1)if(Save_enquiry()Ssave(stu,r);elseprintf("未找到該學(xué)生信息!");void Sturefer()char str20;int flag=0;/從文件讀取數(shù)據(jù)int r;/人數(shù)int

33、m;/控制變量printf("正在調(diào)用學(xué)生信息查詢功能");ST stu30;FILE *fp1,*fp2;fp2=fopen("D:學(xué)生數(shù)目.txt","r");fscanf(fp2,"%d",&r);fclose(fp2);fp1=fopen("D:學(xué)生信息.txt","r");for(m=0;m<r;m+)fread(&stum,sizeof(ST),1,fp1);fclose(fp1);/查詢程序printf("請(qǐng)輸入你想修改的學(xué)生姓名

34、:");fflush(stdin);gets(str);for(m=0;m<r;m+)if(!strcmp(,str)flag=1;break;if(flag)printf("學(xué)生信息nID:%dn姓名:%sn班級(jí):%sn年齡:%dn學(xué)生成績:n物理:%.1f分n生物:%.1f分n化學(xué):%.1fn排名:%dn",stum.id,,stum.classs,stum.age,stum.grade.physics,stum.grade.biology,stum.grade.chemistry,stum.ranking);else

35、printf("未找到該學(xué)生信息!");void Sturank(ST stu030,int i)printf("n開始排名");float temp;/中間變量int m;int p,q;/冒泡控制變量float gradesum30;for(m=0;m<i;m+)/*printf("%.1f",stu0m.grade.physics);*/gradesumm=stu0m.grade.physics+stu0m.grade.biology+stu0m.grade.chemistry;/*printf("%.1f&qu

36、ot;,gradesumm);*/冒泡排序for(p=0;p<i-1;p+)/總共需要冒i-1次泡for(q=0;q<i-1-p;q+)/第p次冒泡需要比較q次if(gradesumq<gradesumq+1)/將較小值后移temp=gradesumq+1;gradesumq+1=gradesumq;gradesumq=temp;for(m=0;m<i;m+)printf("%.1ft",gradesumm);/根據(jù)數(shù)組順序修改排名值printf("n少女們開始報(bào)數(shù)!");for(m=0;m<i;m+)/依次重現(xiàn)數(shù)組數(shù)據(jù)q=

37、gradesumm;printf("%.1ft",q);for(p=0;p<i;p+)/重復(fù)結(jié)構(gòu)體的每個(gè)數(shù)據(jù)temp=stu0p.grade.physics+stu0p.grade.biology+stu0p.grade.chemistry;printf("%.1ft",temp);if(temp=q)/挑出數(shù)組與結(jié)構(gòu)體對(duì)應(yīng)的值 stu0p.ranking=m+1;/得出排名printf("%st",);printf("n成功ranking");/從文件讀取數(shù)據(jù)int r;/人數(shù)print

38、f("正在調(diào)用學(xué)生信息查詢功能");ST stu30;FILE *fp1,*fp2;fp2=fopen("D:學(xué)生數(shù)目.txt","r");fscanf(fp2,"%d",&r);fclose(fp2);fp1=fopen("D:學(xué)生信息.txt","r");for(m=0;m<r;m+)fread(&stum,sizeof(ST),1,fp1);fclose(fp1);/部分結(jié)構(gòu)體與總結(jié)構(gòu)體進(jìn)行比較for(p=0;p<i;p+)for(q=0;q

39、<r;q+)if(!strcmp(,)/找出同名人stuq.ranking=stu0p.ranking;/修改成正確的排名system("cls");printf("新的排名為:n");for(m=0;m<i;m+)printf("ID:%dt姓名:%st理綜分?jǐn)?shù):%.1ft排名:%dn",stu0m.id,,(stu0m.grade.physics+stu0m.grade.biology+stu0m.grade.chemistry),stu0m.ranking);Ssave(stu,r);/保存數(shù)據(jù)printf("排名完成!n");void Stuclassesrank()/從文件讀取信息int m;int r;/人數(shù)printf("正在準(zhǔn)備");ST stu30;FILE *fp1,*fp2;fp2=fopen("D:學(xué)生數(shù)目.txt","r");fscanf(fp2,"%d",&r);fclose(fp2);fp1=fopen("D:學(xué)生

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論