版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、高級(jí)語言程序設(shè)計(jì)?課程設(shè)計(jì)說明書設(shè)計(jì)題目:學(xué)生選修課程系統(tǒng)設(shè)計(jì)目錄1設(shè)計(jì)目的.p22 .總體設(shè)計(jì)p33詳細(xì)設(shè)計(jì).p44.調(diào)試與測(cè)試.p55源程序清單與執(zhí)行結(jié)果.p66建議和體會(huì).p21一. 設(shè)計(jì)目的1根本掌握面向過程程序設(shè)計(jì)的根本思路和方法;2到達(dá)熟練掌握C語言的根本知識(shí)和技能;3能夠利用所學(xué)的根本知識(shí)和技能,解決簡單的程序設(shè)計(jì)問題程序功能:1輸入信息 , 密碼保護(hù)2瀏覽信息3查詢信息,提供兩種查詢方式4統(tǒng)計(jì)選課情況5進(jìn)入選課操作6退出選課系統(tǒng)二. 總體設(shè)計(jì)設(shè)計(jì)的流程圖如下- 1 -三、詳細(xì)設(shè)計(jì)1、輸入初始的課程信息:課程信息用文件保存,包括課程編號(hào),課程名稱,課程性質(zhì),總學(xué)時(shí),授課學(xué)時(shí),實(shí)驗(yàn)
2、或上機(jī)學(xué)時(shí),學(xué)分,開課學(xué)期等相關(guān)信息.在輸入課程信息前要先輸入治理員密碼,從而限制權(quán)限;2、瀏覽模塊:根據(jù)指示就可以找到課程編號(hào),課程名稱,課程性質(zhì), 總學(xué)時(shí),授課學(xué)時(shí),實(shí)驗(yàn)或上機(jī)學(xué)時(shí),學(xué)分,開課學(xué)期等相關(guān)信息;3、查詢模塊:根據(jù)指示可以選擇通過學(xué)分查詢信息,或者選擇課程 性質(zhì)來查詢信息;4、選擇模塊:通過輸入學(xué)號(hào)和課程編號(hào)來選擇所修課程,并有統(tǒng)計(jì) 功能;5、查閱模塊:選擇主菜單的選項(xiàng),可以了解統(tǒng)計(jì)所選課程的人數(shù);6、退出模塊:在主菜單項(xiàng)選擇擇“ 0退出選課系統(tǒng).四:調(diào)試與測(cè)試 問題一、查詢模塊:-3 -其中包括課程編號(hào),課程名稱,課程性質(zhì),總學(xué)時(shí),授課學(xué)時(shí), 實(shí)驗(yàn)或上機(jī)學(xué)時(shí),學(xué)分,開課學(xué)期等
3、相關(guān)信息;當(dāng)輸入學(xué)分或者課 程性質(zhì)后,系統(tǒng)進(jìn)行判斷時(shí),提示“輸入錯(cuò)誤!請(qǐng)重新輸入! 解決方法及步驟 :1、瀏覽所有課程中的學(xué)分是否為你所輸入的值.2、瀏覽所有課程中的課程性質(zhì)是否有存在你所輸入的值.3、輸出用于循環(huán)檢查語句中的課程,發(fā)現(xiàn)亂碼.4、仔細(xì)分析亂碼的原因,最后發(fā)現(xiàn)是變量的類型錯(cuò)誤,錯(cuò)將課程性 質(zhì)的結(jié)構(gòu)體指針變量定義為了其他類型的指針變量.問題二、選擇模塊:從主菜單進(jìn)入選課系統(tǒng), 通過輸入學(xué)號(hào)和課程編號(hào)來選擇所修課程 當(dāng)輸入選擇信息時(shí),系統(tǒng)卻提示“輸入錯(cuò)誤!請(qǐng)重新輸入! 解決方法及步驟:1、檢查所編寫的程序代碼是否完全正確,假設(shè)不是,那么改之,然后再 繼續(xù)正確輸入選擇信息,2 、檢查當(dāng)
4、我們?cè)谳斎脒x擇信息時(shí),看是否我們輸入的信息有誤, 假設(shè)是這樣的話,我們應(yīng)當(dāng)仔細(xì)輸入選擇信息.五. 源程序清單與執(zhí)行結(jié)果#include<stdio.h> #include<stdlib.h> #include <string.h> struct courseint num;char name20; char kind10;int time;int ttime;int etime;int mark;int term;struct studentint snum;int cnum;char cname20;/* 課程信息錄入 */ void insert()vo
5、id main();FILE *fp;struct course c;int count,secret=624816;int i,secret1;system("color 1f");if(fp=fopen("E:course.txt","a+")=NULL) printf("cannot open filen");printf(" 請(qǐng)輸入系統(tǒng)密碼: ");scanf("%d",&secret1);if(secret=secret1)printf("n 密碼
6、正確,請(qǐng)輸入課程門數(shù) :n");scanf("%d",&count);printf(" 課程編號(hào) 課程名稱 課程性質(zhì) 總學(xué)時(shí) 授課學(xué)時(shí) 實(shí)驗(yàn)或上 機(jī)學(xué)時(shí) 學(xué)分 開課學(xué)期 :n");for(i=0;i<count;i+)scanf("%d %s %s %d %d %d %d %d",&c.num,&,&c.kind,&c.time,&c.tt ime,&c.etime,&c.mark,&c.term);fprintf(fp,"%
7、d %s %s %d %d %d %d %dn",c.num,,c.kind,c.time,c. ttime,c.etime,c.mark,c.term);elseprintf(" 抱歉,密碼錯(cuò)誤,您無此權(quán)限 n"); fclose(fp);main();/* 課程信息瀏覽 */void browser()void main();FILE *fp;struct course c;int a;system("color 3f");if(fp=fopen("E:course.txt","r")=N
8、ULL)printf("nCannot open course!n");實(shí)驗(yàn)或上printf(" 課程編號(hào) 課程名稱 課程性質(zhì) 總學(xué)時(shí) 授課學(xué)時(shí) 機(jī)學(xué)時(shí) 學(xué)分 開課學(xué)期 :n");for(;!feof(fp);) fscanf(fp,"%d %s %s %d %d %d %d %dn",&c.num,&,&c.kind,&c.time ,&c.ttime,&c.etime,&c.mark,&c.term);printf("%5d%12s%9s%9d%
9、9d%11d%11d%11dn",c.num,,c.kind,c.time,c .ttime,c.etime,c.mark,c.term);fclose(fp);printf("n1-返回主菜單; 2- 退出選課系統(tǒng) n");scanf("%d",&a);if(a=1)main();elseexit(0);/* 課程信息查詢 */ void search()void main();FILE *fp;struct course c;int score;char kind10;int a;int b;system("c
10、olor 2f");printf("1. 按學(xué)分查詢 ,2. 按課程性質(zhì)查詢 .n");printf(" 請(qǐng)選擇查詢方式,輸入選項(xiàng)數(shù)字: ");scanf("%d",&b);if(b=1)printf("n 請(qǐng)輸入您要查詢的學(xué)分 :n");scanf("%d",&score);if(fp=fopen("E:course.txt","r")=NULL)printf("nCannot open course!n")
11、;printf(" 課程編號(hào) 課程名稱 課程性質(zhì) 總學(xué)時(shí) 授課學(xué)時(shí) 實(shí)驗(yàn) 或上機(jī)學(xué)時(shí) 學(xué)分 開課學(xué)期 :n");for(;!feof(fp);) /*feof(fp) 遇到文件結(jié)束符時(shí)返回 1, 否那么 feof(fp) 返回 0*/fscanf(fp,"%d%s%s%d%d%d%d%dn",&c.num,&,&c.kind,&c.time,&c.tti me,&c.etime,&c.mark,&c.term);if(c.mark=score)printf("%5d%1
12、2s%9s%9d%9d%11d%11d%11dn",c.num,,c.kind,c.time,c .ttime,c.etime,c.mark,c.term);else if(b=2)printf("n 請(qǐng)輸入您要查詢的課程性質(zhì) :n");scanf("%s",&kind);if(fp=fopen("E:course.txt","r")=NULL)printf("nCannot open course!n");printf(" 課程編號(hào) 課程名稱 課程性質(zhì)
13、總學(xué)時(shí) 授課學(xué)時(shí) 實(shí)驗(yàn) 或上機(jī)學(xué)時(shí) 學(xué)分 開課學(xué)期 :n");for(;!feof(fp);)fscanf(fp,"%d%s%s%d%d%d%d%dn",&c.num,&,&c.kind,&c.time,&c.tti me,&c.etime,&c.mark,&c.term);if(strcmp(c.kind,kind)=0)printf("%5d%12s%9s%9d%9d%11d%11d%11dn",c.num,,c.kind,c.time,c .ttime
14、,c.etime,c.mark,c.term);elseprintf(" 輸入錯(cuò)誤! ");exit(1);fclose(fp);printf("n1- 返回主菜單; 2- 退出選課系統(tǒng) n");scanf("%d",&a);if(a=1)main();elseexit(1);/* 統(tǒng)計(jì)選課情況 */void xuanke_information()void main();int total=0;int a;FILE *fp;struct student s;system("color 6f");if(fp
15、=fopen("E:student.txt","r")=NULL)printf("nCannot open student!n");printf(" 學(xué)號(hào) 課程編號(hào) 課程名稱 n"); for(;!feof(fp);) fscanf(fp,"%d%d%sn",&s.snum,&s um,&s ame);total+; printf("%7d%9d%13sn",s.snum,s um,s ame);printf("n 選課學(xué)生總?cè)藬?shù)為: %d
16、人 ",total); fclose(fp);printf("n1- 返回主菜單; 2- 退出選課系統(tǒng) n"); scanf("%d",&a);if(a=1)main();elseexit(1);/* 學(xué)生選修課程 */ void xuan_ke()void main();struct student s;struct course c;int a;FILE *fp;system("color 5f");printf("n 請(qǐng)輸入您的學(xué)號(hào)及您要選擇的課程編號(hào) :"); scanf("%d
17、%d",&s.snum,&s um);if(fp=fopen("E:course.txt","r")=NULL) printf("nCannot open course!n"); for(;!feof(fp);)fscanf(fp,"%d %s %s %d %d %d %d %dn",&c.num,&,&c.kind,&c.time ,&c.ttime,&c.etime,&c.mark,&c.term);if(s
18、um=c.num)break;fclose(fp);if(fp=fopen("E:student.txt","a+")=NULL)printf("nCannot open student!n");fprintf(fp,"%d %d %sn",s.snum,s um,);fclose(fp);printf("n1-返回主菜單; 2- 退出選課系統(tǒng) n");scanf("%d",&a);if(a=1)main();elseexit(0);/* 主菜單 */vo
19、id main()int n,w=0;system("color 1f");printf("f*- 16 -*n");printf(" n");學(xué)生選課系統(tǒng)菜單printf(" * *n");printf(" n");1-錄入選課信息printf(" n");2-瀏覽選課信息printf(" n");3-查詢選課信息printf(" n");4-統(tǒng)計(jì)選課情況printf(" n");5-進(jìn)入選課操作printf(&q
20、uot; n");0-退出選課系統(tǒng)printf(" * *n");printf("請(qǐng)選擇輸入選項(xiàng)前數(shù)字 :");scanf("%d",&n);doif(n>5|n<0)printf("n 輸入錯(cuò)誤!請(qǐng)重新輸入! n"); scanf("%d",&n);else w=1;while(w=0);switch(n)case 1:insert();break;case 2:browser();break;case 3:search();break;case 4:xu
21、anke_information();break;case 5:xuan_ke();break;case 0:exit(0);return ;執(zhí)行結(jié)果:1.主菜單功能'C:U5er5Admini5tratorDe s lrtopkechengDebugc:olorrexe-17 -2.課程信息錄入或插入功能2.1密碼保護(hù)十_請(qǐng)選擇輸入選項(xiàng)前數(shù)字沢青輸入系統(tǒng)密? &24816蓉碼正確,請(qǐng)輸入課程門數(shù)二2.2信息正常錄入諳輸入課程門數(shù):12 3 4稱 學(xué) 名理變光語 課 應(yīng)程業(yè)業(yè)股 課專專41授課學(xué)時(shí) 實(shí)驗(yàn)或上機(jī)學(xué)時(shí) 學(xué)分 幵課學(xué)期二56Q420335&0435618413
22、. 課程信息瀏覽功能1-錄入選課信息玄-瀏覽選課信息3 -查詢選課信息4-統(tǒng)計(jì)選課情況召-進(jìn)入選課操作退出選課系統(tǒng)-20 -薯必必必公詳$業(yè)業(yè)校、專專專滿理辜語284光英輻 甲課應(yīng)40實(shí)驗(yàn)或上機(jī)學(xué)時(shí)00&18分開課學(xué)期:423 34 341章鮎按課程理選項(xiàng)前®詢芳式,輸入選項(xiàng)數(shù)字:1請(qǐng)輸入您要查詢的學(xué)分龍程編號(hào) 課程名稱1物理專3 應(yīng)用光學(xué)專4 央語mM 6 6 4 學(xué)5 5 6總質(zhì)程必必公 $業(yè)校授課學(xué)時(shí)實(shí)驗(yàn)或上機(jī)學(xué)時(shí)學(xué)分開課學(xué)期:4440018-返回主菜單I A退出選課系統(tǒng)4. 課程信息查詢功能4.1學(xué)分查詢- 1-錄入選課信息-2-瀏覽選課信息3-查詢選課信息三4-統(tǒng)計(jì)
23、選課情況5-進(jìn)入選課操作0-退岀選課系統(tǒng)1.1-返回王菜單;2-退岀選課系統(tǒng)4.2課程性質(zhì)查詢苕®3省魅氧齧擇逋入選項(xiàng)前數(shù)字燈入密要査詢的課程性質(zhì) 編喜課程名禰堺程1 輕理專業(yè)必12 宀壽器專羋必13 應(yīng)用光李專業(yè)必-想學(xué)時(shí)564056接課學(xué)時(shí)564056實(shí)驗(yàn)或上機(jī)學(xué)時(shí)學(xué)分開課學(xué)期:423 34 3-返回主菜單;A退出選課系統(tǒng)5. 學(xué)生選修課程功能6. 統(tǒng)計(jì)選課情況功能濰書畑鈿系統(tǒng)六:建議和體會(huì)本學(xué)期我們的 C 語言程序設(shè)計(jì)課程的測(cè)試題目是讓學(xué)生自主設(shè)計(jì) , 老師 為我們提供了相關(guān)課題; 同時(shí)為激發(fā)同學(xué)們的創(chuàng)造性, 同學(xué)們不僅可以對(duì)自己 所選擇的課題進(jìn)行相關(guān)的改良,而且可以自擬課題.C 語言的實(shí)質(zhì)就是以一定的語法標(biāo)準(zhǔn)為準(zhǔn),通過對(duì)數(shù)據(jù)量的復(fù)雜結(jié)構(gòu)運(yùn) 算,完成一定功能的程序, 是一
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024廣告發(fā)布合同范文
- 公共場(chǎng)所環(huán)境衛(wèi)生承包合同
- 北京交通事故損害賠償協(xié)議書撰寫指南
- 2024年交通事故調(diào)解協(xié)議書范例
- 2024清潔工勞動(dòng)合同書樣本
- 商品采購協(xié)議
- 2024工程建設(shè)招標(biāo)投標(biāo)合同(履約銀行保證書)新
- 舞蹈學(xué)校教師聘請(qǐng)協(xié)議書
- 2024《技術(shù)服務(wù)合同范本》
- 2024共事協(xié)議書樣式
- 110kv升壓站施工組織方案
- 2023年中考物理試題匯編全集(包含答案)
- 轉(zhuǎn)體梁轉(zhuǎn)體施工工法
- YY/T 1833.3-2022人工智能醫(yī)療器械質(zhì)量要求和評(píng)價(jià)第3部分:數(shù)據(jù)標(biāo)注通用要求
- 生物體中結(jié)構(gòu)色
- 博物館教育資源與當(dāng)前語文課程融合的探究
- GA 1468-2018寄遞企業(yè)安全防范要求
- 防范和懲治統(tǒng)計(jì)造假、弄虛作假等違法違規(guī)行為的政策解讀(統(tǒng)計(jì)培訓(xùn)課件)
- 地源熱泵監(jiān)理細(xì)則
- 人工智能及其應(yīng)用課件
- CreloxPCRISPRCas技術(shù)和病毒載體在課件
評(píng)論
0/150
提交評(píng)論