學生信息管理系統(tǒng)課程設計報告(1)_第1頁
學生信息管理系統(tǒng)課程設計報告(1)_第2頁
學生信息管理系統(tǒng)課程設計報告(1)_第3頁
學生信息管理系統(tǒng)課程設計報告(1)_第4頁
學生信息管理系統(tǒng)課程設計報告(1)_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、引言簡要說明設計題目的目的、意義、內(nèi)容、主要任務等1 實驗目的在全面掌握?C語言程序設計?課程的知識點的前提下,培養(yǎng)了我們分析實際問題的能力,并能夠自己編寫程序實現(xiàn)對實際問題的處理,掌握程序工程開發(fā)的一般步驟在寫實驗的過程中,我們能發(fā)現(xiàn)我們自身薄弱的地方,給我們的復習指出明確的方向。2 實驗意義此實驗的意義主要在于加強我們對軟件開發(fā)的初步了解:1、能將實際中的問題進展分解,并設計出可以解決實際問題的方案。課程設計的相關內(nèi)容信息管理系統(tǒng)可以存儲歷屆的學生信息檔案,不需要大量的人力,只需要幾名專門錄入員即可操作系統(tǒng),節(jié)省大量人力,可以迅速查到所需信息,高效,平安,學生在能方便的查看自己的信息。3

2、主要內(nèi)容 和 任務學生信息包括:學號,姓名,年齡,性別,出生年月,地址, ,E-mail等。試設計一學生信息管理系統(tǒng),使之能提供以下功能:1 平安模塊2 信息錄入3) 信息瀏覽4 學號查詢5 姓名查詢6 信息排序7 信息刪除8 信息修改9 保存文件10 退出系統(tǒng)11 系統(tǒng)菜單形式顯示正文課程設計的主要內(nèi)容,包括實驗與觀測方法和結果、儀器設備、計算方法、編程原理、數(shù)據(jù)處理、設計說明與依據(jù)、加工整理和圖表、形成的論點和導出的結論等。正文內(nèi)容必須實事求是、客觀真切、準確完備、符合邏輯、層次清楚、語言流暢、構造嚴謹,符合各學科、專業(yè)的有關要求。 學生管理系統(tǒng)的總設計是:總體設計:1.該系統(tǒng)可以按功能進

3、展模塊劃分,其模塊圖如下:學生根本信息管理系統(tǒng)信息錄入信息瀏覽信息查詢信息排序信息刪除信息修改信息添加退出系統(tǒng)輸入學生的相關信息顯示學生的相關信息按姓名查詢按學號查詢更新保存的學生信息對新加的學生進展信息錄入菜單項選擇擇平安模塊系統(tǒng)模塊圖其中:信息輸入模塊完成學生信息的輸入功能,輸入信息包括學生號、姓名、性別、出生年月、成績、專業(yè). 住址、 等;信息瀏覽模塊完成已錄入學生信息的顯示;信息查詢模塊完成學生信息的查詢,查詢時對應有按姓名查詢和按學號查詢兩種方式;信息修改模塊完成學生信息的修改功能;信息刪除模塊完成學生信息的刪除功能;平安模塊 是進入系統(tǒng)需要用戶名字 和密碼;菜單項選擇擇模塊完成用戶

4、命令的接收,此模塊也是職工信息管理系統(tǒng)的入口,用戶所要進展的各種操作均需在此模塊中進展選擇并進而調(diào)用其他模塊實現(xiàn)相應的功能;2數(shù)據(jù)構造本系統(tǒng)中主要的數(shù)據(jù)構造就是學生的信息,包含學生號、姓名、性別、出生年月、成績 、專業(yè)、住址、 等,在處理過程中各項可以作為一個學生的不同屬性來進展處理3程序流程系統(tǒng)的執(zhí)行應從功能菜單的選擇開場,依據(jù)用戶的選擇來進展后續(xù)的處理,直到用戶選擇退出系統(tǒng)為止,其間應對用戶的選擇做出判斷及異常處理。系統(tǒng)的流程圖如下:開場用戶登錄菜單項選擇擇信息輸入瀏覽信息輸入信息瀏覽查詢按學號按姓名刪除修改信息刪除信息修改添加信息添加排序保存文件完畢程序流程圖.00 詳細設計編寫目的:根

