學(xué)生教務(wù)管理系統(tǒng)_第1頁
學(xué)生教務(wù)管理系統(tǒng)_第2頁
學(xué)生教務(wù)管理系統(tǒng)_第3頁
學(xué)生教務(wù)管理系統(tǒng)_第4頁
學(xué)生教務(wù)管理系統(tǒng)_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

學(xué)生教務(wù)管理系統(tǒng)2任務(wù)二基于文件的學(xué)生/教務(wù)管理系統(tǒng)言為了鞏固我們C語言知識,并了解其在生活中的應(yīng)用,由老師為我們帶來了這個題目。通過實訓(xùn),學(xué)會為實際應(yīng)用涉及的數(shù)據(jù)選擇適當?shù)倪壿嫿Y(jié)構(gòu)、存儲結(jié)構(gòu)及相應(yīng)的算法,從而對C語言程序設(shè)計這門課能有一個更深刻的理解和認識;再者,實訓(xùn)相對于平時試驗課來說,要完成的是一個難度較大的可執(zhí)行綜合性程序,培養(yǎng)需求分析和系統(tǒng)架構(gòu)等處理復(fù)雜問題的能力,從而極大的提高學(xué)生的編程能力以及撰寫文檔的能力;希望能通過實訓(xùn),實際做到理論和實踐緊密結(jié)合,同時也為后續(xù)課程打下堅實的基礎(chǔ)知識。系統(tǒng)需求分析2.2.1問題定義本系統(tǒng)可以應(yīng)用于教務(wù)處,進行對學(xué)生,教師,教務(wù)處人員的管理(添加,修改,刪除,統(tǒng)計),人員查詢,成績查詢(可以按照姓名查詢,證件號查詢)。本系統(tǒng)主要面對學(xué)生,教師,教務(wù)處,所以進入該系統(tǒng)時可以選擇不同的身份進入,若已存在賬號,則可以直接進去選擇自己的身份,若不存在賬號,則需要管理員進入添加,管理員可以進行的功能有成績管理,學(xué)生管理,教師管理,管理員管理,每個模塊都有添加,刪除,修改,統(tǒng)計,查詢五個基本功能。而教師則可以進行成績的添加,修改,查詢,等功能。學(xué)生只有查詢和修改個人信息的功能。學(xué)學(xué)生管理系統(tǒng)管理員師教師管學(xué)生管成績管管理員成績管個人管查詢修改個理理理管理理理人信息系統(tǒng)設(shè)計將要實現(xiàn)的模塊分級進行架構(gòu)學(xué)生管理系統(tǒng)管理教師:教師添加,教師修改,教師刪除,教師統(tǒng)計,教師查詢管理學(xué)生:學(xué)生添加,學(xué)生修改,學(xué)生刪除,學(xué)生統(tǒng)計,學(xué)生查詢管理管理員:管理員添加,管理員修改,管理員刪除,管理員統(tǒng)計,管理員查詢成績管理:計算個人成績,計算各科成績,計算平均成績,計算最高最低分,排序?qū)W生模塊:查詢個人成績,查詢個人信息,修改個人信息教師模塊:添加學(xué)生成績,修改學(xué)生成績,刪除學(xué)生成績,查詢學(xué)生信息,查詢個人信息,修改個人信息。姓名身份證號聯(lián)系方式教師姓名教師號身份證號數(shù)據(jù)類型charcharcharcharchar數(shù)據(jù)類型charcharcharchar可否為空否否是否是可否為空聯(lián)聯(lián)系方式課程管理員績姓名證件號身份證號聯(lián)系方式數(shù)學(xué)成績體育成績英語成績社會實踐分平均分數(shù)據(jù)類型數(shù)據(jù)類型floatfloatfloatfloatfloatfloatfloat可否為空否否是否是可否為空否否否否否否否否管理員可以進行的功能有成績管理,學(xué)生管理,教師管理,管理員管理,每個模塊都有添加,刪除,修改,統(tǒng)計,查詢五個基本功能。而教師則可以進行成績的添加,修改,查詢,等功能。學(xué)生只有查詢和修改個人信息的功能。系統(tǒng)實現(xiàn)統(tǒng)軟件環(huán)境:VC++,2.4.4系統(tǒng)功能模塊設(shè)計與實現(xiàn)下面分別對該模塊中的具體功能進行詳細描述,并配相應(yīng)功能的截圖添加功能FILE*fp;charch2;inti=0,ch1;printf("歡迎進入防災(zāi)科技學(xué)院學(xué)生管理系統(tǒng)\n");printfy請輸入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ù)添加請輸入1,否則輸入0\n");scanf("%d",&ch1);fclose(fp);}while(ch1==1);}2.修改功能首先選擇修改的依據(jù),可以依據(jù)證件號,姓名兩張方式修改。具體fp=fopen("","r+");printf("請輸入需要修改的人員的編號\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("確認修改,確認請輸入scanf("%d",&ch1);if(ch1==1){/*選擇修改的類型*/scanf("%d",&ch2);switch(ch2){case1:{printf("請輸入所要修改的姓名\n");scanf("%s",manager[i].name);fwrite(&manager[i],sizeof(structmanager),1,fp);}break;3.刪除功能刪除可以依據(jù)證件號和姓名查詢,刪除方法是,先找到需要刪除的人,然后讓排在其后的人員的信息替換這個人的信息。具體代碼如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("請輸入您所要刪除的人員的名字\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++){/*后一個人的信息覆蓋所需刪除人的信息*/}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ù)請輸入1,否則請輸入0\n");scanf("%d",&ch);}while(ch==1);}4.查詢功能FILE*fp;inti;charname[20];intch{printf("請輸入姓名");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)計功能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("歡迎進入學(xué)生管理系統(tǒng)\n");printf("請輸入證件號\n");scanf("%s",mnum);printf("請輸入密碼\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("警告,密碼輸入錯誤\n");}添加由教師添加,根據(jù)教師所教授課程而添加,具體實現(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("請輸入您的教師號\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("請輸入您所要添加學(xué)生的學(xué)號\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("請輸入高等數(shù)學(xué)的成績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("不存在這門課,請核實\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é)號為%s的學(xué)生的總成績是%f\n",grade[i].num,grade[i].sum);printf("學(xué)號為%s的學(xué)生的平均成績是%f\n",grade[i].num,grade[i].aver);fwrite(&grade[i],sizeof(structgrade),1,fp);}fclose(fp);9.成績排序主要是運用冒泡排序法。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é)號為%s的學(xué)生的成績?yōu)?f\n",grade[i].

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論