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

下載本文檔

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

文檔簡介

1、課程設(shè)計報告學(xué)院:信息科學(xué)與工程學(xué)院專業(yè):計算機(jī)科學(xué)與技術(shù)班 級:-班學(xué) 號:學(xué)121200000 20121200000 20121200000學(xué)生姓名: 李 李指導(dǎo)教師:李課程名稱:程序設(shè)計基礎(chǔ)設(shè)計名稱:課程信息管理系統(tǒng)設(shè)計內(nèi)容及要求本系統(tǒng)以個人課程信息為背景,設(shè)計和實(shí)現(xiàn)了一個小型個人課程信息管理系統(tǒng)。主要有以下功能:1 .系統(tǒng)以菜單方式運(yùn)行工作,界面清晰直觀,便于用戶操作。2 .系統(tǒng)需使用個人密碼登陸,較好的保護(hù)了用戶隱私。3 .課程信息查看,查看當(dāng)前所有課程信息。4 .課程信息錄入,包括課程名稱、性質(zhì)、教師、時間以及教室。5 .課程信息查找,分別按課程名稱、時間或性質(zhì)查找相關(guān)課程。6

2、.課程信息修改,核對后可對指定課程的指定項(xiàng)目進(jìn)行修改。7 .課程信息刪除,核對后可刪除指定課程信息。8 .個人密碼修改,驗(yàn)證原密碼后可設(shè)置新密碼。設(shè)計思路12 / 24主函數(shù)查看 課程 信息添加課程信息查找課程信息修改課程信息刪除課程信息修改密碼系統(tǒng)概覽1. 數(shù)據(jù)結(jié)構(gòu)設(shè)計打印歡迎界面 登錄模塊 密碼修改 打開文件并讀取信息 按時間對信息排序 將內(nèi)存中信息保存到文件 添加信息 查看所有信息 按名稱查找信息 按時間查找信息 按性質(zhì)查找信息 刪除指定信息 修改指定信息結(jié)構(gòu)體: 用結(jié)構(gòu)體接收課程信息。文件: 用文件儲存數(shù)據(jù)。2. 模塊接口設(shè)計Void sign()Void login()Void rp

3、w()Void open()Void reorder()Void save()Void inpt()Void look()Int find()Void find2()Void find3()Void del(int i)Void revise(int i)3流程圖開始結(jié)束查看課程信息表修改密碼三、 設(shè)計結(jié)果及分析.(相關(guān)測試圖片已刪除)1 . 初始密碼的設(shè)置測試誤輸入、設(shè)置初始密碼為0002 .第二次登錄測試錯誤密碼,輸入000后登陸成功,出現(xiàn)主菜單3 .修改密碼測試錯誤密碼輸入正確密碼、測試誤輸入、設(shè)置密碼為147重新登錄,測試新密碼147 登錄成功4 .查看課程信息能正確輸出當(dāng)前課程信息,

4、排列整齊5 .添加課程信息添加并保存查看所有課程,已成功添加,并且排序正常添加并放棄保存查看所有課程,未造成影響6.查找課程信息測試按名稱查找高數(shù),查找成功并輸出正常按時間查找周五,查找成功并輸出正常按性質(zhì)查找必修,查找成功并輸出正常7 .修改課程信息成功找到對應(yīng)課程信息并輸出,嘗試修改教室位置修改成功,返回主菜單,提示是否保存,嘗試保存查看所有課程,已成功修改若放棄保存,查看所有課程,未造成影響8 .刪除課程信息嘗試刪除大物,成功找到并輸出信息,取消刪除查看所有課程,未造成影響再次嘗試刪除并確定查看所有課程,已成功刪除9 .退出系統(tǒng)測試退出系統(tǒng),成功輸出提示信息并退出10 .其他測試測試過程

