學(xué)生學(xué)籍信息管理系統(tǒng)設(shè)計(jì)書_第1頁(yè)
學(xué)生學(xué)籍信息管理系統(tǒng)設(shè)計(jì)書_第2頁(yè)
學(xué)生學(xué)籍信息管理系統(tǒng)設(shè)計(jì)書_第3頁(yè)
學(xué)生學(xué)籍信息管理系統(tǒng)設(shè)計(jì)書_第4頁(yè)
學(xué)生學(xué)籍信息管理系統(tǒng)設(shè)計(jì)書_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、學(xué)生學(xué)籍信息管理系統(tǒng) -C語言課程設(shè)計(jì)指導(dǎo)教師:王麗設(shè) 計(jì) 者:劉忠泰 劉啟東 陳俊京 程 龍 專業(yè)班級(jí):通信112班設(shè)計(jì)時(shí)間:2012年6月組 員 分 工1、組長(zhǎng):劉忠泰 主函數(shù)部分及輸入信息、輸出信息。2、組員:程 龍 查詢信息。3、組員:劉啟東 修改信息。4、組員:陳俊京 添加信息。 學(xué)生學(xué)籍信息管理系統(tǒng)一、系統(tǒng)的軟硬件環(huán)境1、硬件環(huán)境:一般來說586電腦就可以提供并支持系統(tǒng)的使用及運(yùn)行,此外,若想打印或成稿還需要使用打印機(jī); U盤、軟盤也是程序的必要載體。2、軟件環(huán)境: Windows環(huán)境下安裝Turbo C2.0語言系統(tǒng),安裝完畢后即可使用,而且要用到UCDOS。二、系統(tǒng)總體框架圖

2、學(xué)生學(xué)籍信息管理系統(tǒng)是實(shí)現(xiàn)對(duì)學(xué)生學(xué)籍信息如學(xué)號(hào)、姓名、性別、年齡、家庭地址、聯(lián)系電話等實(shí)現(xiàn)輸入、查詢有關(guān)信息、修改有關(guān)信息、輸出、添加新生信息等功能的系統(tǒng),系統(tǒng)框架如圖1所示。學(xué)生學(xué)籍信息管理系統(tǒng)輸入模塊輸出模塊查找模塊修改模塊追加模塊顯示模塊按學(xué)號(hào)查找按姓名查找按姓名修改按學(xué)號(hào)修改排序模塊圖1 學(xué)生學(xué)籍信息管理系統(tǒng)框架圖三、程序功能簡(jiǎn)介(1)輸入模塊(creat函數(shù))該模塊是實(shí)現(xiàn)對(duì)學(xué)生姓名、性別、學(xué)號(hào)、成績(jī)、年齡等的錄入并保存到文件“stu”中。(2)修改模塊(modify函數(shù))該模塊實(shí)現(xiàn)按學(xué)號(hào)或按姓名對(duì)學(xué)生所有信息的修改。修改成功顯示已修改后的文件數(shù)據(jù)。(3)查找模塊(search函數(shù))實(shí)

3、現(xiàn)按學(xué)號(hào)或姓名查詢每個(gè)學(xué)生的學(xué)號(hào)、姓名、性別、年齡、地址等信息。查到后顯示所查學(xué)生的全部信息,若不存在則顯示未找到。(4)輸出模塊(output函數(shù))該模塊實(shí)現(xiàn)對(duì)文件“stu” 學(xué)生姓名、性別、學(xué)號(hào)、地址、年齡等的顯示。 (5)添加模塊(ADD函數(shù)) (6)顯示模塊(show函數(shù))該模塊實(shí)現(xiàn)制作人員相關(guān)信息的顯示。(7)退出運(yùn)行界面(quit)退出整個(gè)函數(shù)運(yùn)行界面。四、結(jié)束語通過本次課程設(shè)計(jì),我學(xué)到很多東西,而最大的收獲就是:真正從實(shí)踐的角度初步體會(huì)到了C語言在實(shí)際生活中的作用,也深刻體會(huì)到了它帶來的方便快捷。美中不足的就是,本程序還處于初級(jí)階段的學(xué)生信息管理功能中,只實(shí)現(xiàn)了對(duì)學(xué)生的錄入、修改

