C語言課設之學生學籍管理系統(tǒng)_第1頁
C語言課設之學生學籍管理系統(tǒng)_第2頁
C語言課設之學生學籍管理系統(tǒng)_第3頁
C語言課設之學生學籍管理系統(tǒng)_第4頁
免費預覽已結束,剩余6頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、.題目:學生學籍管理系統(tǒng)目錄:一 . 個人簡介。二 . 報告摘要。三 . 報告目錄。四 . 報告正文。1 、系統(tǒng)需求分析2 、系統(tǒng)總體設計3 、系統(tǒng)詳細設計六.總結。二 . 報告摘要這個 C語言課程設計是關于學生學籍管理系統(tǒng)的設計, 題目要求能夠錄入數(shù)據(jù), 查詢,刪除和排序的功能。報告依次以主函數(shù)板塊、數(shù)據(jù)錄入板塊、查詢板塊、刪除板塊、排序板塊的順序進行。三 . 報告目錄1 主函數(shù)2 數(shù)據(jù)錄入3 查詢4 刪除5 排序四 . 報告正文1 系統(tǒng)需求分析s.根據(jù)題目需求,在程序中要求瀏覽學生的信息,應該提供數(shù)據(jù)錄入、查詢、刪除、排序的操作。 題目要求實得成績、 實得學分根據(jù)條件自動運算, 應該提供求

2、綜合成績和實得學分的算法,另外還應該提供鍵盤式選擇菜單實現(xiàn)功能選擇。2 系統(tǒng)總體設計學生學籍管理系統(tǒng)數(shù)據(jù)錄入數(shù)據(jù)查詢刪除數(shù)據(jù)數(shù)據(jù)排序3 系統(tǒng)詳細設計( 1)主函數(shù)負責提供輸入、處理和輸出部分的函數(shù)調用,其中各功能模塊用菜單方式選擇。程序:void menu()int n,w;doputs("tt*MENU*nn");puts("tttt1.enter new data-student");puts("tttt2.search by name");puts("tttt3.search by learn number"

3、);puts("tttt4.delete data");puts("tttt5.insert data");puts("tttt6.enter new data-sorce");puts("tttt6.exit");puts("nntt*n");printf("choice your number(1-9):bb");scanf("%d",&n);if(n<1|n>9)w1=1;getchar();s.else w1=0;while(w

4、1=1);switch(n)case 1:enter();breakcase 2:search by name();break;case 3:search by learn number();break;case 4:del();break;case 5:insert():break;case 6:exit(0);break;main()menu();( 2)數(shù)據(jù)錄入板塊數(shù)據(jù)信息中學號、姓名等是字符型,采用字符型數(shù)組,分數(shù)、 、等為整數(shù),可以采用整型數(shù)組,實得學分可能為小數(shù),采用實型。采用結構體數(shù)組存放學生數(shù)據(jù)信息到文件。程序:/*/#define N 10struct studentint

5、num;char name20;char sex;char tel20;char domi3;stuN;viod enter new data-student()int i,n;printf("hou many students(0-%d)?:",n-1);for(n=1;n<10;n+)printf("n enter data nownn");s.for(i=0;i<n;i+)printf("n input%dth student record.n",i+1);input(i);if(i!=0) save(n);prin

6、tf_back();#define N 10struct courseint num;int course_num;char coursename;int normalsorce平時成績實驗成績考試成績綜合成績實得學分couNvoid enter new data-sorce()int i,n,z,c;float s;printf("how many num(0-%d)?: "N-1);for(n=1;n<10;n+)printf(n enter data nownn");for(i=0;i<n;i+)print("n input%dth r

7、ecord.n",i+1);input(i);if(i!=0) save(n);printf_back();s.if(cou1.lab=-1) cou1.true=cou1.normal*0.3+cou1.text*0.7; else cou1.true=cou1.lab*0.15+cou1.normal*0.15+cou1.text*0.7;if(c=100) s=cou1.normalsorce*1;else c=cou1.text/10;switch(c)case 10:case 9:s=cou1.normalsorce*0.9;break;case 8:s=cou1.norm

8、alsorce*0.8;break;case 7:s=cou1.normalsorce*0.75;break;case 6:s=cou1.normalsorce*0.6;break;case 5:case 4:case 3:case 2:case 1:case 0:s=0;break;default:printf("errorn"); coui.act=s;( 3) 數(shù)據(jù)查詢這個模塊要求a. 輸入一個學號或姓名查訊學生的基本信息并顯示輸出;輸入一個宿舍號碼,可查出本室所有學生的基本信息并顯示輸出; c. 輸入一個學號時,查出此學生所有課程情況。程序:/*/Search()i