5、據(jù)工程概要設計說明書,在工程概要設計的根底之上,對系統(tǒng)進展詳細設計,以便下一步進展程序編碼工作。詳細設計:對應于總體設計時的系統(tǒng)功能模塊圖,各個功能模塊的處理邏輯如下:1 平安模塊 printf( 請輸入用戶名,n);scanf(%s,x);if(strcmp(x,y)=0) printf( 請輸入密碼,n); scanf(%d,&ma); while (ma=123456)通過比擬語句 來判定輸入人名和密碼的正確 如果正確進入菜單模塊;菜單模塊通過while語句給出信息提示;清屏;繪制菜單包含輸入,瀏覽,查詢,修改,刪除,排序,保存,退出;提示菜單項選擇擇并讀入到變量;根據(jù)讀入變量的值調(diào)用不

6、同的模塊函數(shù);信息錄入模塊翻開文件While() 清屏; 按照提示輸入各種信息; While 顯示各種信息;通過選擇 選擇四種功能;信息瀏覽模塊翻開文件While 清屏; 用for語句依次按照順序輸出學生信息 通過選擇可以翻頁 信息查詢 While() 通過菜單式的選擇 是學號查詢 還是姓名 printf(*學生信息管理系統(tǒng)*);printf(n檢 索);printf(n您想要:);printf(n 1.按學號檢索);printf(n 2.按姓名檢索);printf(n 3.返回主菜單);printf(n*n);如果選擇學號進入學號模塊通過輸入學號 If 學號存在繼續(xù) 輸出學生信息 Else

7、輸出無此學生如果選擇姓名進入姓名模塊If根據(jù)比擬姓名判斷學生是否存在 輸出學生信息 Else 輸出無此學生刪除模塊 while( 繼續(xù)刪除 ) 提示并讀入待刪除的學生的學生號;顯示要刪除的信息刪除成功信息修改模塊輸入要修改學生信息的學號:If 判斷是否有此學生 菜單形式顯示要修改的工程printf(n1.姓名 2.年齡 3.性別 4.出生年月 5.地址 6. 7.E-mail n); printf(n8.數(shù)學 9.英語 n);Swich() 選擇要修改的工程進展修改翻開文件模塊 void ()FILE *fp;int n;if(fp=fopen(data,r+)=NULL)fp=fopen(d

8、ata,w+);for(n=0;n100;n+)fread(&stun,sizeof(struct student),1,fp);fread(&stunum,4,1,fp);fclose(fp);保存文件模塊 void ()int n;FILE *fp;fp=fopen(data,r+);for(n=0;n100;n+)fwrite(&stun,sizeof(struct student),1,fp);fwrite(&stunum,4,1,fp);fclose(fp); printf(保存成功!press Enter to continue.);getch();退出模塊 case 8:ma=0

9、;break; 用的是跳出while語句 回到平安模塊排序模塊 通過 冒泡排序法 for(m=0;my-1;m+) for(x=m+1;xy;x+) if(stum.sumstux.sum) stu99=stum; stum=stux; stux=stu99; stu99.id=stux.id ; stux.id =stum.id; stum.id =stu99.id ; printf(排序后的順序為:n);然后顯示排序好后的學生信息; 學生根本信息構造體是struct studentint id;char name30;int age;char sex6;char birthday12;ch

10、ar add80;char tel15;char email25;int math; int english;int sum;stu100程序清單#include#include#include#includeint stunum=0;struct student / 構造體int id;char name30;int age;char sex6;char birthday12;char add80;char tel15;char email25;int math; int english;int sum;stu100 ;void check() /查詢函數(shù) void jsid(); void

11、 jsname();int a;char ch;while (a)system(cls);printf(*學生信息管理系統(tǒng)*);printf(n檢 索);printf(n您想要:);printf(n 1.按學號檢索);printf(n 2.按姓名檢索);printf(n 3.返回主菜單); printf(n*n);ch=getchar();switch(ch)case 1:jsid();break;case 2:jsname();break;case 3:a=0;break;void () /翻開文件FILE *fp;int n;if(fp=fopen(data,r+)=NULL)fp=fop

12、en(data,w+);for(n=0;n100;n+)fread(&stun,sizeof(struct student),1,fp);fread(&stunum,4,1,fp);fclose(fp);void () /保存文件int n;FILE *fp;fp=fopen(data,r+);for(n=0;n100;n+)fwrite(&stun,sizeof(struct student),1,fp);fwrite(&stunum,4,1,fp);fclose(fp); printf(保存成功!press Enter to continue.);getch();void editname

13、(int n) /按照名字修改printf(n新姓名:);scanf(%s,);void editage(int n) /修改年齡函數(shù)printf(n新年齡:);scanf(%d,&stun.age);void editsex(int n) / 修改性別函數(shù)printf(n新性別:);scanf(%s,stun.sex);void editbir(int n) /修改生日printf(n新出生年月);scanf(%s,stun.birthday);void editadd(int n)printf(n新地址:); /修改地址scanf(%s,stun.add);void ed

