課程表_C課程設計_第1頁
課程表_C課程設計_第2頁
課程表_C課程設計_第3頁
課程表_C課程設計_第4頁
課程表_C課程設計_第5頁
免費預覽已結束,剩余11頁可下載查看

下載本文檔

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

文檔簡介

1、高校課程表設計一、課程設計的的題目:高校課程表設計二、功能說明:學生課表建立系統(tǒng)是學生日常生活中必不可少的實用型小工具,它對于學生平時的學習生活有著相當重要的幫助作用。便于操作、顯示精確、短小實用就是它的明顯特點。本次課程設計目的:通過一個課程表建立系統(tǒng),使學生的學業(yè)及其他事物的時間安排更加合理,從而達到提高日常工作、學習效率。使學生掌握一門高級程序設計語言,了解面向對象程序設計的基本概念與方法,進而學會利用C+胡言學會解決一般應用問題,并為后續(xù)的專業(yè)課程奠定程序設計基礎。系統(tǒng)的基本模塊:根據(jù)系統(tǒng)功能的要求,課程表建立系統(tǒng)可以分為課程信息的輸入, 課程表的處理及建立等模塊。通過分析可以知道該軟

2、件主要有以下功能模塊:? 學生課程名稱顯示? 總學周時間顯示? 教師顯示? 地點顯示? 星期顯示? 一天中具體時間顯示其中本次課程設計實現(xiàn)的檔案模塊又分為如下子模塊:? 登陸界面:主要是增加系統(tǒng)的人性化,使用戶舒心? 信息錄入:主要是將課程相關信息錄入? 信息處理? 顯示項目:對學生課程信息進行處理、列表、顯示。系統(tǒng)結構圖1 如下:圖1系統(tǒng)結構圖三、類的.設計:各類的具體說明及描述kecheng類的設計為了實現(xiàn)管理系統(tǒng)的各功能首先定義了一個 kecheng類,用來定義各種數(shù)據(jù) 成員,聲明這些功能函數(shù)。比如:說明為什么要這樣設計setvalue() , showke() 等 , 同時聲明一些私有

3、成員。class kechengpublic:void setvalue();void showke();string ming16;string jiao16;string di16;int qi16;int jie16;int xing16;int tang16;關鍵功能的實現(xiàn)( 1)信息的輸入setvalue() 函數(shù)用來輸入相關信息,包括課程名稱、教師名稱、教室地點、課程起始周、課程結束周、上課的星期、上課的具體時間。輸入一次信息之后可選擇是否繼續(xù)添加新的課程。此函數(shù)代碼如下:1基本信息輸入void kecheng:setvalue()for(int i=0;i<16;i+)co

4、ut<<"* 請輸入課程名稱( 請簡寫不要超過6 個字 )"<<endl;cin>>mingi;cout<<"* 請輸入課程教師"<<endl;cin>>jiaoi;cin>>dii;cout<<"*請輸入課程的起始周"<<endl;cin>>qii;2 .如果輸入錯誤,系統(tǒng)會自檢,提示錯誤cout<<"*請輸入課程的結束周"<<endl;cin>>jiei;i