9、nt i,n,k;Struct student s;Struct course c;n=load();dodo k=-1;s.printf("nnenter name that you want to search!name:");scanf("%s",);printf _face();do n=-1;Printf("nnenter domi that you want to search!domi:")scanf("%d",s.domi);printf_ face();do i=-1;printf(&

10、quot;nnenter num that you want to search!num ");scanf("%d%c%d%f",c.num,c.coursename,c.ture,c.act);printf_face();( 4)刪除數(shù)據(jù)題目要求在刪除A.TXT 中一個學生信息時,B.TXT 中相應的信息也要被刪除。程序:/*/void del()struct student ssturct course c;FILE*fp;int i,n,k w0=1,w1,w2=0;n=load();dok=-1;printf_face();for(i=0,i<n;i

11、+)if(i!=0)&&(i%10=0)printf("nnrememberno. which needed delete.Passany key to contiune.");getch()puts("nn");s.printf_one(i);doprintf("nnenter no. That you want to delete!no.");scanf("%s",s.num);for(i=0;i<n;i+)if(strcmp(s.num,stui.mum=0)k=i;s=stui;for

12、(i=0,i<n,i+)if(strcmp(coui=stui)if(k=-1)printf("nnno exist!Please again");while(k=-1);printf_face();printf_one(k);w1=delete_data(k,n);if(w1=1)Printf("nsuccessful !nnare you delete another ?nnt1 )yes 2)back with savetbb");scanf("%d",&w0);w2=1;elsew0=0;if(w2=1)stuk

13、=sif(w0!=1&&w2=1)save(n);while(w0=1);menu()s.( 5)數(shù)據(jù)排序能實現(xiàn)選擇按綜合成績或實得學分升序或降序排序并顯示數(shù)據(jù)。程序:/*/void order()int i,j,k;int m,n,p;struct course s;struct course c;for(i=0;i<9;i+)k=i;for(j=i+1;j<10;j+) if(couj.true>couk.true) k=j;s=coui.true;coui.true=couj.true;couj.true=s;for(m=0;m<9;m+)p=mf

14、or(n=m+1;n<10;n+) if(cou.actn>cou.Actp)p=n;c= cou.actm;cou.actm=cou.atcn;cou.actn=c;(6)公共函數(shù)/*voidprintf_face1()/ 每次要輸出文件1 數(shù)據(jù)的時候用到(打印到數(shù)據(jù)的第一排,提示作用) printf("n學號性別 宿舍號碼電話號碼 n");/*void printf_face() /每次要輸出文件2 數(shù)據(jù)的時候用到(打印到數(shù)據(jù)的第一排,提示作用) printf("n學號 課程編號課程名稱學分平時成績實驗成績卷面成績綜合成績實得分數(shù) n")

15、;s./*void printf_back() /返回函數(shù) int w;printf("nnt數(shù)據(jù)輸入成功 _nn");printf("選擇需要實現(xiàn)的功能nnt1).瀏覽輸入的數(shù)據(jù)t2).返回主菜單 : bb");scanf("%d",&w);if(w=1) browse();else menu();/*int save(int n) /保存輸入的數(shù)據(jù)到txt文檔FILE *fp;int i;if(fp=fopen("Pro.txt","wb")=NULL)printf("nC

16、annot open filen");return NULL; for(i=0;i<n;i+)if(coursei.num!=0)if(fwrite(&coursei,sizeof(struct course),1,fp)!=1) printf("file write errorn");fclose(fp); return 0;/*void no_input(int i,int n) /檢查輸入數(shù)據(jù)是否存在以及編號是否正確 j,k,w1;dow1=0;for(j=0;coursei.numj!='0'j+) /判斷輸入編號格式是否正確if(coursei.numj>&#

溫馨提示

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

評論

0/150

提交評論