14、ittel(int n) /修改 printf(n新 :); scanf(%s,stun.tel);void editemail(int n)printf(n新E-mail:); /修改郵箱scanf(%s,stun.email);void editmath(int n) /修改數(shù)學成績 printf(n新數(shù)學:);scanf(%d,&stun.math); stun.sum=stun.math+stun.english;void editenglish(int n) / 修改經(jīng)與成績printf(n新英語:); scanf(%d,&stun.english);stun.sum=stun.ma

15、th+stun.english;void last(int n)if(n=stunum)system(cls); printf(*學生信息管理系統(tǒng)*);printf(n檢 索);printf(n已檢索到末尾。);printf(nPress any key to continue.);printf(n*n);void edit() /修改函數(shù)char ch ;int a=1,b; int n; while(a)system(cls);printf(n請輸入你想修改的人的學號:n); scanf(%d,&n); if(n=stunum) n=n-; printf(學號 姓 名 年齡 性別 出生年月

16、n); printf(%4d ,stun.id); printf(%12s ,); printf(%4d ,stun.age); printf(%4s ,stun.sex); printf(%8s n,stun.birthday); printf(nnn學號 電 話 E-mail 地址n); printf(%4d ,stun.id); printf(%15s ,stun.tel); printf(%15s ,stun.email); printf(%sn, stun.add); printf(nnn 數(shù)學 英語 總分n); printf(%4d,stun.math); pri

17、ntf(%15d,stun.english); printf(%15dn,stun.sum); printf(n請輸入你想修改的內(nèi)容:); printf(n1.姓名 2.年齡 3.性別 4.出生年月 5.地址 6. 7.E-mail n); printf(n8.數(shù)學 9.英語 n); printf(n*n); getchar(); ch=getchar(); switch(ch) case 1:editname(n);break; case 2:editage(n);break; case 3:editsex(n);break; case 4:editbir(n);break; case 5:

18、editadd(n);break; case 6:edittel(n);break; case 7:editemail(n);break; case 8:editmath(n);break; case 9:editenglish(n);break; b=1; while (b)printf(n確認嗎?(y/n);ch=getchar();switch(ch)case Y:b=0;a=0;break;case y:b=0;a=0;break;case N:b=0;break;case n:b=0;break;void delect() /刪除函數(shù) int n, a; system(cls); p

19、rintf(n請輸入想要刪除人的學號:n); scanf(%d,&n); n=n-;for(a=n;a=stunum;a+) strcpy(,stua+1.name); stua.age=stua+1.age;strcpy(stua.sex,stua+1.sex);strcpy(stua.birthday,stua+1.birthday);strcpy(stua.add,stua+1.add);strcpy(stua.tel,stua+1.tel);strcpy(stua.email,stua+1.email); stua.math=stua+1.math; stua.eng

20、lish=stua+1.english; stua.sum=stua+1.sum;stunum-;printf(刪除成功!press Enter to continue.);void jsid() /按照學號查詢int n,i=0;system(cls);printf(*學生信息管理系統(tǒng)*);printf(n檢 索);printf(n請輸入想要檢索的學號:);scanf(%d,&n);if(n=stunum)n=n-;printf(學號 姓 名 年齡 性別 出生年月n);printf(%4d ,stun.id);printf(%12s ,);printf(%4d ,stun.

21、age);printf(%4s ,stun.sex);printf(%8s n,stun.birthday);printf(nnn學號 電 話 E-mail 地址n);printf(%4d ,stun.id);printf(%15s ,stun.tel);printf(%15s ,stun.email);printf(%sn, stun.add); printf(nnn 數(shù)學 英語 總分n); printf(%4d,stun.math); printf(%15d,stun.english); printf(%15dn,stun.sum);i+;if(i=0)printf(nError:無此學生

22、。);printf(n*n);getch(); elsesystem(cls);last(n);getch();void jsname() /按照姓名查詢int n,i=0;char m30;system(cls);printf(*學生信息管理系統(tǒng)*);printf(n檢 索);printf(n請輸入想要檢索的姓名:);scanf(%s,m);for(n=0;nstunum;n+)if(strcmp(m,)=0)system(cls);printf(學號 姓 名 年齡 性別 出生年月n);printf(%4d ,stun.id);printf(%8s ,);

23、printf(%4d ,stun.age);printf(%4s ,stun.sex);printf(%8s n,stun.birthday);printf(nnn學號 電 話 E-mail 地址n);printf(%4d ,stun.id);printf(%15s ,stun.tel);printf(%15s ,stun.email);printf(%sn, stun.add);printf(nnn 數(shù)學 英語 總分n); printf(%4d,stun.math); printf(%15d,stun.english); printf(%15dn,stun.sum);i+;getch();i

24、f(i=0)printf(nError:無此學生。);elselast(n);void write() /錄入函數(shù)int a,n=1,m;char ch;while (n)a=stunum;system(cls);printf(學號:);stua.id=(a+1);printf(%d,stua.id);printf(n名字:);scanf(%s,);printf(n年齡:);scanf(%d,&stua.age);printf(n性別:);scanf(%s,stua.sex);printf(n出生年月日:);scanf(%s,stua.birthday);printf(n地址

25、:);scanf(%s,stua.add);printf(n :);scanf(%s,stua.tel);printf(nE-mail:);scanf(%s,stua.email); printf(n數(shù)學:);scanf(%d,&stua.math);printf(n英語:);scanf(%d,&stua.english); stua.sum=stua.math+stua.english; printf(%d,stua.sum);m=1;while (m)/做一個循環(huán),直到m=0時跳出system(cls);printf(學號:);printf(%d,stua.id);printf(n名字:)

26、;printf(%s,);printf(n年齡:);printf(%d,stua.age);printf(n性別:);printf(%s,stua.sex);printf(n出生年月日:);printf(%s,stua.birthday);printf(n地址:);printf(%s,stua.add);printf(n :);printf(%s,stua.tel);printf(nE-mail);printf(%s,stua.email);printf(n數(shù)學);printf(%d,stua.math);printf(n英語);printf(%d,stua.english)

27、;printf(n總分);printf(%d,stua.sum);printf(n請選擇:1.確認并繼續(xù) 2.重新填寫 3.放棄并返回 4.確認并返回);ch=getchar();switch(ch)case 1:m=0;stunum+;break;case 2:stunum,m=0;break;case 3:m=0,n=0;break;/選擇此項時,m=0,循環(huán)終止case 4:m=0,n=0;a=stunum+;break;void view() /瀏覽函數(shù)int count=1,i,n=1,pagenum=1,page=stunum/5+1;/設定變量控制翻頁char ch;while

28、(n)system(cls);printf(學號 姓 名 年齡 性別 出生年月n);for(i=count-1;icount+4&istunum;i+)printf(%4d ,stui.id);printf(%8s ,);printf(%4d ,stui.age);printf(%7s ,stui.sex);printf(%12s n,stui.birthday);printf(nnn學號 電 話 E-mail 地址n);for(i=count-1;icount+4&istunum;i+)printf(%4d ,stui.id);printf(%15s ,stui.tel);

29、printf(%15s ,stui.email);printf(%sn, stui.add); printf(nnn 數(shù)學 英語 總分n); for(i=count-1;icount+4&ipage) count=1,pagenum=1;else count=(pagenum-1)*5+1;break;case 0:n=0;break;void turn() /排序函數(shù) int x, m;int y=stunum; int count=1,i,n=1,pagenum=1,page=stunum/5+1;char ch;for(m=0;my-1;m+) for(x=m+1;xy;x+) if(s

30、tum.sumstux.sum) stu99=stum; stum=stux; stux=stu99; stu99.id=stux.id ; stux.id =stum.id; stum.id =stu99.id printf(排序后的順序為:n); while (n)system(cls);printf(學號 姓 名 年齡 性別 出生年月n);for(i=count-1;icount+4&istunum;i+)printf(%4d ,stui.id);printf(%8s ,);printf(%4d ,stui.age);printf(%7s ,stui.sex);prin

31、tf(%12s n,stui.birthday);printf(nnn學號 電 話 E-mail 地址n);for(i=count-1;icount+4&istunum;i+)printf(%4d ,stui.id);printf(%15s ,stui.tel);printf(%15s ,stui.email);printf(%sn, stui.add); printf(nnn 數(shù)學 英語 總分n); for(i=count-1;icount+4&ipage) count=1,pagenum=1;else count=(pagenum-1)*5+1;break;case 0:n=0;break;void main()/主函數(shù) int n=1;char ch;char x20;char y20=zhangyong; int ma; ();while(n) system(cls); printf(n);printf(n);printf( *n); printf( 歡送來到學生信息管理系統(tǒng)n);printf(n);printf(n);printf(n); printf( 請輸入用戶名,n);scanf(%s,x);if(strcmp(x,y)=0) printf( 請輸入密碼,n); scanf(%d,&ma); while (ma=123

溫馨提示

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

評論

0/150

提交評論