4、、查詢、輸出等簡(jiǎn)單功能,不一定在實(shí)際中有大的用途。在此次程序設(shè)計(jì)中,出現(xiàn)了各種各樣的問題,在完成各自模塊建立起程序后運(yùn)行后,出現(xiàn)了在按照正確形式輸入后,不能正確輸出結(jié)果,而且在運(yùn)行時(shí)也沒有提示有錯(cuò)誤,無奈之下去找老師解決問題,老師告訴我很有可能是輸入函數(shù)的問題,經(jīng)過仔細(xì)的檢查和調(diào)試我最終用把變量定義為外部變量的方式解決了問題。查詢模塊是我編寫是花費(fèi)時(shí)間最多的一部分,并且在其中加入了子菜單,想實(shí)現(xiàn)分別用學(xué)號(hào)和姓名查找,所以花費(fèi)了很多精力,也修改了很多次,但在努力下最終成功了;然后仿照查找模塊在修改模塊中也加入了子菜單,豐富了程序的函數(shù)。程序編排中可能有繁瑣之處有待進(jìn)一步簡(jiǎn)化,本次設(shè)計(jì)的困難是在編

5、輯程序時(shí)發(fā)現(xiàn)自己對(duì)C語言的了解還處于初級(jí)階段,不能完美的設(shè)計(jì)出能夠在實(shí)際生活中應(yīng)用的程序,如果有機(jī)會(huì)我會(huì)繼續(xù)學(xué)習(xí),做出更好的程序。五、參考文獻(xiàn)1譚浩強(qiáng).C程序設(shè)計(jì).清華大學(xué)出版社.2005年7月2陳志華.Delphi 6.0編程實(shí)例.中國(guó)水利水電出版社.2002年6月3David M.Collopy、羅鐵庚.C語言教程:模塊化程序設(shè)計(jì).清華大學(xué)出版社. 2004年9月4鄧文新、張宏烈.C語言程序設(shè)計(jì)方法.哈爾濱工業(yè)大學(xué)出版社.2004年2月5田淑清.全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)教程.高等教育出版社.1998年7月附錄: 程序清單#include<stdio.h>#include<c

6、onio.h>#include<stdlib.h>#include<string.h>#define N 100typedef struct studentchar num15;char name10;int age;char sex5;char addr50;char tel15;STUDENT;struct student stuN;int w=0,a,j=0;void print_list()printf("n 學(xué)號(hào) 姓名 年齡 性別 地址 電話號(hào)碼n");void print_message(int i,struct student s

7、tuN)printf("n %-12s",stui.num);printf("%-7s",);printf("%-7d",stui.age);printf("%-8s",stui.sex);printf("%-26s",stui.addr);printf("%s",stui.tel);int main()char c;void creat (struct student stuN);void modify (struct student stuN);void

8、 search (struct student stuN);void output (struct student stuN);void add(struct student stuN);void arr(struct student stuN);void show(); do printf("nn=n"); printf(" 歡迎進(jìn)入學(xué)生學(xué)籍信息管理系統(tǒng)! n"); printf("=n"); printf(" 1-輸入記錄n"); printf(" 2-添 加n"); printf(&quo

9、t; 3-輸出記錄n"); printf(" 4-查找記錄n"); printf(" 5-修改記錄n"); printf(" 6-學(xué)號(hào)排列n"); printf(" 7-制作人員n");printf(" 8-退出程序n"); printf("=n"); printf("請(qǐng)選擇功能種類 <1/2/3/4/5/6/7/8>并按回車鍵執(zhí)行命令n" );scanf("%c",&c); getchar();switc

10、h(c) case '1':creat(stu);break; case '2':add(stu);break; case '3':output (stu);break; case '4':search(stu);break; case '5':modify(stu);break; case '6':arr(stu);break; case '7':show(stu);break;case '8':return; default:printf("ERROR!

11、請(qǐng)正確輸入!n");continue; while(w=0);void creat(struct student stuN) /*輸入信息*/FILE *fp;int i,j;char ch,t5;if(fp=fopen("MESSAGE.dat","wb")=NULL)printf("無信息"); exit(0);i=0;printf("tt=<<輸入信息>>=n");do printf("tt輸入學(xué)號(hào):");gets(stui.num); printf(&q

12、uot;tt姓名:");gets();printf("tt年齡:");gets(t);stui.age=atoi(t);printf("tt性別:");gets(stui.sex);printf("tt住址:");gets(stui.addr);printf("tt電話:");gets(stui.tel);printf("tt是否繼續(xù)? <Y或N>");scanf("%c",&ch);getchar();i+;while(ch=

13、'y'|ch='Y');for(j=0;j<=i-1;j+)fwrite(&stuj,sizeof(struct student),1,fp);fclose(fp);void modify(struct student stuN) /*修改信息*/FILE *fp; char name10,num15,t5; int i,j,m=0,sum; char ch;if(fp=fopen("MESSAGE.dat","rb")=NULL) printf("無信息"); elseprint_lis

14、t();for(i=0;fread(&stui,sizeof(struct student),1,fp);i+) print_message(i,stu); sum=i; fclose(fp);printf("ttn=<<修改信息>>=n");do m=0;printf("ntt1.按學(xué)號(hào)修改 2.按姓名修改");printf("nntt*請(qǐng)選擇 <1 或 2> :");scanf("%c",&ch);getchar();if(ch='1')pri

15、ntf("tt輸入要修改的學(xué)號(hào):");gets(num); for(i=0;i<=sum;i+) if(strcmp(stui.num,num)=0)print_list();print_message(i,stu); printf("n"); printf("tt輸入新的學(xué)號(hào):");gets(stui.num); printf("tt姓名:");gets();printf("tt年齡:");gets(t);stui.age=atoi(t);printf("tt

16、性別:");gets(stui.sex);printf("tt住址:");gets(stui.addr);printf("tt電話:");gets(stui.tel); printf("tt=修改后信息=n");print_list();print_message(i,stu); printf("n"); m=1; if(ch='2') printf("tt輸入要修改的姓名:"); gets(name); for(i=0;i<=sum;i+) if(strcmp(

17、,name)=0) print_list();print_message(i,stu); printf("n"); printf("tt請(qǐng)輸入學(xué)號(hào):");gets(stui.num); printf("tt姓名:");gets();printf("tt年齡:");gets(t);stui.age=atoi(t);printf("tt性別:");gets(stui.sex);printf("tt住址:");gets(stui.addr);pr