5、中在每個需要讀入字符的地方都做了連續(xù)輸入回車、隨機(jī)輸入單個字符,隨機(jī)輸入字符串的測試,系統(tǒng)運(yùn)行穩(wěn)定,提示正常。主要是因?yàn)樵谝x入字符的部分加入了while(getchar()!='n');以讀掉無用字符、字符串。加入了while(getchar()='n');以讀掉連續(xù)回車或之前操作中輸入的回車??偨Y(jié)通過本次課程設(shè)計,使我對程序設(shè)計基礎(chǔ)這門課程有了更深入的理解。程序設(shè)計基礎(chǔ)是一門實(shí)踐性較強(qiáng)的課程,為了學(xué)好這門課程,必須在掌握理論知識的同時,加強(qiáng)上機(jī)實(shí)踐。一個人的力量是有限的,要想把課程設(shè)計做的更好,就要學(xué)會參考一定的資料,吸取別人的經(jīng)驗(yàn),讓自己和別人的思想有機(jī)的

6、結(jié)合起來,得出屬于你自己的靈感。程序的編寫需要有耐心,有些事情看起來很復(fù)雜,但問題需要一點(diǎn)一點(diǎn)去解決,分析問題,把問題一個一個劃分,劃分成小塊以后就逐個去解決。再總體解決大的問題。這樣做起來不僅有條理也使問題得到了輕松的解決。在這個過程中,我也曾經(jīng)因?yàn)閷?shí)踐經(jīng)驗(yàn)的缺乏失落過,也曾經(jīng)仿真成功而熱情高漲。生活就是這樣,汗水預(yù)示著結(jié)果也見證著收獲。勞動是人類生存生活永恒不變的話題。雖然這只是一次的極簡單的課程制作,可是平心而論,也耗費(fèi)了我不少的心血,這就讓我不得不佩服開發(fā)技術(shù)的前輩,才意識到老一輩對我們社會的付出,為了人們的生活更美好,他們?yōu)槲覀兩鐣冻龆嗌傩难?!對我而言,知識上的收獲重要,精神上

7、的豐收更加可喜。讓我知道了學(xué)無止境的道理。我們每一個人永遠(yuǎn)不能滿足于現(xiàn)有的成就,人生就像在爬山,一座山峰的后面還有更高的山峰在等著你。挫折是一份財富, 經(jīng)歷是一份擁有。這次課程設(shè)計必將成為我人生旅途上一個 非常美好的回憶!通過這次的課程設(shè)計我對于專業(yè)課的學(xué)習(xí)有了更加深刻的認(rèn)識,以為現(xiàn)在學(xué)的知識用不上就加以怠慢,等到想用的時候卻發(fā)現(xiàn)自己的學(xué)習(xí)原來是那么的不扎實(shí)。以后努力學(xué)好每門專業(yè)課,讓自己擁有更多的知識,才能解決更多的問題!五、附錄(源代碼)#include <stdio.h>#include <stdlib.h>#include <string.h> FI

