版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> C語言程序設(shè)計助學(xué)軟件開發(fā) </p><p><b> 摘 要</b></p><p> 隨著internet在我國的迅猛發(fā)展,電腦的使用也逐漸普及,。相對于從前的購書求學(xué)方式,電腦學(xué)習(xí)的隨意性使其在市場上擁有的強大的發(fā)展勢頭。也提供了比傳統(tǒng)學(xué)習(xí)更加豐富多彩的表現(xiàn)形式以及更好的互動性!本系統(tǒng)便是根據(jù)用戶的網(wǎng)絡(luò)使用習(xí)慣設(shè)計的一款C
2、語言程序?qū)W習(xí)軟件。本系統(tǒng)利用PHP網(wǎng)絡(luò)開發(fā)技術(shù),以MySQL作為后臺的數(shù)據(jù)庫,使用PHP和HTML5腳本語言,并進行Apache配置服務(wù)器,以及結(jié)合多種編程工具來實現(xiàn)。</p><p> 該軟件主要包括三大模塊:基礎(chǔ)設(shè)置模塊,學(xué)習(xí)測試模塊。同時該系統(tǒng)具備了用戶權(quán)限管理功能,游客無法進入軟件使用界面,只有注冊并登陸的用戶才可以進行軟件的使用。這種權(quán)限登錄保證了系統(tǒng)用戶提供更好的服務(wù)。</p><
3、;p> 關(guān)鍵詞 :C語言:CAI;php;Mysql;html5</p><p><b> Abstract</b></p><p> With the rapid development of the internet in our country, the use of computers are becoming more common. With
4、respect to the previous textbook approaches to learning, computer learning randomness it has a strong momentum of development in the market.Also it provides more colorful than the traditional forms of learning and better
5、 interactivity! The system is based on the user's network usage and design of a C language learning software programs. The system uses PHP web development technologies t</p><p> The software includes th
6、ree modules: basic setting module, learning test modules. Meanwhile, the system has the user rights management features, visitors can not enter the software user interface, only registered and logged in users can be usin
7、g the software. Such privileges to log to ensure the system to provide better service.</p><p> Key words: C language :CAI; Php; Mysql; Html5 目 錄</p><p><b> 摘 要I</b></p>
8、<p><b> 關(guān)鍵詞I</b></p><p> AbstractII</p><p> Key wordsII</p><p><b> 1系統(tǒng)概論1</b></p><p> 1.1 C語言助學(xué)軟件平臺開發(fā)背景1</p><p> 1.
9、2 C語言助學(xué)軟件平臺開發(fā)意義1</p><p> 1.3 C語言助學(xué)軟件平臺的可行性1</p><p> 1.3.1可行性研究1</p><p> 1.3.2 C語言助學(xué)軟件平臺的技術(shù)可行性1</p><p> 1.3.3 C語言助學(xué)軟件平臺的經(jīng)濟可行性1</p><p> 1.3.4 C語言助學(xué)
10、軟件平臺的操作可行性2</p><p><b> 2 技術(shù)概述3</b></p><p> 2.1開發(fā)語言概述3</p><p> 2.1.1 PHP語言簡介3</p><p> 2.1.2 Apache簡介3</p><p> 2.1.3 MySQL簡介3</p>
11、;<p> 2.1.4 JavaScript簡介4</p><p> 2.1.5 HTML5簡介4</p><p><b> 3需求分析5</b></p><p> 3.1用戶需求分析5</p><p> 3.2 定位用戶目標人群5</p><p><b&g
12、t; 3.3應(yīng)用前景5</b></p><p><b> 4系統(tǒng)設(shè)計7</b></p><p> 4.1系統(tǒng)功能設(shè)計7</p><p> 4.2 數(shù)據(jù)庫設(shè)計8</p><p> 4.2.1 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計8</p><p> 4.2.2 數(shù)據(jù)庫表單設(shè)計8&l
13、t;/p><p><b> 5系統(tǒng)實現(xiàn)12</b></p><p> 5.1學(xué)生界面12</p><p> 5.1.1注冊模塊12</p><p> 5.1.2 登錄模塊13</p><p> 5.1.3 首頁模塊16</p><p> 5.1.4 在線課
14、程模塊17</p><p> 5.1.5練習(xí)模塊20</p><p> 5.1.6 在線答疑模塊23</p><p> 5.2 教師界面26</p><p> 5.2.1 首頁模塊26</p><p> 5.2.2 在線課程模塊27</p><p> 5.2.3 查看試題
15、模塊32</p><p> 5.2.4 添加試題模塊34</p><p> 5.2.5 在線答疑模塊36</p><p><b> 6 結(jié)束語41</b></p><p><b> 參考文獻42</b></p><p><b> 7致謝43&l
16、t;/b></p><p><b> 1系統(tǒng)概論</b></p><p> 1.1 C語言助學(xué)軟件平臺開發(fā)背景</p><p> C語言是一門通用應(yīng)用廣泛的計算機編程語言,隨著計算機網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,C語言一直充當著極為重要的角色。然而,目前的高校實際教學(xué)環(huán)節(jié)中,仍然有部分學(xué)生無法適應(yīng)高校的教課形式,切高校在傳統(tǒng)的面授教學(xué)形勢下,
17、忽略了網(wǎng)絡(luò)的開發(fā)和應(yīng)用。當今社會,網(wǎng)絡(luò)在線學(xué)習(xí)已經(jīng)成了一種時尚潮流和必然趨勢。在“C語言程序?qū)W習(xí)軟件”中,為了充分的利用校園的網(wǎng)絡(luò)資源,故將其制作成網(wǎng)頁形式,并在網(wǎng)頁中添加課程,試題,以及講義等應(yīng)用,以開發(fā)一個基于Web的多媒體助學(xué)軟件平臺。</p><p> 1.2 C語言助學(xué)軟件平臺開發(fā)意義</p><p> C語言助學(xué)軟件平臺是在Internet上構(gòu)建一個交互學(xué)習(xí)系統(tǒng),利用網(wǎng)絡(luò)實
18、現(xiàn)用戶接收課程、講義、測試的助學(xué)軟件。C語言助學(xué)軟件平臺的用戶可通過系統(tǒng)隨時隨地觀看老師在課堂上所講的知識,效果與現(xiàn)場開設(shè)的課堂一樣。C語言助學(xué)軟件平臺就是利用互聯(lián)網(wǎng)的便捷特性與教育學(xué)習(xí)結(jié)合起來的一種新型教學(xué)模式。它突出了學(xué)習(xí)時間的自由性,學(xué)習(xí)地點的自由性,能夠為更多復(fù)習(xí)或自學(xué)C語言的用戶提供一個更好的平臺。</p><p> 1.3 C語言助學(xué)軟件平臺的可行性</p><p> 1.
19、3.1可行性研究</p><p> 與傳統(tǒng)的教學(xué)方式相比,C語言助學(xué)軟件平臺的網(wǎng)頁在線學(xué)習(xí)顯得更為自由輕松隨意,更加人性化。同時與傳統(tǒng)的啃輔導(dǎo)書式的學(xué)習(xí),C語言助學(xué)軟件平臺要顯得更為省時省力。并且通過C語言助學(xué)軟件平臺,用戶可以做的不僅僅是做題測試,更能夠與教師在線互動答疑,以及觀看視頻文件。并且教師也可以更為快捷的管理學(xué)生的信息,以及掌握學(xué)生的學(xué)習(xí)進度。它的管理,要比傳統(tǒng)的教學(xué)管理模式要更為輕松。</p
20、><p> 1.3.2 C語言助學(xué)軟件平臺的技術(shù)可行性</p><p> 本系統(tǒng)使用IntelliJ IDEA 編程工具進行項目開發(fā),數(shù)據(jù)庫使用的是MySQL以及Microsoft Access數(shù)據(jù)庫,服務(wù)器由Apache進行配置。通過本人的大學(xué)期間的知識的學(xué)習(xí),以及指導(dǎo)老師的細心幫助,在技術(shù)上是可行的的。</p><p> 1.3.3 C語言助學(xué)軟件平臺的經(jīng)濟可
21、行性</p><p> 本系統(tǒng)的開發(fā)需要資金投入甚少,系統(tǒng)開發(fā)運行后,任何一個人都可以在網(wǎng)站上自助注冊登錄成為會員,期間任何資源完全有在校老師提供,因此在經(jīng)濟上也是可行的。</p><p> 1.3.4 C語言助學(xué)軟件平臺的操作可行性</p><p> 本系統(tǒng)直觀方便,生動易懂易操作。略懂電腦的用戶在注冊之后都可以直接上手,并無任何困難。對于系統(tǒng)的管理人員,只
22、需要簡單的培訓(xùn),亦可以迅速著手管理系統(tǒng)。因此在操作上也是可行的。</p><p><b> 2 技術(shù)概述</b></p><p><b> 2.1開發(fā)語言概述</b></p><p> 2.1.1 PHP語言簡介</p><p> PHP中文名為“超文本預(yù)處理器”,全稱Hypertext P
23、reprocessor。它是一種集C語言、Java等語言的特點于一身,并自帶創(chuàng)新的開源開源腳本語言。在動態(tài)網(wǎng)頁方面與其他的編程工具和語言相比,PHP的執(zhí)行效率要高出許多!它支持了mSQL 、InterBase、Microsoft SQL Server、·MySQL、Informix 、以及Oracle 等大型數(shù)據(jù)庫或數(shù)據(jù)文件。</p><p> PHP的應(yīng)用范圍相當廣泛,尤其是在網(wǎng)頁程序的開發(fā)上。PH
24、P一般都通過運行PHP代碼來產(chǎn)生用戶瀏覽的網(wǎng)頁。PHP因為其強大的兼容性,使其可以在幾乎所有的服務(wù)器和操作系統(tǒng)上運行,并且PHP完全是免費的。</p><p> 2.1.2 Apache簡介</p><p> Apach是一個開放源代碼的網(wǎng)頁服務(wù)器軟件,可以在幾乎所有系統(tǒng)中運行,因其跨平臺和安全性而被廣泛使用,也是現(xiàn)在IT界中最為流行的Web服務(wù)器軟件之一Apache支持許多特性,而其
25、中的絕大多數(shù)特性都是通過編譯模塊來實現(xiàn)的。Apache提供了對ssl技術(shù)以及數(shù)個虛擬主機的支持。它是以進程為基礎(chǔ)的結(jié)構(gòu)。迄今為止,Apache依舊是全世界用的最多的Web服務(wù)器。許多著名網(wǎng)站如Amazon、Yahoo!、Facebook等都是Apache的產(chǎn)物。它的源代碼開放是它成功的主要因素、并且它有一支開放的開發(fā)隊伍、支持跨平臺的應(yīng)用(可以運行在幾乎所有的Unix、Windows、Linux系統(tǒng)平臺上)以及它的可移植性等方面。<
26、;/p><p> 2.1.3 MySQL簡介</p><p> MySQL 是一個關(guān)系型數(shù)據(jù)庫管理系統(tǒng),它是當今社會最流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),單論在WEB應(yīng)用方面MySQL是眾多應(yīng)用軟件中的佼佼者。MySQL它能將關(guān)聯(lián)數(shù)據(jù)庫將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)都堆放在一起,從而提高了靈活性以及加快了效率。MySQL所使用的SQL語言是用于訪問數(shù)據(jù)庫的最常用標準化語言。My
27、SQL軟件由于其體積小、速度快、總體擁有成本低,尤其是在開放源碼這一特點上,使得許多中小型網(wǎng)站的開發(fā)者都傾向于選擇MySQL作為網(wǎng)站數(shù)據(jù)庫。通過搭配PHP和Apache可組成良好的開發(fā)環(huán)境。</p><p> 其主要特點大致如下:</p><p> 能夠很好的保證源代碼的可移植性。</p><p> 支持全世界多種操作系統(tǒng)。</p><p&
28、gt; 能夠為多種編程語言提供API。</p><p> 支持多線程以及多用戶。</p><p> 能夠有效地提高查詢速度。</p><p> 既能單獨運行,也能嵌入式運行。</p><p><b> 支持多種語言</b></p><p> 提供多種數(shù)據(jù)庫的連接途徑。</p>
29、;<p> 能夠提供各種多樣式的管理工具。</p><p> 可以處理上千萬條記錄的大型數(shù)據(jù)庫。</p><p> 2.1.4 JavaScript簡介</p><p> JavaScript是一種直譯式,動態(tài)型、弱類型并且基于原型的腳本語言。它的解釋器作為為瀏覽器的一部分,廣泛的應(yīng)用在客戶端的腳本語言中。JavaScript主要在用戶的瀏覽器
30、作為客戶端腳本語言運行,往往不需要服務(wù)器的支持。所以在早期為了減少對服務(wù)器的負擔(dān),大家都比較青睞于JavaScript。同時,JavaScript有些特殊功能必須在客戶端中進行。而隨著眾多優(yōu)秀的引擎和框架的發(fā)展,JavaScript逐漸被用來編寫服務(wù)器端程序。</p><p> 2.1.5 HTML5簡介</p><p> HTML5語言作為萬維網(wǎng)的主要常用語言,并且是核心標準超文本語
31、言(HTML)的第五次修改,因此HTML5是已經(jīng)較為成熟的規(guī)范腳本語言。</p><p> 其最大的優(yōu)勢在于可以直接在網(wǎng)頁上面進行調(diào)試以及修改。其具有比之前的腳本語言更好的結(jié)構(gòu)⑤。</p><p> 其優(yōu)點有:1.能夠逐漸取代Flash在網(wǎng)頁上的使用。</p><p> 2.可以通過使用更多的節(jié)點來使用視頻以及音頻</p><p>
32、3.具有較好的可移植性以及可操作性⑦。</p><p><b> 3需求分析</b></p><p> 3.1用戶需求分析 </p><p> 隨著信息化社會的告訴發(fā)展,越來越多的公司以及企業(yè)需要大量的編程人員,二編程人員中C語言的使用率是名列前茅的。而對于大多數(shù)高等學(xué)校的學(xué)生來講,C語言又是一門不可忽視的課程,而網(wǎng)絡(luò)信息的便攜式,以及易
33、操作性使得越來越多的學(xué)生以及成人傾向于網(wǎng)絡(luò)學(xué)習(xí)。</p><p> 3.2 定位用戶目標人群</p><p> 本軟件的定位目標用戶為在校所有師生,以及社會上所有對C語言有學(xué)習(xí)需要的用戶群體。如果用戶能夠更方便更快捷的學(xué)到C語言的知識,那么他們可以減免更多的麻煩,從而更多的經(jīng)歷投身于學(xué)習(xí)中。</p><p><b> 3.3應(yīng)用前景</b>
34、;</p><p> 據(jù)統(tǒng)計當今社會的編程語言中,著名的TIOBE編程語言社區(qū)對編程語言的流行趨勢進行了統(tǒng)計并發(fā)布了一個指標。這份排名榜是由全世界所有程序員,課程發(fā)布量以及其他數(shù)量統(tǒng)計在一起而發(fā)布的趨勢排行榜。而在排行榜中C語言一直居于領(lǐng)頭地位。</p><p> 最近幾年的C語言的使用排行見圖3-1、圖3-2所示:</p><p> 圖3-1 編程語言201
35、1—2012排行</p><p> 圖3-2 編程語言2012—2013排行</p><p> 因此我們可以知道,在社會上C語言對于編程者來說,依舊占有較為宏達的需求以及市場,并且在大學(xué)中許多學(xué)生對于計算機二級等計算機等級考試,依然在大學(xué)中占據(jù)著比較重要的位置,因此C語言在線學(xué)習(xí)網(wǎng)站可以根據(jù)用戶的使用興趣以及習(xí)慣來隨時對自己進行充電。</p><p> C語言
36、助學(xué)軟件不但沿襲了傳統(tǒng)優(yōu)秀的授課方式,將老師所講的課程全部由網(wǎng)絡(luò)直接展現(xiàn)到用戶面前,還創(chuàng)新性的使用了在線上傳試題,可以供用戶查看該章的試題,使得用戶在聽完課程后能夠迅速鞏固自己所學(xué),并且在當用戶遇到問題時,用戶可以在線向教師提問。使得自己對所有疑惑不留死角。</p><p> 所以說C語言助學(xué)軟甲的應(yīng)用前景,極為廣闊,并且其可以在今后的學(xué)習(xí),以及應(yīng)用中得到更多的發(fā)展!</p><p>&
37、lt;b> 4系統(tǒng)設(shè)計</b></p><p> 該軟件是一個C語言助學(xué)軟件系統(tǒng)。主要分為以下幾個方面: C語言的課程學(xué)習(xí)、測試等內(nèi)容等。該軟件在設(shè)計時,充分的考慮到了用戶的應(yīng)用方便與快捷,使用戶能夠更加便捷地操作這款軟件系統(tǒng)。</p><p><b> 4.1系統(tǒng)功能設(shè)計</b></p><p> 該軟件系統(tǒng)為一個C
38、語言助學(xué)系統(tǒng),其最基本的功能是讓用戶能夠更好的通過在線課堂、在線測試等方式來完善C語言基礎(chǔ)。</p><p> 對于此軟件系統(tǒng),實際上是以WEB為中心,采用HTTP為傳輸協(xié)議,客戶端訪問WEB并使后臺數(shù)據(jù)庫與WEB相連。本系統(tǒng)采用了PHP+sql的WEB技術(shù)為開發(fā)手段,建立并運行動態(tài)、交互、高效的在線C語言助學(xué)軟件系統(tǒng)的應(yīng)用程序</p><p> 整個系統(tǒng)主要對象面向?qū)W習(xí)者其中主要包含
39、了教程管理以及在線答疑等相關(guān)環(huán)節(jié)。</p><p> 這對C語言這一門學(xué)科,該軟件系統(tǒng)通過與數(shù)據(jù)庫連接并建立了較大規(guī)模的教育資源,是用戶可以在軟件系統(tǒng)中選擇系統(tǒng)中羅列的任意及教師的課程,并傳送到所使用的瀏覽器端口,使得用戶可以根據(jù)自身情況自定義學(xué)習(xí)計劃。在用戶學(xué)習(xí)完每個章節(jié)之后,都可以選擇進行章節(jié)測試,并且在答題之后,能夠提供成績顯示。使得用戶能夠更好地判斷自己有關(guān)章節(jié)的學(xué)習(xí)情況。</p><
40、;p> 在對系統(tǒng)的需求分析后,該軟件將學(xué)生系統(tǒng)功能分為以下幾個部分:用戶登錄、用戶注冊、在線測試、在線課程、在線答疑五個部分。而將教師系統(tǒng)功能分為:用戶登錄、上傳課程、上傳試題、管理試題五個部分。其功能結(jié)構(gòu)模塊圖見圖4-1所示。</p><p> 圖4-1 系統(tǒng)功能模塊圖</p><p><b> 4.2 數(shù)據(jù)庫設(shè)計</b></p><
41、p> 4.2.1 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計</p><p> 該軟件的數(shù)據(jù)可邏輯結(jié)構(gòu)通過E-R模型圖能夠良好的表示出抽象數(shù)據(jù)類型與用戶之間的緊密聯(lián)系,</p><p> 它具有幾個突出的優(yōu)點:</p><p> (1)形象生動接近于用戶的思維,能夠很好的理解;</p><p> (2)與計算機沒有過多關(guān)聯(lián),使得普通用戶也可以很快接受
42、</p><p> 本系統(tǒng)數(shù)據(jù)庫的大致流程圖見圖4-2所示.</p><p> 圖4-2 數(shù)據(jù)庫流程圖</p><p> 4.2.2 數(shù)據(jù)庫表單設(shè)計</p><p> 改系統(tǒng)采用Mysql數(shù)據(jù)庫建立數(shù)據(jù)庫管理系統(tǒng),數(shù)據(jù)庫名稱為lw,數(shù)據(jù)庫如下。</p><p> ?。?)用戶表(web_admin)</p
43、><p> 該表中包含ID(id)、用戶名(username)、密碼(password)、郵箱(Email)、出生日期(date)、文件(file)、電話(phone)、備注(comment)。詳細表單見表1所示。</p><p><b> 表1 用戶表</b></p><p> ?。?)試題表(web-paper)</p>&l
44、t;p> 該表中包含ID(id)、標題(Topic)、A選項(Boption)、B選項(Boption)、C選項(Coption)、D選項(Doption)、答案分數(shù)(answer)、添加試題(crate_at)。詳細表單見表2所示。</p><p><b> 表2 試題表</b></p><p> (3) 視頻表(web-video)</p>
45、;<p> 該表單中包含ID(id)、標題(title)、介紹(summary)、BID(bid)、</p><p> 圖片(img)、分類(sort)、作者(author). 詳細表單見表3所示</p><p><b> 表3 視頻表</b></p><p> ?。?)視頻bid表(web-bid)</p>
46、<p> 該表單中包含ID(id)、標題(title)、排列(rank)、BID(bid)、圖片(img)</p><p> 分類(sort)、作者(author)。詳細表單見表4所示</p><p><b> 表4 bid表</b></p><p> (5) 視頻cid表(web-vedio-cid)</p>
47、<p> 該表單中包含ID(id)、標題(title)、排列(rank)、BID(bid)、網(wǎng)頁(website)、關(guān)鍵詞(keyword)、描述(description). 詳細表單見表5所示</p><p><b> 表5 cid表</b></p><p><b> 5系統(tǒng)實現(xiàn)</b></p><p>
48、 該系統(tǒng)由學(xué)生及教師兩個不同界面和功能組成。當用戶在登錄時選擇以學(xué)生身份進入時,系統(tǒng)將轉(zhuǎn)到學(xué)生界面及其功能平臺。當用戶選擇以教師身份登陸界面后,系統(tǒng)將轉(zhuǎn)到教師界面及其功能平臺。</p><p><b> 5.1學(xué)生界面</b></p><p><b> 5.1.1注冊模塊</b></p><p> 功能:當用戶首次
49、使用該軟件系統(tǒng),則必須注冊。用戶只需在首頁點擊“”,就能夠進入到注冊頁面。當用戶填寫完注冊信息在提交其注冊信息前,系統(tǒng)會自動檢測注冊信息的合法性。若果填寫合法則將表單內(nèi)容提交后倒臺并保存其信息,并由當前頁面轉(zhuǎn)移到注冊成功頁面;若用戶填寫的信息內(nèi)容不合法,系統(tǒng)將自動提示其錯誤信息,提示用戶重新注冊,直到注冊成功為止。</p><p> 輸入:用戶名、密碼、郵箱、出生日期、頭像、電話、備注</p>&
50、lt;p> 處理:驗證輸入合法性。在用戶提交信息前,先檢測用戶輸入是否合法:若合法,則注冊成功,進入學(xué)習(xí)頁面;否則,提示不成功,繼續(xù)修改信息,直到輸入合法為止。</p><p> 功能圖及具體界面見圖5-1、圖5-2所示:</p><p> 圖5-1 注冊功能流程圖</p><p><b> 圖5-2 注冊界面</b></p
51、><p> 5.1.2 登錄模塊</p><p> 功能:在登錄模塊頁面中,用戶只需在登錄欄中輸入正確的用戶名和密碼并選擇登錄身份為學(xué)生后,表單將自動將用戶信息傳送到登錄信息程序處理,對用戶的身份進行驗證,如若成功則進入系統(tǒng),否則重新輸入,直到正確為止。</p><p> 輸入:用戶名,密碼。</p><p> 處理:輸入數(shù)據(jù),選擇用戶身
52、份。當按下“”按鈕后,輸入的信息數(shù)據(jù)將提交到后臺信息存儲數(shù)據(jù)庫,判斷數(shù)據(jù)是否正確。如果正確,則進行數(shù)據(jù)庫連接,否則,繼續(xù)輸入正確的用戶信息。</p><p> 功能圖及具體界面見圖5-3、圖5-4所示:</p><p> 圖5-3 登錄功能流程圖</p><p><b> 圖5-4 登錄界面</b></p><p>
53、;<b> 具體代碼如下:</b></p><p><b> <?php</b></p><p> class LoginAction extends Action{</p><p> public function login(){</p><p> $this->displ
54、ay();</p><p><b> }</b></p><p> public function doLogin(){</p><p> //dump($_REQUEST);die();</p><p> $username = $_POST['username'];</p>&l
55、t;p> $password = $_POST['password'];</p><p> $role = $_POST['R1'];</p><p> $user = M('Admin');</p><p> $where['username'] = $username;</p&g
56、t;<p> $where['password'] = $password;</p><p> $arr=$user->field('id')->where($where)->find();</p><p> //echo $user->getLastSql();</p><p> //d
57、ump($arr);die();</p><p><b> if($arr){</b></p><p> session_start();</p><p> $_SESSION['login_userid'] = $arr['id'];</p><p> $_SESSION[
58、9;login_username'] = $username; </p><p> if($role == 1){ //學(xué)生</p><p> $this->success("同學(xué),恭喜您,登錄成功",U('Index/index'));</p><p> }else if($role == 2){
59、 //老師</p><p> $this->success("恭喜您,登錄成功",U('Admin/index'));</p><p><b> }</b></p><p><b> }else{</b></p><p> $this->er
60、ror('您輸入的密碼有誤,請重試!');</p><p><b> }</b></p><p><b> }</b></p><p><b> //退出登錄</b></p><p> public function doLogout(){</p&
61、gt;<p> $_SESSION=array();</p><p> if(isset($_COOKIE[session_name()])){</p><p> setcookie(session_name(),'',time()-1,'/');</p><p><b> }</b><
62、;/p><p> session_destroy();</p><p> $this->redirect('Login/login');</p><p><b> }</b></p><p> public function register(){</p><p> $
63、this->display();</p><p><b> }</b></p><p> public function res(){</p><p> $User = M("admin"); </p><p> $User->create();</p><p&
64、gt; $result=$User->add();</p><p> if($result){</p><p> $this->redirect('Index/index');</p><p><b> }</b></p><p><b> }</b></
65、p><p><b> }</b></p><p><b> ?></b></p><p> 5.1.3 首頁模塊</p><p> 功能:當用戶進入系統(tǒng)后,系統(tǒng)自動轉(zhuǎn)到首頁,首頁模塊的界面中央寫著“hello world”字樣,代表從此開啟C語言的新篇章。而在首頁的頂端上有一個導(dǎo)航欄。用以
66、轉(zhuǎn)到相應(yīng)功能的界面。</p><p> 具體界面見圖5-5、圖5-6所示:</p><p><b> 圖5-5 導(dǎo)航欄</b></p><p> 圖5-6 首頁整體界面</p><p> 5.1.4 在線課程模塊</p><p> 功能:該模塊主要為用戶提供C語言有關(guān)課程的介紹,以圖文的
67、形式來介紹C語言所有課程的特點以及特色。</p><p><b> 輸入:無</b></p><p> 處理:當用戶進入了課程瀏覽界面之后,用戶可以選擇是否進入課程學(xué)習(xí),當用戶選擇了課程學(xué)習(xí)后,數(shù)據(jù)庫將會吧資源提交到用戶的客戶端。</p><p> 功能圖及具體界面見圖5-7、圖5-8、圖5-9、圖5-10所示:</p>&
68、lt;p> 圖5-7 在線課程流程圖</p><p> 在用戶點擊了在線課程之后,系統(tǒng)將會自動彈到在線課程界面,課程界面中將出現(xiàn)一排視頻介紹,每個圖片下面的文字為介紹內(nèi)容。點擊立即學(xué)習(xí)即可進入視頻觀看界面。</p><p> 圖5-8 在線課程具體界面</p><p> 圖5-9 在線課程整體界面</p><p> 用戶在點擊
69、了立即學(xué)習(xí)之后,系統(tǒng)將自動跳轉(zhuǎn)到視頻播放界面,用戶只需要點擊播放按鈕,即可進行視頻學(xué)習(xí)。</p><p> 圖5-10 在線課程視頻播放界面</p><p><b> 具體代碼如下:</b></p><p><b> <?php</b></p><p> class UserActio
70、n extends CommonAction {</p><p> public function index(){</p><p> $this->display();</p><p><b> }</b></p><p> public function video(){</p><
71、p> $search=$_POST['search'];</p><p> $sql=M('video');</p><p> $where='userid='.$_SESSION['login_userid'];</p><p> if($search){</p><
72、p> $where.=" and title like '%".$search."%'";</p><p><b> }</b></p><p> import('ORG.Util.Page');// 導(dǎo)入分頁類</p><p> $count =
73、$sql->where($where)->count();// 查詢滿足要求的總記錄數(shù) $map表示查詢條件</p><p> $Page = new Page($count,10);// 實例化分頁類 傳入總記錄數(shù)</p><p> $show = $Page->show();// 分頁顯示輸出</p><p> /
74、/ 進行分頁數(shù)據(jù)查詢</p><p> $list = $sql->where($where)->order('sort desc,id')->limit($Page->firstRow.','.$Page->listRows)->select();</p><p> $this->assign('lis
75、t',$list);// 賦值數(shù)據(jù)集</p><p> $this->assign('page',$show);// 賦值分頁輸出</p><p> $this->display(); // 輸出模板</p><p><b> }</b></p><p><b> }
76、</b></p><p><b> 5.1.5練習(xí)模塊</b></p><p> 功能:用戶可以根據(jù)自己的學(xué)習(xí)情況選擇測試。該模塊將根據(jù)用戶所選擇的的答案,在用戶作答完之后,進行自主判分。從而讓用戶了解到自己的對C語言掌握的實際情況。</p><p><b> 輸入:無</b></p>&l
77、t;p> 處理:選擇進行測試,由數(shù)據(jù)庫提供其對應(yīng)試題</p><p> 功能圖及具體界面見圖5-11、圖5-12、圖5-13所示:</p><p> 圖5-11 在線測試功能流程圖</p><p> 圖5-12 在線測試界面</p><p> 圖5-13 在線測試得分界面</p><p><b&g
78、t; 具體代碼如下:</b></p><p><b> <?php</b></p><p> class IndexAction extends CommonAction {</p><p> public function index(){</p><p> $uname = session
79、('login_username');</p><p> $this->assign('uname',$uname);</p><p> $this->display();</p><p><b> }</b></p><p> public function exam
80、(){</p><p> $pp = M("Paper");</p><p> $list = $pp->limit(20)->where("grade='cet4'")->order('rand()')->select();</p><p> $this->
81、assign('list',$list);</p><p> $this->display();</p><p><b> }</b></p><p> public function doexam(){ </p><p> //dump($_POST);</p>&
82、lt;p> $score = 0; </p><p> $pp = M('Paper');</p><p> $res = $_POST;</p><p> foreach ($res as $k=>$v){</p><p> if($k == 'topic_id')<
83、/p><p> $arr[] = $v;</p><p><b> }</b></p><p> foreach ($arr as $j){</p><p> foreach ($j as $id){</p><p> $ans = $pp->where("id=$id&qu
84、ot;)->getField('answer');</p><p> //echo "ans:".$ans."stu:".$res[$id];</p><p> if($ans == $res[$id])</p><p> $score = $score + 1; </p>&l
85、t;p><b> }</b></p><p><b> }</b></p><p> //dump($arr);</p><p> $score = $score * 5;</p><p> $result = M('Result');</p><
86、p> $data['uid'] = session('login_userid');</p><p> $data['grade'] = "cet4";</p><p> $data['score'] = $score;</p><p> $data['crea
87、te_at'] = mktime();</p><p> $result->add($data); </p><p> $this->assign("score",$score);</p><p> $this->display('score');</p><p>&
88、lt;b> }</b></p><p> 5.1.6 在線答疑模塊</p><p> 功能:當用戶對當前所學(xué)知識存在疑問時,用戶可以點擊在線答疑按鈕,進入到在線答疑界面,對當前疑惑進行提問</p><p><b> 輸入:問題</b></p><p> 處理:將所存在的問題提交到數(shù)據(jù)庫并存儲并
89、由教師解答</p><p> 功能圖及具體界面見圖5-14、圖5-15所示:</p><p> 圖5-14 在線答疑功能流程圖</p><p> 圖5-15 在線答疑界面</p><p><b> 具體代碼如下:</b></p><p> <?php if (!defined(
90、39;THINK_PATH')) exit();?><!DOCTYPE html></p><p><b> <html></b></p><p> <head lang="en"></p><p> <meta charset="UTF-8"
91、></p><p> <title>首頁</title></p><p> <link type="text/css" rel="stylesheet" href="__PUBLIC__/css/jikexuyeuan.css"></p><p><b&g
92、t; <style></b></p><p><b> *{</b></p><p> margin:0 auto;</p><p> padding:0 auto;</p><p> font-size:24px;</p><p><b> }<
93、;/b></p><p> input{height:45px;line-height:45px;width:80%;}</p><p><b> .content{</b></p><p> width:75%;height:auto;border:1px solid #ccc;</p><p><b
94、> }</b></p><p> .topic{padding-left:50px;margin:10px auto;}</p><p> span{height:30px;line-height:30px;margin-left:0px;</p><p> font-size:28px;padding:5px 28px;}</p&g
95、t;<p><b> ul li{</b></p><p> list-style:none;</p><p> margin:10px 10px;</p><p><b> }</b></p><p> input[type='submit'],input[
96、type='reset']{</p><p> height:35px;width:120px;margin:20px auto;</p><p><b> }</b></p><p> input[name='answer']{</p><p> height:35px;widt
97、h:80px;line-height:35px;</p><p><b> }</b></p><p><b> .bottom{</b></p><p> text-align:center;</p><p> border-width:60%;</p><p>
98、 margin:10px auto;</p><p><b> }</b></p><p> h2{text-align:center;margin:10px auto;}</p><p><b> </style></b></p><p><b> </head
99、></b></p><p><b> <body></b></p><p> <div class="ue-bar"></p><p> <div class="ue-bar-warp"></p><p> <di
100、v class="ue-bar-logo"></p><p><b> </div></b></p><p> <div class="ue-bar-nav"></p><p><b> <ul></b></p><
101、p> <li ><a href="__URL__/index"></p><p> <em>首頁</em></p><p><b> </a></li></b></p><p> <li><a href="__U
102、RL__/kecheng"></p><p> <em>上傳課程</em></p><p><b> </a></li></b></p><p> <li><a href="__URL__/question"></p>
103、<p> <em>查看試題</em></p><p><b> </a></li></b></p><p> <li><a href="__URL__/add_question"></p><p> <em>添加試題<
104、;/em></p><p><b> </a></li></b></p><p> <li><a href="__URL__/qa"></p><p> <em>在線答疑</em></p><p><b>
105、 </a></li></b></p><p> <li><a href="__URL__/doLogout"></p><p> <em>退出登錄</em></p><p><b> </a></li></b>&
106、lt;/p><p><b> </ul></b></p><p><b> </div></b></p><p><b> </div></b></p><p><b> </div></b></p
107、><p> <div class="content"></p><p> <form action="__URL__/doqa" method="post"></p><p> <input type="hidden" name="id"
108、; value="<?php echo ($list["id"]); ?>"></p><p> <div class="topic"></p><p> <strong>問題:<?php echo ($list["question"]); ?><
109、/strong></p><p> <textarea style="width:80%;margin:30px 70px;" name="answer"></textarea></p><p><b> </div></b></p><p> <di
110、v class="bottom"></p><p> <input type="submit" value="提交問題" /></p><p><b> </div></b></p><p><b> </form></b
111、></p><p><b> </div></b></p><p><b> </body></b></p><p><b> </html></b></p><p><b> 5.2 教師界面</b>&l
112、t;/p><p> 當用戶以教師身份登錄后,系統(tǒng)將自動跳轉(zhuǎn)到教師權(quán)限所在的界面及其功能平臺。</p><p> 5.2.1 首頁模塊</p><p> 功能:當用戶以教師身份進入系統(tǒng)后,系統(tǒng)自動轉(zhuǎn)到首頁,首頁模塊的界面中央寫著“hello world”字樣,代表從此開啟C語言的新篇章。而在首頁的頂端上有一個導(dǎo)航欄。用以轉(zhuǎn)到教師相應(yīng)功能的界面。</p>
113、<p> 具體界面見圖5-16、圖5-17所示:</p><p> 圖5-16 教師首頁導(dǎo)航欄</p><p> 圖5-17 教師首頁界面</p><p> 5.2.2 在線課程模塊</p><p> 功能:該模塊主要為教授提供C語言有關(guān)課程增刪查改,以圖文的形式來編輯C語言所有課程的特點以及特色。</p>
114、<p> 輸入:視頻,視頻介紹</p><p> 處理:當教師進入了上傳課程界面之后,教師可以選擇是對課程進行適當?shù)脑鰟h查改,當教師操作完畢后,數(shù)據(jù)庫將會自動保存資源。</p><p> 功能圖及具體界面見圖5-18、圖5-19所示:</p><p> 圖5-18 教師上傳課程功能流程圖</p><p> 圖5-19 教
115、師上傳課程界面</p><p><b> 具體代碼如下:</b></p><p><b> <?php</b></p><p> class UserAction extends CommonAction {</p><p> public function index(){</
116、p><p> $this->display();</p><p><b> }</b></p><p> public function video(){</p><p> $search=$_POST['search'];</p><p> $sql=M('v
117、ideo');</p><p> $where='userid='.$_SESSION['login_userid'];</p><p> if($search){</p><p> $where.=" and title like '%".$search."%'"
118、;</p><p><b> }</b></p><p> import('ORG.Util.Page');// 導(dǎo)入分頁類</p><p> $count = $sql->where($where)->count();// 查詢滿足要求的總記錄數(shù) $map表示查詢條件</p><
119、p> $Page = new Page($count,10);// 實例化分頁類 傳入總記錄數(shù)</p><p> $show = $Page->show();// 分頁顯示輸出</p><p> $list = $sql->where($where)->order('sort desc,id')->limit($P
120、age->firstRow.','.$Page->listRows)->select();</p><p> $this->assign('list',$list);// 賦值數(shù)據(jù)集</p><p> $this->assign('page',$show);// 賦值分頁輸出</p><p
121、> $this->display(); // 輸出模板</p><p><b> }</b></p><p> public function addVideo(){ //添加視頻</p><p> $cid=M('video_cid')->order('sort desc,id')-&
122、gt;select();</p><p> $bid=M('video_bid')->order('sort desc,id')->select();</p><p> $this->assign('cid',$cid);</p><p> $this->assign('bid
123、39;,$bid);</p><p> $this->display();</p><p><b> }</b></p><p> public function addOperation(){</p><p> if(IS_GET){</p><p> $this->err
124、or('非法提交');</p><p><b> }else{</b></p><p> $data['title']=$_POST['title'];</p><p> $data['userid']=$_SESSION['login_userid'];&l
125、t;/p><p> $data['summary']=str_replace("'","´",$_POST['summary']);</p><p> $data['bid']=$_POST['bid'];</p><p> $dat
126、a['img']=$_POST['img'];</p><p> $result=M('video')->add($data);</p><p> if($result>0){</p><p> $this->success('添加視頻集成功','video');
127、</p><p><b> }else{</b></p><p> $this->success('添加失敗,請重試','video');</p><p><b> }</b></p><p><b> }</b></p>
128、;<p><b> }</b></p><p> public function editVideo(){ //編輯視頻</p><p> $cid=M('video_cid')->order('sort desc,id')->select();</p><p> $bid
129、=M('video_bid')->order('sort desc,id')->select();</p><p> $this->assign('cid',$cid);</p><p> $this->assign('bid',$bid);</p><p> $resul
130、t=M('video')->find(intval($_GET['id']));</p><p> $this->assign('result',$result);</p><p> $this->display();</p><p><b> }</b></p>
131、;<p> public function editOperation(){</p><p> if(IS_GET){</p><p> $this->error('非法操作');</p><p><b> }else{</b></p><p> $id=intval($_P
132、OST['id']);</p><p> $data['title']=$_POST['title'];</p><p> $data['summary']=str_replace("'","´",$_POST['summary']);&l
133、t;/p><p> $data['bid']=$_POST['bid'];</p><p> $data['img']=$_POST['img'];</p><p> $result=M('video')->where('id='.$id)->save($d
134、ata); // 根據(jù)條件保存修改的數(shù)據(jù)</p><p> if($result>0){</p><p> $this->success('編輯視頻集成功','video');</p><p><b> }else{</b></p><p> $this->suc
135、cess('數(shù)據(jù)未編輯','video');</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> public function media(){ //視頻管
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《c語言程序設(shè)計》
- c語言程序設(shè)計
- c語言程序設(shè)計
- c語言程序設(shè)計
- c語言程序設(shè)計
- 畢業(yè)設(shè)計----《c語言程序設(shè)計》教學(xué)網(wǎng)站設(shè)計與實現(xiàn)
- 第32講程序設(shè)計與軟件開發(fā)基礎(chǔ)
- 第32講程序設(shè)計與軟件開發(fā)基礎(chǔ)
- 軟件開發(fā)畢業(yè)設(shè)計論文
- c語言程序設(shè)計(譚浩強)
- c語言程序設(shè)計教程
- c語言程序設(shè)計3
- c語言程序設(shè)計論文
- c語言程序設(shè)計論文
- c語言程序設(shè)計49295
- c語言程序設(shè)計論文
- c語言程序設(shè)計試題
- c語言程序設(shè)計譚浩強
- c語言程序設(shè)計答案
- c語言程序設(shè)計教案
評論
0/150
提交評論