版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
學(xué)生教務(wù)管理系統(tǒng)2任務(wù)二基于文件的學(xué)生/教務(wù)管理系統(tǒng)言為了鞏固我們C語(yǔ)言知識(shí),并了解其在生活中的應(yīng)用,由老師為我們帶來(lái)了這個(gè)題目。通過(guò)實(shí)訓(xùn),學(xué)會(huì)為實(shí)際應(yīng)用涉及的數(shù)據(jù)選擇適當(dāng)?shù)倪壿嫿Y(jié)構(gòu)、存儲(chǔ)結(jié)構(gòu)及相應(yīng)的算法,從而對(duì)C語(yǔ)言程序設(shè)計(jì)這門課能有一個(gè)更深刻的理解和認(rèn)識(shí);再者,實(shí)訓(xùn)相對(duì)于平時(shí)試驗(yàn)課來(lái)說(shuō),要完成的是一個(gè)難度較大的可執(zhí)行綜合性程序,培養(yǎng)需求分析和系統(tǒng)架構(gòu)等處理復(fù)雜問(wèn)題的能力,從而極大的提高學(xué)生的編程能力以及撰寫(xiě)文檔的能力;希望能通過(guò)實(shí)訓(xùn),實(shí)際做到理論和實(shí)踐緊密結(jié)合,同時(shí)也為后續(xù)課程打下堅(jiān)實(shí)的基礎(chǔ)知識(shí)。系統(tǒng)需求分析2.2.1問(wèn)題定義本系統(tǒng)可以應(yīng)用于教務(wù)處,進(jìn)行對(duì)學(xué)生,教師,教務(wù)處人員的管理(添加,修改,刪除,統(tǒng)計(jì)),人員查詢,成績(jī)查詢(可以按照姓名查詢,證件號(hào)查詢)。本系統(tǒng)主要面對(duì)學(xué)生,教師,教務(wù)處,所以進(jìn)入該系統(tǒng)時(shí)可以選擇不同的身份進(jìn)入,若已存在賬號(hào),則可以直接進(jìn)去選擇自己的身份,若不存在賬號(hào),則需要管理員進(jìn)入添加,管理員可以進(jìn)行的功能有成績(jī)管理,學(xué)生管理,教師管理,管理員管理,每個(gè)模塊都有添加,刪除,修改,統(tǒng)計(jì),查詢五個(gè)基本功能。而教師則可以進(jìn)行成績(jī)的添加,修改,查詢,等功能。學(xué)生只有查詢和修改個(gè)人信息的功能。學(xué)學(xué)生管理系統(tǒng)管理員師教師管學(xué)生管成績(jī)管管理員成績(jī)管個(gè)人管查詢修改個(gè)理理理管理理理人信息系統(tǒng)設(shè)計(jì)將要實(shí)現(xiàn)的模塊分級(jí)進(jìn)行架構(gòu)學(xué)生管理系統(tǒng)管理教師:教師添加,教師修改,教師刪除,教師統(tǒng)計(jì),教師查詢管理學(xué)生:學(xué)生添加,學(xué)生修改,學(xué)生刪除,學(xué)生統(tǒng)計(jì),學(xué)生查詢管理管理員:管理員添加,管理員修改,管理員刪除,管理員統(tǒng)計(jì),管理員查詢成績(jī)管理:計(jì)算個(gè)人成績(jī),計(jì)算各科成績(jī),計(jì)算平均成績(jī),計(jì)算最高最低分,排序?qū)W生模塊:查詢個(gè)人成績(jī),查詢個(gè)人信息,修改個(gè)人信息教師模塊:添加學(xué)生成績(jī),修改學(xué)生成績(jī),刪除學(xué)生成績(jī),查詢學(xué)生信息,查詢個(gè)人信息,修改個(gè)人信息。姓名身份證號(hào)聯(lián)系方式教師姓名教師號(hào)身份證號(hào)數(shù)據(jù)類型charcharcharcharchar數(shù)據(jù)類型charcharcharchar可否為空否否是否是可否為空聯(lián)聯(lián)系方式課程管理員績(jī)姓名證件號(hào)身份證號(hào)聯(lián)系方式數(shù)學(xué)成績(jī)體育成績(jī)英語(yǔ)成績(jī)社會(huì)實(shí)踐分平均分?jǐn)?shù)據(jù)類型數(shù)據(jù)類型floatfloatfloatfloatfloatfloatfloat可否為空否否是否是可否為空否否否否否否否否管理員可以進(jìn)行的功能有成績(jī)管理,學(xué)生管理,教師管理,管理員管理,每個(gè)模塊都有添加,刪除,修改,統(tǒng)計(jì),查詢五個(gè)基本功能。而教師則可以進(jìn)行成績(jī)的添加,修改,查詢,等功能。學(xué)生只有查詢和修改個(gè)人信息的功能。系統(tǒng)實(shí)現(xiàn)統(tǒng)軟件環(huán)境:VC++,2.4.4系統(tǒng)功能模塊設(shè)計(jì)與實(shí)現(xiàn)下面分別對(duì)該模塊中的具體功能進(jìn)行詳細(xì)描述,并配相應(yīng)功能的截圖添加功能FILE*fp;charch2;inti=0,ch1;printf("歡迎進(jìn)入防災(zāi)科技學(xué)院學(xué)生管理系統(tǒng)\n");printfy請(qǐng)輸入n\n");scanf("%c",&ch2);if(ch2=='y'){{fp=fopen("","a+");/*輸入所要添加的內(nèi)容*/fwrite(&manager[i],sizeof(structmanager),1,fp);printf("%s,%s,%s,%s\n",manager[i].name,manager[i].sex,manager[i].mnum,manager[i].zhiwei);printf("是否繼續(xù)添加,繼續(xù)添加請(qǐng)輸入1,否則輸入0\n");scanf("%d",&ch1);fclose(fp);}while(ch1==1);}2.修改功能首先選擇修改的依據(jù),可以依據(jù)證件號(hào),姓名兩張方式修改。具體fp=fopen("","r+");printf("請(qǐng)輸入需要修改的人員的編號(hào)\n");scanf("%s",str);for(i=0;fread(&manager[i],sizeof(structmanager),1,fp)!=0;i++){if(strcmp(str,manager[i].mnum)==0){printf("%s,%s,%s,%s\n",manager[i].name,manager[i].sex,manager[i].mnum,manager[i].zhiwei);printf("確認(rèn)修改,確認(rèn)請(qǐng)輸入scanf("%d",&ch1);if(ch1==1){/*選擇修改的類型*/scanf("%d",&ch2);switch(ch2){case1:{printf("請(qǐng)輸入所要修改的姓名\n");scanf("%s",manager[i].name);fwrite(&manager[i],sizeof(structmanager),1,fp);}break;3.刪除功能刪除可以依據(jù)證件號(hào)和姓名查詢,刪除方法是,先找到需要?jiǎng)h除的人,然后讓排在其后的人員的信息替換這個(gè)人的信息。具體代碼如FILE*fp;charname[20];inti,flag,n,j,ch;fp=fopen("","r+");printf("originaldata\n");for(i=0,flag=1;fread(&teacher[i],sizeof(structteacher),1,fp)!=0;i++)printf("%s,%s,%s,%s\n",manager[i].name,manager[i].sex,manager[i].mnum,manager[i].zhiwei);n=i+1;fclose(fp);{printf("請(qǐng)輸入您所要?jiǎng)h除的人員的名字\n");scanf("%s",name);fp=fopen("","r");for(i=0,flag=1;flag&&i<n;i++){if(strcmp(name,manager[i].name)==0){for(j=i;j<n-1;j++){/*后一個(gè)人的信息覆蓋所需刪除人的信息*/}flag=0;}}if(!flag)n=n-1;elseprintf("notfound\n");fp=fopen("","w");for(i=0;i<n;i++)fwrite(&manager[i],sizeof(structmanager),1,fp);fclose(fp);fp=fopen("","r");for(i=0,flag=1;fread(&manager[i],sizeof(structmanager),1,fp)!=0;i++)printf("%s,%s,%s,%s\n",manager[i].name,manager[i].sex,manager[i].mnum,manager[i].zhiwei);fclose(fp);printf("是否繼續(xù)刪除,繼續(xù)請(qǐng)輸入1,否則請(qǐng)輸入0\n");scanf("%d",&ch);}while(ch==1);}4.查詢功能FILE*fp;inti;charname[20];intch{printf("請(qǐng)輸入姓名");scanf("%s",name);fp=fopen("","r");for(i=0;fread(&manager[i],sizeof(structmanager),1,fp)!=0;i++){if(strcmp(name,manager[i].name)==0)printf("%s,%s,%s,%s\n",manager[i].name,manager[i].sex,manager[i].mnum,manager[i].zhiwei);}fclose(fp);rintfnscanf("%d",&ch1);}while(ch1==1);}5.統(tǒng)計(jì)功能FILE*fp;ntnifp=fopen("","r");for(i=0;fread(&manager[i],sizeof(structmanager),1,fp)!=0;i++)n=i+1;fclose(fp);printf("共有%d名管理員\n",n);FILE*fp;charmnum[10],str[10];inti,flag,n;fp=fopen("","r+");printf("歡迎進(jìn)入學(xué)生管理系統(tǒng)\n");printf("請(qǐng)輸入證件號(hào)\n");scanf("%s",mnum);printf("請(qǐng)輸入密碼\n");scanf("%s",str);for(i=0;fread(&manager[i],sizeof(structmanager),1,fp)!=0;i++){n=i+1;printf("%d",n);}for(i=0,flag=1;i<n&&flag;i++){if((strcmp(mnum,manager[i].mnum)==0)&&(strcmp(str,manager[i].mima)==0)){managermanage();flag=0;}}fclose(fp);flagprintf("警告,密碼輸入錯(cuò)誤\n");}添加由教師添加,根據(jù)教師所教授課程而添加,具體實(shí)現(xiàn)代碼:FILE*fp,*fp1,*fp2;inti,n,k,j;chartnum[10],snum[10];str1[]="math",str2[]="ph",str3[]="c_language",str4[]="english",str5[]="practise";printf("請(qǐng)輸入您的教師號(hào)\n");scanf("%s",tnum);fp=fopen("","r");for(i=0;fread(&teacher[i],sizeof(structteacher),1,fp)!=0;i++){if(strcmp(tnum,teacher[i].tnum)==0)n=i;}if(strcmp(teacher[n].course,str1)==0){fp1=fopen("","r");fp2=fopen("","a+");printf("請(qǐng)輸入您所要添加學(xué)生的學(xué)號(hào)\n");scanf("%s",snum);for(i=0;fread(&student[i],sizeof(structstudent),1,fp1)!=0;i++){if(strcmp(snum,student[i].snum)==0)strcpy(grade[j].num,student[i].snum);}printf("請(qǐng)輸入高等數(shù)學(xué)的成績(jī)n;scanf("%f",&grade[j].math);fwrite(&grade[j],sizeof(structgrade),1,fp2);fclose(fp1);fclose(fp2);printf("是否繼續(xù)添加,是1,否0\n");scanf("%d",&k);}while(k==1);}elseif(strcmp(teacher[n].course,str4)==0){繼續(xù)添加其他課程elseprintf("不存在這門課,請(qǐng)核實(shí)\n");fclose(fp);}FILE*fp;inti;fp=fopen("","a+");for(i=0;fread(&grade[i],sizeof(structgrade),1,fp)!=0;i++){grade[i].sum=grade[i].math+grade[i].ph+grade[i].english+grade[i].c_language+grade[i].practise;grade[i].aver=grade[i].sum/5;printf("學(xué)號(hào)為%s的學(xué)生的總成績(jī)是%f\n",grade[i].num,grade[i].sum);printf("學(xué)號(hào)為%s的學(xué)生的平均成績(jī)是%f\n",grade[i].num,grade[i].aver);fwrite(&grade[i],sizeof(structgrade),1,fp);}fclose(fp);9.成績(jī)排序主要是運(yùn)用冒泡排序法。FILE*fp,*fp1;inti,n,j;floattemp;fp=fopen("","r");for(i=0;fread(&grade[i],sizeof(structgrade),1,fp)!=0;i++);n=i+1;for(i=0;i<n-1;i++){for(j=0;j<n-i;j++)if(grade[j].aver<grade[j+1].aver){temp=grade[j].aver;grade[j].aver=grade[j+1].aver;grade[j+1].aver=temp;}}for(i=0;i<n-1;i++){printf("學(xué)號(hào)為%s的學(xué)生的成績(jī)?yōu)?f\n",grade[i].
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 合同部客戶服務(wù)策略
- 地鐵隧道開(kāi)挖巖土工程合同
- 藥品生產(chǎn)經(jīng)理聘任合同
- 音樂(lè)節(jié)協(xié)管員聘用協(xié)議
- 2025石家莊小產(chǎn)權(quán)買賣合同
- 專業(yè)人才多元融合培養(yǎng)機(jī)制策略及實(shí)施路徑
- 2023年注冊(cè)安全工程師考試全套真題下載
- 備品備件庫(kù)ERP出入庫(kù)操作流程
- 泉州工藝美術(shù)職業(yè)學(xué)院《中學(xué)音樂(lè)課程與教學(xué)論》2023-2024學(xué)年第一學(xué)期期末試卷
- 曲靖職業(yè)技術(shù)學(xué)院《專業(yè)導(dǎo)論(環(huán)境設(shè)計(jì))》2023-2024學(xué)年第一學(xué)期期末試卷
- 小學(xué)語(yǔ)文作文技巧六年級(jí)寫(xiě)人文章寫(xiě)作指導(dǎo)(課堂PPT)
- NLP時(shí)間線療法
- JJG596-2012《電子式交流電能表檢定規(guī)程》
- 醫(yī)療質(zhì)量檢查分析、總結(jié)、反饋
- 《APQP培訓(xùn)資料》
- 通信線路架空光纜通用圖紙指導(dǎo)
- 家具銷售合同,家居訂購(gòu)訂貨協(xié)議A4標(biāo)準(zhǔn)版(精編版)
- 食品加工與保藏課件
- 銅芯聚氯乙烯絕緣聚氯乙烯護(hù)套控制電纜檢測(cè)報(bào)告可修改
- 有功、無(wú)功控制系統(tǒng)(AGCAVC)技術(shù)規(guī)范書(shū)
- PE拖拉管施工方案(完整版)
評(píng)論
0/150
提交評(píng)論