8、LE *fp;int count;struct lesson(char name10;char nature10;char teacher10; int time;char room10;lesson21;void sign() ( puts("");puts(" t I1");puts(" t");puts(" t");puts(" t歡迎使用本課程信息管理系統(tǒng)!|puts(" t");puts(" t");puts(" t |第五組設(shè)計人員:I &qu

9、ot;);puts(" t");puts(" t鄭晨陽I”);puts(" t李叢淵I”);puts(" t李振鵬I”);puts(" t I| ");puts(" t");puts(" t 11");void login() (char pws20,pwt20;fp=fopen("password","rb");if(fp=NULL) (puts("您是第一次登錄本系統(tǒng),請?jiān)O(shè)置您的密碼");fp=fopen("pa

10、ssword","wb+");while(1) ( dogets(pws);while(pws0='0');puts("請?jiān)俅屋斎胍源_認(rèn)您的密碼");gets(pwt);if(strcmp(pwt,pws)!=0)puts("您兩次輸入的密碼不一致!請重新輸入");elsefputs(pws,fp);fclose(fp);puts("已成功設(shè)置您的密碼,請牢記 ");getchar();system("CLS");break;elsefgets(pws,20,fp);p

11、uts("請輸入密碼");while(1)gets(pwt);if(strcmp(pwt,pws)!=0)puts("您輸入的密碼不正確!請重新輸入");elsesystem("CLS");puts("登錄成功!");break;fclose(fp);void rpw()char pws20,pwt20;fp=fopen("password","rb");if(fp=NULL)puts("運(yùn)行出錯!");elsefgets(pws,20,fp);puts(

12、"請輸入原密碼");while(1)dogets(pwt);while(pwt0='0');if(strcmp(pwt,pws)!=0)system("CLS");puts("您輸入的密碼不正確!");return 0;elsesystem("CLS");puts("請輸入新密碼");while(1)dogets(pws);while(pws0='0');puts("請?jiān)俅屋斎胍源_認(rèn)您的密碼");gets(pwt);if(strcmp(pwt,

13、pws)!=0)puts("您兩次輸入的密碼不一致!請重新輸入 "); elsefp=fopen("password","wb+");fputs(pws,fp);fclose(fp);puts("已成功設(shè)置您的密碼,請牢記 ");getchar();system("CLS");return 0;break;void open()if(fp=fopen("lessonlist","rb")=NULL)printf(" 當(dāng)前沒有課程信息,請?zhí)砑?!n&

14、quot;);return 0;while(fread(&lessoncount+,sizeof(struct lesson),1,fp)=1); count-;fclose(fp);void reorder()int i,j;for(i=0;i<count-1;i+)for(j=0;j<count-i-1;j+)if(lessonj.time>lessonj+1.time)lesson20=lessonj;lessonj=lessonj+1;lessonj+1=lesson20;void save()int i;fp=fopen("lessonlist&q

15、uot;,"wb");for(i=0;i<count;i+)fwrite(&lessoni,sizeof(struct lesson),1,fp);fclose(fp);printf(" 保存成功!n");void inpt()int i=count,j=0,m,n;puts("");while(1)m=n=0;puts("輸入課程名稱:”);scanf("%s",);while(1)puts("選擇課程性質(zhì):");puts("1

16、: 必修");puts("2: 選修");scanf("%d",&j);while(getchar()!='n');if(j=1)strcpy(lessoncount.nature,"必修"); break;if(j=2)strcpy(lessoncount.nature,"選修"); break;puts("輸入教師姓名:");scanf("%s",lessoncount.teacher);puts("輸入上課時間:")

17、;while(m<1|m>7)puts("周幾?(請直接輸入一位數(shù)字)”);scanf("%d",&m);while(getchar()!='n');while(n<1|n>9)puts("第幾節(jié)課?(請直接輸入一位數(shù)字)");scanf("%d",&n);while(getchar()!='n');lessoncount.time=m*10+n;puts("輸入教室位置:”);scanf("%s",lessoncount.

18、room);count+;getchar();while(1)puts("是否繼續(xù)添加? (y/n)");while(j=getchar()='n');while(getchar()!='n');if(j='n'|j='N'|j='y'|j='Y')break;if(j='n'|j='N')break;while(1)puts("添加成功,是否保存?(y/n)");while(j=getchar()='n');w

19、hile(getchar()!='n');if(j='n'|j='N'|j='y'|j='Y')break;system("CLS");if(j='y'|j='Y')reorder();save();elsecount=i;void look()int i,m,n;system("CLS");puts("");puts("課程tt性質(zhì)tt教師tt時間tt教室n");for(i=0;i<count;i

20、+)m=lessoni.time/10;n=lessoni.time%10;%d節(jié)printf("%stt%stt%stt周%d第t%sn",,lessoni.nature,lessoni.teacher,m,n,lessoni.room);int find()char clas20,j;int i,m,n;while(1) printf(" 請輸入課程名稱:");scanf("%s",clas);for(i=0;i<count;i+) if(strcmp(clas,)=0) sy

21、stem("CLS");puts("");puts("課程tt性質(zhì)tt教師tt時間tt教室n");m=lessoni.time/10;n=lessoni.time%10;printf("%stt%stt%stt 周 %d 第 %d 節(jié)t%sn",,lessoni.nature,lessoni.teacher,m,n,lessoni.room);return i;while(1)puts("沒有找到此課程,是否繼續(xù)查詢?(y/n)");while(j=getchar()=&

22、#39;n');while(getchar()!='n');if(j='n'|j='N'|j='y'|j='Y')break;if(j='n'|j='N') system("CLS");return 0;void find2()int i,j=-1,m,n,p,a20;while(j<1|j>7) puts("要查詢周幾的課程?(請直接輸入一位數(shù)字)");scanf("%d",&j);while(

23、getchar()!='n');for(i=0,p=0,a0=-1;i<count;i+)if(lessoni.time/10=j) ap+=i;system("CLS");if(a0=-1)puts("當(dāng)天沒有課程!");elseputs("");puts("課程tt性質(zhì)tt教師tt時間tt教室n");for(i=0;i<p;i+)m=lessonai.time/10;n=lessonai.time%10;printf("%stt%stt%stt周%d 第%d 節(jié)t%sn&q

24、uot;,,lessonai.nature,lessonai.teacher,m,n,lessonai.room);void find3()int i,j,p,m,n,a20;char b5;while(1)puts("選擇要查詢的課程性質(zhì):");puts("1: 必修 ");puts("2:選修)scanf("%d",&j);while(getchar()!='n');if(j=1)strcpy(b," 必修 ");break;if(j=2)strcpy

25、(b," 選修 ");break;for(i=0,p=0,a0=-1;i<count;i+)if(strcmp(b,lessoni.nature)=0) ap+=i;system("CLS");if(a0=-1)puts("沒有查找到相關(guān)課程!”);elseputs("");puts("課程tt性質(zhì)tt教師tt時間tt教室n");for(i=0;i<p;i+)m=lessonai.time/10;n=lessonai.time%10;printf("%stt%stt%stt周%d 第

26、%d 節(jié)t%sn",,lessonai.nature,lessonai.teacher,m,n,lessonai.room);void del(int i)char j;while(1)puts("確定要刪除嗎?(y/n)");while(j=getchar()='n');while(getchar()!='n');if(j='n'|j='N'|j='y'|j='Y') break;system("CLS");if(j=&#

27、39;n'|j='N')return 0;count-;for(i;i<count;i+)lessoni=lessoni+1;save();21 / 24void revise(int i)int j,t,k=0,m,n;char p,str10;lesson20=lessoni;dom=n=0;puts("n 主菜單 n");puts("tttt1: 修改課程名稱n");puts("tttt2: 修改課程性質(zhì)n");puts("tttt3: 修改課程教師n");puts("

28、tttt4: 修改課程時間n");puts("tttt5: 修改課程教室n");puts("tttt0: 返回主菜單n");puts("");puts("請選擇操作:");scanf("%d",&j);if(j>0&&j<6)k=1;while(getchar()!='n');switch(j)case 1:puts("請輸入新的課程名稱:”);scanf("%s",);break

29、;case 2:while(1)puts("選擇課程性質(zhì):");puts("1: 必修");puts("2: 選修");scanf("%d",&j);if(j=1)strcpy(lessoni.nature," 必修 ");break;elseif(j=2) 22 / 24strcpy(lessoni.nature," 選修 "); break;elsewhile(getchar()!='n');break;case 3:puts("請輸入新

30、的課程教師:”);scanf("%s",lessoni.teacher);break;case 4:puts("輸入新的上課時間:");while(m<1|m>7)puts("周幾?(請直接輸入一位數(shù)字)”); scanf("%d",&m);while(n<1|n>12)puts("第幾節(jié)課?(請直接輸入一位數(shù)字)");scanf("%d",&n);lessoni.time=m*10+n;break;case 5:puts("輸入教室位

31、置:”);scanf("%s",lessoni.room);break;case 0:if(k=1)while(1)puts("是否保存修改?(y/n)");while(p=getchar()='n');while(getchar()!='n');if(p='n'|p='N'|p='y'|p='Y') break;system("CLS");if(p='y'|p='Y')reorder();save();re

32、turn 0;elselessoni=lesson20;system("CLS");return 0;elsesystem("CLS");return 0;system("CLS");puts("");printf(" 課程 tt 性質(zhì) tt 教師 tt 時間 tt 教室 n");m=lessoni.time/10;n=lessoni.time%10;printf("%stt%stt%stt周%d第t%sn",,lessoni.nature,lessoni.teacher,m,n,lessoni.room);while(j!=0);void main()int i,j;system

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論