5、f(jiei>20)(cout<<"輸入錯誤!請重新輸入"<<endl;cin>>jiei;3 .程序會對一課程多節(jié)課的現(xiàn)象進行處理cout<<"*請輸入課程一周有幾天有"<<endl;int s;cin>>s;(for(int u=0;u<s;u+)(mingi+u=mingi;jiaoi+u=jiaoi;dii+u=dii;qii+u=qii;jiei+u=jiei;cout<<"*請輸入第"<<u+1<<&qu

6、ot;次課是星期幾"<<endl;cin>>xingi+u;if(xingi+u>7)cout<<" 輸入錯誤! 請重新輸入"<<endl;cin>>xingi+u;cout<<"* 請輸入課程是第幾堂"<<endl;cin>>tangi+u;if(tangi+u>5)cout<<" 輸入錯誤! 請重新輸入"<<endl;cin>>tangi+u;i=i+s;4輸完一門課程之后,系統(tǒng)

7、會自動提示是否進行下一課程的輸入cout<<"* 請問是否繼續(xù)下一個課程?(Y/N)"<<endl;char num;cin>>num;if(num='Y'|num='y') continue;else break;( 2)信息的處理與輸出showke() 函數(shù), 此部分用來實現(xiàn)課程相關信息的排序,包括表格的建立與信息的對應輸出,此函數(shù)用來顯示課程表的界面,用了一些“”號建立表格,在程序重的最后,通過for 來實現(xiàn)整個程序的循環(huán),并且使用了switch 選擇分支結構,使功能更容易實現(xiàn)。1基本課表表頭的輸出此

8、函數(shù)代碼如下:void kecheng:showke()cout<<"/"<<endl;cout<<"/課程表 /"<<endl;cout<<"/"<<endl;cout<<""<<endl;cout<<" |一 |二 |三 |四| 五 |六 |日 | "<<endl;cout<<""<<endl;2對一天時間(110 節(jié) ) 的格式

9、輸出此函數(shù)代碼如下:for(int i=1;i<6;i+)int l;switch(i)case 1:cout<<"(1-2) |"break;case 2:cout<<"(3-4) |"break;case 3:cout<<"(5-6) |"break;case 4:cout<<"(7-8) |"break;case 5:cout<<" 五 (9-10) |"break;3循環(huán)輸出課程信息,這里采用雙循環(huán),用于控制表格位置的對號

10、輸出及信息的循環(huán)輸出此函數(shù)代碼如下:for(int j=1;j<8;j+)l=0;for(int n=0;n<16;n+)if(tangn=i&&xingn=j)cout<<setw(12)<<mingn<<"|"l=1;if(l=0)cout<<" |"cout<<endl;cout<<" | "cout<<""<<endl;軟件測試與調試進入本程序如圖2 所示圖 2 登陸界面系統(tǒng)會提示輸入

11、相關信息,課程是星期幾、第幾堂是必須輸入的,輸入一次信息之后可選擇是否繼續(xù)添加新的課程如圖3 所示。圖 3 顯示輸入界面如果選擇不繼續(xù)系統(tǒng)就會顯示結果如圖4 所示圖 4 顯示輸出界面程序在執(zhí)行時經(jīng)常會出現(xiàn)一些違反設計期望的異常情況(如數(shù)值過大),一些大型的應用系統(tǒng)的開發(fā)人員提出,可以在允許的范圍內由應用程序自身來處理一般性的程序運行錯誤。C+胡言異常處理由三個部分構成。異常檢測的觸發(fā)、異常檢測的捕獲和異常檢測的處理。在這里我通過添加檢測函數(shù)來確保程序的正常運行代碼如下:if(xingi+u>7)cout<<" 輸入錯誤! 請重新輸入"<<end

12、l;cin>>xingi+u;結束語經(jīng)過 1 周多的設計和開發(fā),學生課程表建立基本開發(fā)完畢。其功能基本符合用戶需求,能夠完成信息完整輸入以及各類報表的打印。對于數(shù)據(jù)的一致性的問題也通過程序進行了有效的解決。但是由于課程設計時間較短,所以該系統(tǒng)還有許多不足之處:比如 系統(tǒng)維護功能, 還不能讓用戶進行數(shù)據(jù)備份和恢復;用戶界面不夠美觀;這些都有 待進一步改善。附錄 : 要注釋源程序清單#include<iostream>#include<string>#include<iomanip>using namespace std;class kechengp

13、ublic:void setvalue();void showke();string ming16;string jiao16;string di16;int qi16;int jie16;int xing16;int tang16;/模塊一/公有數(shù)據(jù) /輸入函數(shù) /處理、輸出函數(shù) /課程名 /教師名 /教室地點 /課程起始周 /課程結束周 /星期/第幾堂;void kecheng:setvalue() /模塊二for(int i=0;i<16;i+) /for 循環(huán)控制輸入cout<<"* 請輸入課程名稱(請簡寫 不要超過6 個字 )"<<e

14、ndl;cin>>mingi;cout<<"*請輸入課程教師"<<endl;cin>>jiaoi;cout<<"* 請輸入教室"<<endl;cin>>dii;cout<<"*請輸入課程的起始周"<<endl;cin>>qii;if(qii>20)(cout<<"輸入錯誤!請重新輸入"<<endl;/錯誤判斷cin>>qii;/重新輸入cout<&l

15、t;"*請輸入課程的結束周"<<endl;cin>>jiei;if(jiei>20)/錯誤判斷(cout<<"輸入錯誤!請重新輸入"<<endl;cin>>jiei;重新輸入cout<<"*請輸入課程周有幾天有"<<endl; /門課周幾節(jié)的處理 int s;cin>>s;輸入節(jié)數(shù)(for(int u=0;u<s;u+)/for循環(huán)控制多節(jié)輸入(mingi+u=mingi;jiaoi+u=jiaoi;dii+u=dii;qii+

16、u=qii;jiei+u=jiei;cout<<"*請輸入第"<<u+1<<"次課是星期幾"<<endl; cin>>xingi+u;if(xingi+u>7) ( cout<<"輸入錯誤!請重新輸入"<<endl; cin>>xingi+u; cout<<"*請輸入課程是第幾堂"<<endl; cin>>tangi+u;if(tangi+u>5) ( cout<&l

17、t;"輸入錯誤!請重新輸入"<<endl; cin>>tangi+u; i=i+s; cout<<"*請問是否繼續(xù)下一個課程?(Y/N)"<<endl;/是否繼續(xù)輸入char num; cin>>num;if(num='Y'|num='y') continue;繼續(xù)下個else break;結束輸入 void kecheng二showke()模塊三( cout<<" /"<<endl;/課表的頁眉/課cout<&l

18、t;"表 /"<<endl;cout<<"/"<<endl;cout<<""<<endl;cout<<"| 一 | 二 | 三 | 四| 五 | 六 | 日 | "<<endl;cout<<""<<endl;for(int i=1;i<6;i+)int l;switch(i)/用l 來檢測此項是否有內容輸出/課表的一天節(jié)數(shù)輸出case 1:cout<<J (1-2) |”

19、;break;case 2:cout<<"z!(3-4) |”;break;case 3:cout<<"E£(5-6) |”;break;case 4:cout<<'四(7-8) |”;break;case 5:cout<<五(9-10) |”;break;for(int j=1;j<8;j+)l=0;for(int n=0;n<16;n+)if(tangn=i&&xingn=j)cout<<setw(12)<<mingn<<"|&qu

20、ot;/課名輸出l=1;)if(l=0)(cout<<"|"/若沒有則輸出空格)cout<<endl;cout<<"| "for( j=1;j<8;j+)(l=0;for(int n=0;n<16;n+)(if(tangn=i&&xingn=j)( cout<<setw(10)<<jiaon<<" | "教師輸出l=1;)if(l=0)(cout<<"| "/若沒有則輸出空格)cout<<endl;cout<<"| "for( j=1;j<8;j+)(l=0;for(int n=0;n<16;n+)(if(tangn=i&&xingn=j)(cout<<setw(11)<<din&

溫馨提示

  • 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

提交評論