18、intf("tt電話:");gets(stui.tel); printf("tt=修改后信息=n");print_list();print_message(i,stu); printf("n");m=1; if(m=0)printf("ntt無該學(xué)生信息"); printf("ntt是否繼續(xù)(Y or N)? ");scanf("%c",&ch);getchar();while(ch='y'|ch='Y');if(fp=fopen(&q

19、uot;MESSAGE.dat","wb")=NULL) printf("無信息");elsefor(j=0;j<=sum;j+) fwrite(&stuj,sizeof(struct student),1,fp);fclose(fp); void search (struct student stuN) /*查找信息=*/FILE *fp;char ch,k;char xm10,xh15;int i,j=0,sum;int m;if(fp=fopen("MESSAGE.dat","rb")

20、=NULL)printf("無信息");elseprint_list(); for(i=0;fread(&stui,sizeof(struct student),1,fp);i+) print_message(i,stu); sum=i; fclose(fp);do m=0; printf("ttn=<<查找信息>>=n"); printf("ntt1.按學(xué)號(hào)查找 2.按姓名查找"); printf("nntt*請(qǐng)選擇<1 or 2>:"); scanf("%c

21、",&k);getchar(); printf("tt=<<查找信息>>=n"); if(k='1') printf("tt輸入學(xué)號(hào):");gets(xh); for(i=0;i<=sum;i+) if(strcmp(stui.num,xh)=0) print_list();print_message(i,stu); printf("n");m=1; if(k='2')printf("tt輸入姓名:");gets(xm); for(i=

22、0;i<=sum;i+) if(strcmp(,xm)=0) print_list();print_message(i,stu); printf("n");m=1; if(m=0) printf("ntt無該學(xué)生信息"); printf("ntt是否繼續(xù)(Y/N)?");scanf ("%c",&ch);getchar();while(ch='Y'|ch='y');void output(struct student stuN) /*輸出信息*/FIL

23、E *fp;int i;if(fp=fopen("MESSAGE.dat","rb")=NULL)printf("無信息");printf("tt=輸出信息=");print_list();for(i=0;fread(&stui,sizeof(struct student ),1,fp);i+) print_message(i,stu);fclose(fp);printf("n按回車返回主菜單");getchar(); void add(struct student stuN) /*添加

24、信息*/FILE *fp;int i=0,j;char ch,t5;if(fp=fopen("MESSAGE.dat","ab")=NULL)printf("無信息");printf("tt=<<添加信息>>=n");do printf("tt輸入學(xué)號(hào):");gets(stui.num); printf("tt姓名:");gets();printf("tt年齡:");gets(t);stui.age=atoi(t)

25、;printf("tt性別:");gets(stui.sex);printf("tt住址:");gets(stui.addr);printf("tt電話:");gets(stui.tel); printf("tt是否繼續(xù)(Y/N)?"); ch=getchar(); getchar();i+;while(ch='y'|ch='Y');if(fp=fopen("MESSAGE.dat","ab")=NULL) printf("無信息");elsefor(j=0;j<=i-1;j+)fwrite(&stuj,sizeof(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論