電子生詞庫軟件學(xué)生選修課程系統(tǒng)設(shè)計(jì)C語言版_第1頁
電子生詞庫軟件學(xué)生選修課程系統(tǒng)設(shè)計(jì)C語言版_第2頁
電子生詞庫軟件學(xué)生選修課程系統(tǒng)設(shè)計(jì)C語言版_第3頁
電子生詞庫軟件學(xué)生選修課程系統(tǒng)設(shè)計(jì)C語言版_第4頁
電子生詞庫軟件學(xué)生選修課程系統(tǒng)設(shè)計(jì)C語言版_第5頁
已閱讀5頁,還剩52頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

編程基礎(chǔ)

名稱:電子詞庫軟件

C語言編程培訓(xùn)任務(wù)書

題目:學(xué)生選修課系統(tǒng)

一、設(shè)計(jì)目的

I.進(jìn)一步掌握和使用c語言進(jìn)行編程的能力;

2.進(jìn)一步理解和應(yīng)用結(jié)構(gòu)化編程的思想和方法;

3、掌握開發(fā)小型實(shí)用系統(tǒng)的基本方法;

4、學(xué)習(xí)調(diào)試較長程序的基本方法;

5、學(xué)會(huì)用流程圖或NS圖來表示算法;

6.掌握編寫培訓(xùn)開發(fā)文檔的能力(編寫培訓(xùn)報(bào)告)

二、設(shè)計(jì)任務(wù)及能力

假設(shè)有n門課程,每門課程都有課程編號(hào)、課程名稱、課程性質(zhì)、總學(xué)時(shí)、教學(xué)時(shí)

數(shù)、實(shí)驗(yàn)或計(jì)算機(jī)學(xué)時(shí)、學(xué)分、課程學(xué)期等信息、,學(xué)生可以自由選擇課程:必填(例如

總學(xué)分不少于60)。嘗試設(shè)計(jì)一個(gè)選修課系統(tǒng),提供以下功能:

1、系統(tǒng)工作在菜單模式。

2.課程信息輸入功能一一輸入

3.課程信息瀏覽功能-輸出

4.查詢功能:-算法(二選一)

1)根據(jù)學(xué)分查詢課程信息。

2)根據(jù)課程性質(zhì)查詢課程信息。

5.學(xué)生選修課

6.按課程編號(hào)順序插入課程信息。

7.按課程名稱刪除課程信息。

8.以課程名稱的字典順序輸出所有課程信息。

三、設(shè)計(jì)要求

1、用C語言實(shí)現(xiàn)系統(tǒng);

2、使用結(jié)構(gòu)和數(shù)組設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu);

3、系統(tǒng)具有添加、查詢、插入、排序等基本功能;

4、要求系統(tǒng)各功能模塊以函數(shù)的形式實(shí)現(xiàn);

5.資料:每名學(xué)員一份培訓(xùn)指導(dǎo)書,并放入統(tǒng)一資料箱;

6.CD-ROM:每個(gè)學(xué)生的文件和程序資料都建在一個(gè)以他/她的學(xué)號(hào)命名的文件夾中,

每個(gè)班級(jí)的負(fù)責(zé)人需要收集每個(gè)學(xué)生的文件,將它們放在班級(jí)命名的文件夾中,刻錄成

光盤,放入專用資料袋中。

四。提交結(jié)果

1.設(shè)計(jì)任務(wù)書一本(學(xué)校統(tǒng)一格式)

2.設(shè)計(jì)規(guī)范,包括:

1)中文摘要為100字,3-5個(gè)關(guān)鍵詞。

2)培訓(xùn)主題、內(nèi)容和要求。

3)整體設(shè)計(jì)(包括幾個(gè)功能模塊)。

4)詳細(xì)設(shè)計(jì)(各功能模塊的具體實(shí)現(xiàn)算法-流程圖)

5)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)說明、各模塊(功能)功能介紹、參數(shù)說明等。

6)調(diào)試分析(包括每個(gè)模塊的測(cè)試用例和測(cè)試結(jié)果。)

7)總結(jié)(培訓(xùn)完成了哪些功能,有哪些需要改進(jìn)的地方,培訓(xùn)有哪些收獲,調(diào)試

程序的經(jīng)驗(yàn)等)

8)參考文獻(xiàn)、信件等。

五、主要參考資料

1.王連祥?!禖/C++編程》大學(xué).2013.7

2.譚浩強(qiáng)C語言程序設(shè)計(jì)學(xué)習(xí)指南(第2版)清華大學(xué)。2012年12月

3.李、龔以健《C語言編程實(shí)踐指導(dǎo)教程》華中科技大學(xué)2009年6月出版

4.曉東、洪振,《C語言編程與應(yīng)用》,人民郵電.2009.4

5.郭翠英《C語言課程設(shè)計(jì)案例匯編》中國水利水電2004.03.01

6.郭友強(qiáng),C語言程序設(shè)計(jì),清華大學(xué),2009年2月1日

7.程丹,穎,那軍,C語言程序設(shè)計(jì)案例實(shí)踐,清華大學(xué),2009年2月1日

8.《C語言程序設(shè)計(jì)教程》,麗娟,人民郵電,2013年1月1日

9.吳亞莉、王永玲、杰亞莉的C語言程序設(shè)計(jì),清華大學(xué),2009年2月1日

六、每個(gè)階段的時(shí)間表(共1周)

日期允許地點(diǎn)表現(xiàn)老師簽名

教師解釋設(shè)計(jì)要求并準(zhǔn)備參考資

周一課堂

料。

周二系統(tǒng)分析與方案設(shè)計(jì)課堂

周三方案設(shè)計(jì)與編程課堂

周四調(diào)試程序并編寫訓(xùn)練指令。課堂

星期五完成培訓(xùn)指導(dǎo)并回復(fù)。課堂

摘要

20世紀(jì)末,隨著計(jì)算機(jī)科學(xué)的發(fā)展,網(wǎng)絡(luò)的應(yīng)用越來越廣泛,為用戶提供了更加周

到、人性化的服務(wù)。本文研究了一種基于文件存儲(chǔ)的學(xué)生選修課系統(tǒng)。本系統(tǒng)是根據(jù)現(xiàn)

代校園發(fā)展為學(xué)生設(shè)計(jì)的課程系統(tǒng)。方便老師和家長來校了解學(xué)生成績、近期獎(jiǎng)懲情況

等。隨著教育改革的深化和素質(zhì)教育的加強(qiáng)以及完整學(xué)分制的實(shí)施,選修課發(fā)揮在學(xué)生

的培訓(xùn)計(jì)劃中扮演著越來越重要的角色!使用在線選課系統(tǒng)后,您可以在開課前在線選

課。每個(gè)學(xué)生的課程在開課前就已經(jīng)確定了,不用浪費(fèi)體力去選課,還可以合理、均勻

地分配教學(xué)資源。

關(guān)鍵詞:學(xué)生選課;C)語言;文件內(nèi)存

目錄

1mio理論1

1.1基本容量1

1.2發(fā)展趨勢(shì)1

1.3用途和特點(diǎn)1

2問題需求分析3

2.1提出的問題3

2.2問題3

3整體設(shè)計(jì)4

3.1整體設(shè)計(jì)思路4

五介紹及框圖4

1米奧理論

1.1基本容量

隨著教育改革的深入和素質(zhì)教育的加強(qiáng)以及完整學(xué)分制的實(shí)施,選修課在學(xué)生的培

養(yǎng)計(jì)劃中發(fā)揮著越來越重要的作用!學(xué)生在選擇課程時(shí),應(yīng)查看每門課程的詳細(xì)信息,

并選擇一些感興趣的課程。他們需要生成課程表,發(fā)現(xiàn)課程沖突后可以修改之前選擇的

信息、。隨著高校課程改革的不斷深入,學(xué)校規(guī)模不斷擴(kuò)大,課程項(xiàng)目數(shù)量不斷增加。為

解決學(xué)生選修課管理中繁雜的人工操作,制定選修課系統(tǒng)迫在眉睫。全校選修課的目的

是拓寬學(xué)生的知識(shí)面,加強(qiáng)學(xué)生的素質(zhì)教育,培養(yǎng)復(fù)合型高級(jí)人才,具有不可替代的重

要性!

1.2發(fā)展趨勢(shì)

對(duì)于復(fù)雜的信息管理,計(jì)算機(jī)可以充分發(fā)揮其優(yōu)勢(shì)。計(jì)算機(jī)信息管理與信息管理系

統(tǒng)的發(fā)展密切相關(guān),信息管理系統(tǒng)是系統(tǒng)管理的前提。該系統(tǒng)旨在管理學(xué)生的選課信息。

當(dāng)今是一個(gè)飛速發(fā)展的信息時(shí)代,各行各業(yè)都離不開信息處理,這是計(jì)算機(jī)在信息

系統(tǒng)中得到廣泛應(yīng)用的環(huán)境。計(jì)算機(jī)最大的優(yōu)點(diǎn)是可以管理信息和控制信息,不僅提高

了工作效率,而且大大提高了它的安全性。

基于這個(gè)問題,我認(rèn)為有必要建立一個(gè)學(xué)生選課系統(tǒng),使學(xué)生選課的信息管理有規(guī)

律、系統(tǒng)化、程序化,避免學(xué)生選課管理的隨意性,提高信息的速度和準(zhǔn)確性。處理,

并能夠及時(shí)、準(zhǔn)確、有效地查詢和修改選課情況。

1.3用途和特點(diǎn)

現(xiàn)代社會(huì)是信息社會(huì),信息無處不在。在生產(chǎn)、流通領(lǐng)域和各個(gè)部門,每天都在處

理信息。如何處理如此多的信息已成為一個(gè)重要的問題。學(xué)生在學(xué)期開始選課是教學(xué)活

動(dòng)中的一個(gè)重要環(huán)節(jié)。如果這個(gè)環(huán)節(jié)管理得好,不僅可以加快學(xué)生的選課,還可以提高

整個(gè)活動(dòng)的效率。

一般來說,大學(xué)有數(shù)以萬計(jì)的學(xué)生。每個(gè)學(xué)期開始時(shí),學(xué)生都要選擇課程,從而產(chǎn)

生大量的課程信息。考慮到用戶的方便和處理的信息量,系統(tǒng)需要完成課程信息的輸入、

保存、查詢、修改、刪除等各個(gè)過程,并可以打印出課程信息表。

系統(tǒng)的主要對(duì)象是需要選課的學(xué)生。根據(jù)學(xué)生選修課的變化,計(jì)算相應(yīng)的總學(xué)分。

全部選中后打印報(bào)告。系統(tǒng)還需要管理員查看和修改學(xué)生的整體課程選擇、課程信息和

學(xué)生信息。本系統(tǒng)選課方便快捷。它使用簡(jiǎn)單的界面來顯示學(xué)生的選課信息。具有應(yīng)用

簡(jiǎn)單明了、存儲(chǔ)容量大、可靠性高、性能好、使用壽命長、成本低等優(yōu)點(diǎn),可以大大提

高學(xué)生信息管理的效率。隨著c語言的發(fā)展,實(shí)現(xiàn)了對(duì)學(xué)生課程信息的輸入、修改、查

詢、刪除等簡(jiǎn)單操作,原始數(shù)據(jù)可以通過文件系統(tǒng)長期保存。

2問題需求分析

2.1提出的問題

隨著教育改革、高校規(guī)模擴(kuò)大、專業(yè)急劇增加,以教師講課為主的傳統(tǒng)教育模式已不再

適合我國高校的現(xiàn)狀。而且,安排上市時(shí)間表是一項(xiàng)非常復(fù)雜和艱巨的任務(wù)。在帕克的

過程中,除了要滿足大量的約束之外,還要解決很多的沖突。因此,利用網(wǎng)絡(luò)選課、教

學(xué)生應(yīng)該是有道理和必要的。那么如何打造在線選修課系統(tǒng)呢?如何實(shí)現(xiàn)學(xué)生隨時(shí)隨地

按照自己的日程安排在線學(xué)習(xí)?這已經(jīng)成為網(wǎng)絡(luò)選修課研究者的一大難題。

2.2問題分析

大學(xué)里總是有很多公共選修課。過去,選修課的方式是在課堂上注冊(cè)。這種方法雖

然直接,但在選課時(shí)會(huì)造成盲目性。有些班級(jí)人滿為患,而另一些則無人看管。原因是

傳統(tǒng)的選課方式是不可預(yù)測(cè)的,大家也沒有提前協(xié)調(diào)好。這種情況在高校中已經(jīng)產(chǎn)生了

很長時(shí)間,短時(shí)間內(nèi)不可能改變。使用在線選課系統(tǒng)后,您可以在開課前在線選課。每

個(gè)學(xué)生的課程在開課前就己經(jīng)確定了,不用浪費(fèi)體力去選課,還可以合理、均勻地分配

教學(xué)資源。

本系統(tǒng)開發(fā)的目的是利用信息技術(shù)和網(wǎng)絡(luò)技術(shù)幫助學(xué)生和學(xué)校管理選課的教學(xué)任務(wù)。教

育體制的改革和學(xué)生人數(shù)的急劇增加,無疑為在線選修課提供了前所未有的機(jī)遇。本系

統(tǒng)是專門為方便用戶根據(jù)自己的時(shí)間隨時(shí)隨地學(xué)習(xí)而開發(fā)的。學(xué)校將老師講課視頻直接

放到學(xué)校官網(wǎng),學(xué)生可以通過官網(wǎng)在學(xué)生選課系統(tǒng)中隨意學(xué)習(xí)。這不僅節(jié)省了學(xué)生的時(shí)

間,也為學(xué)校節(jié)省了大量的教師資源。學(xué)??梢詫⑦@部分節(jié)省下來的教師資源用于學(xué)術(shù)

研究、教育方法研究等。

目前,大部分學(xué)校都沒有完善的學(xué)生選修課體系,電腦的使用以微軟。ffice為主,無法

發(fā)揮有效作用。而且,隨著中國教育改革,學(xué)生可以選擇多種科目,這使得學(xué)校對(duì)學(xué)生

選修課的管理變得繁瑣、復(fù)雜和繁重。這種傳統(tǒng)的學(xué)校選修課模式已經(jīng)不能適應(yīng)當(dāng)前的

發(fā)展。實(shí)現(xiàn)學(xué)生選課的系統(tǒng)化、標(biāo)準(zhǔn)化、自動(dòng)化,做到全面、相對(duì)集中,為學(xué)生提供全

面的選課信息,為選課的有效管控提供有力幫助;為了及時(shí)了解選修課的情況,做好選

修課的安排。該系統(tǒng)是高校個(gè)人選課和管理的現(xiàn)代化信息平臺(tái)。學(xué)生可以通過瀏覽器在

線選課,可以查看自己的選課計(jì)劃和選課進(jìn)度。同時(shí),管理員可以通過瀏覽器添加、刪

除和修改課程。這為學(xué)生和老師節(jié)省了大量的工作。充分利用網(wǎng)上選課系統(tǒng),提高教學(xué)

選課管理效率,實(shí)現(xiàn)全面聯(lián)網(wǎng)、規(guī)范化、一體化。

3整體設(shè)計(jì)

3.1整體設(shè)計(jì)思路

通過課題分析,程序需要設(shè)計(jì)選修課管理系統(tǒng),可以輸入和修改選修課,需要主界

面和退出功能。首先,考慮到程序的數(shù)據(jù)輸入,可以設(shè)置一個(gè)管理員登錄選項(xiàng)。通過該

界面可以輸入和修改選修課。最后,您可以將輸入的課程保存到相應(yīng)的文件中。然后定

義各種功能的功能包括:查看、查詢、刪除等。另一個(gè)是學(xué)生登錄界面,可以讓學(xué)生選

擇課程、瀏覽和查詢。在此操作之前,您需要先閱讀管理員保存的文件,然后查詢其中

的內(nèi)容。學(xué)生選課后,可以將選課保存在相應(yīng)的文件中,以便下次修改。程序的邏輯結(jié)

構(gòu)是通過函數(shù)的逐層調(diào)用來實(shí)現(xiàn)的。通過中間文件的打開和關(guān)閉,可以對(duì)文件段中包含

的數(shù)據(jù)進(jìn)行操作。然后通過對(duì)課題的分析,必須實(shí)現(xiàn)的功能包括主線程對(duì)四大線程的隨

機(jī)調(diào)度和輸出結(jié)果的顯示。為了方便用戶控制和管理,我們?cè)黾恿艘恍└诵曰墓δ?

如手動(dòng)調(diào)試、運(yùn)行配置等。它主要使用序列結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)等多種基本結(jié)構(gòu)。

同時(shí),文件存儲(chǔ)信息的方式簡(jiǎn)化了程序結(jié)構(gòu),使程序更易于閱讀。另外,本系統(tǒng)采用塊

實(shí)現(xiàn)功能,所要實(shí)現(xiàn)的功能,如添加課程信息、修改課程信息、刪除課程信息、添加學(xué)

生信息和修改學(xué)生信息,由不同的子程序完成,不僅方便我們程序調(diào)試,也提高了程序

的可移植性。

為了方便用戶的控制和管理,本系統(tǒng)增加了手動(dòng)調(diào)試、運(yùn)行配置等更加人性化的功能。

它主要使用序列結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)等多種基本結(jié)構(gòu)。同時(shí),文件存儲(chǔ)信息的方

式簡(jiǎn)化了程序結(jié)構(gòu),使程序更易于閱讀。另外,本系統(tǒng)采用塊實(shí)現(xiàn)功能,所要實(shí)現(xiàn)的功

能,如添加課程信息、修改課程信息、刪除課程信息、添加學(xué)生信息和修改學(xué)生信息,

由不同的子程序完成,不僅方便我們程序調(diào)試,也提高了程序的可移植性。

3.2整體設(shè)計(jì)模塊介紹及框圖

該系統(tǒng)由一個(gè)主模塊和幾個(gè)子模塊組成。主模塊有兩個(gè)模塊:管理員和學(xué)生。管理

員模塊的主要功能是添加和刪除課程信息,而學(xué)生模塊主要管理學(xué)生信息和課程選擇。

Mainmodule

AdministratorStudentmodu

圖3-1整體模塊框圖

4詳細(xì)設(shè)計(jì)

4.1各模塊流程圖

4.L1主要功能模塊

主功能設(shè)計(jì)簡(jiǎn)單,只提供一個(gè)主菜單和幾個(gè)函數(shù)調(diào)用來顯示功能。Switch語句將

整個(gè)程序分為三個(gè)功能模塊。具體流程圖如下:

圖4-1主要功能模塊圖

4.1.2管理員模塊

管理員具有瀏覽、查詢、增刪課程、使用字符串處理功能處理密碼問題四大功能。

如果密碼正確,則可以進(jìn)入管理員模塊。否則,請(qǐng)重新輸入名稱。如果密碼輸入錯(cuò)誤3

次,則無法進(jìn)入管理員模塊。密碼時(shí)間由int變量計(jì)算。使用switch語句調(diào)用函數(shù):

end

圖4-2管理員模塊流程圖

4.1.3學(xué)生模塊

學(xué)生有四個(gè)功能:瀏覽所有課程信息、查詢課程信息、選擇選修課、瀏覽選擇的課程、

刪除錯(cuò)誤的課程等。使用switch語句調(diào)用該功能:

be

no

be

no

be

no

be

no

be

no

be

no

圖4-3學(xué)生模塊流程圖

4.1.4創(chuàng)建鏈表模塊

利用鏈表的創(chuàng)建、插入、刪除和查詢功能。體現(xiàn)為菜單選項(xiàng)的形式,可以增加課程信息、

增加學(xué)生信息、刪除課程信息、修改學(xué)生信息等。使用鏈表實(shí)現(xiàn)這些功能可以很好的與

用戶交互。

istforeachelem

entofthestruct

*

CreationfSuccessful

Vy

圖4-4鏈表創(chuàng)建流程圖

4.1.5瀏覽模塊

瀏覽模塊主要使用管理員中的“瀏覽課程”和學(xué)生功能中的“瀏覽所有課程”輸出

所有課程信息,即輸出2.txt文件中的所有內(nèi)容:

圖4-5瀏覽模塊流程圖

4.1.6查詢模塊

查詢模塊主要用于管理員功能中的“查詢課程”和學(xué)生功能模塊中的“查詢所有課

程”。查詢模塊分為三種查詢方式:按課程名稱查詢、按課程性質(zhì)查詢和按學(xué)分查詢。

每個(gè)case語句都是查詢方法之一:

hrpak

圖4-6查詢模塊流程圖

4.1.7插入鏈表模塊

插入鏈表的操作主要用于添加課程,在整個(gè)課程信息中添加一些新課程。它在添

加模塊中調(diào)用:

圖4-7插入模塊流程圖

4.1.8添加模塊

添加模塊主要用于增加課程信息,使用鏈表操作:

圖4-8添加模塊流程圖

4.1.9刪除模塊

刪除模塊主要用于管理員刪除課程信息和學(xué)生刪除自己的課程,均采用刪除鏈表

節(jié)點(diǎn)的操作:

Enddeletion

圖4-9刪除模塊流程圖

4.1.10選修課模塊

選修課模塊采用插入鏈表的操作:

begin

Enterthenumbero

圖470選修課模塊流程圖

4.1.11讀取文件模塊

文件讀取模塊用于讀取文件內(nèi)容并輸出到內(nèi)存中。輸入文件名后,即可打開指定

的文件。輸入all_sub.txt后,即可打開所有課程信息的文件。輸入my_sub.txt,即

可瀏覽學(xué)生選修課信息。

!feof(fp)

no

be

11

newSub=(SUB*)malloc(sizeof(SUB));

fscanf(fp,&newSub->num,newSub->name,newSub

->kind,&newSub->stime,&newSub->ttime,&newSu

closeadocument

Failedtoopen

圖4-11讀取文件模塊流程圖

4.1.12保存文件模塊

文件保存模塊分為兩個(gè)子程序,將修改后的信息保存到2.txt文件中。

V)

Thesystemdetectsthefi1

圖4-12文件保存模塊流程圖

4.2功能的具體實(shí)現(xiàn)和算法

4.2.1每個(gè)功能的具體功能

int()程序主函數(shù),程序入口

voidmanagers()管理員主菜單,管理員入口

voidSUB*create_form()創(chuàng)建鏈表結(jié)構(gòu)

voidsavefile()將新添加的課程信息保存到文件中。

voidsavefilelO將修改后的課程信息文件保存到文件中。

voidreadfile()讀取文件

voidprin()瀏覽所有課程

voidprint()瀏覽所有選修課

void*myInsert(SUB*subj)鏈表插入操作

void*insert()插入課程信息

void*del()刪除課程

voidchoose()選修新課---學(xué)生選課功能

voidsearch。課程信息查詢

無效學(xué)生()學(xué)生登錄門戶

4.2.1實(shí)現(xiàn)各個(gè)功能的具體算法。

本系統(tǒng)程序使用的主要算法有:二分法、冒泡排序等算法。其中,二分法用于管理員錄

入的多種課程信息操作,如添加課程信息、查找課程信息、修改課程信息、瀏覽選修課

等。以學(xué)生身份登錄輸入的課程信息的操作主要采用冒泡排序的方式。冒泡排序和二分

法是c語言中最基本的算法,但應(yīng)用非常廣泛。本系統(tǒng)主要使用二分法和冒泡排序的

搜索功能。

5.調(diào)試分析過程

5.1各模塊運(yùn)行結(jié)果

5.1.1開始跑步。

啟動(dòng)程序進(jìn)入登錄界面,輸入1:以管理員身份登錄,輸入1密碼,輸入2:以學(xué)生身份

登錄,輸入3:退出登錄界面。

"XX-X歡迎進(jìn)入學(xué)生選修課程系統(tǒng)—"XXXX

1.以管理員身份'登錄<pass”o?d1>

2.以學(xué)生身份登錄

3.退出

Chioseyournunber<l-3>:[J

圖5-1運(yùn)行結(jié)果

5.1.2管理員菜單

進(jìn)入管理員菜單。1:輸入所有要選擇的課程,2:瀏覽所有輸入的課程,3:查詢輸

入的課程,4:刪除輸入的課程,5:返回主菜單。

圖5-2管理員菜單圖

5.1.31按進(jìn)入課程模塊。

進(jìn)入課程界面,輸入課程編號(hào)、課程名稱、課程性質(zhì)、總學(xué)時(shí)、教學(xué)時(shí)數(shù)、實(shí)踐或計(jì)算

機(jī)學(xué)時(shí)、學(xué)分、開學(xué)學(xué)期。添加完成后點(diǎn)擊回車?yán)^續(xù)添加,輸入o完成添加。

tJUIUII?I

Chioseyournunber<l—5>:[10

輸入要插入的課程信息:

請(qǐng)輸入課程編號(hào):6

請(qǐng)輸入課程名稱:現(xiàn)代醫(yī)學(xué)

請(qǐng)輸入課程性質(zhì):人文

請(qǐng)輸入總學(xué)時(shí):3。

請(qǐng)輸入授課學(xué)時(shí):15

請(qǐng)輸入實(shí)踐或上機(jī)學(xué)時(shí):15

請(qǐng)輸入學(xué)分:25

請(qǐng)輸入開課學(xué)期:[

添加完畢,新信息存入文件中

繼續(xù)插入請(qǐng)按回車

結(jié)束

3。:0

課程

0稱

蓄課程性鼠國學(xué)時(shí)授課學(xué)時(shí)實(shí)驗(yàn)或上機(jī)學(xué)時(shí)學(xué)分開課學(xué)期

創(chuàng)

建2

意.txt,文件中

請(qǐng)

續(xù)

按^

--

圖5-3輸入課程模塊運(yùn)行結(jié)果圖

5.1.4輸入課程信息后進(jìn)入管理員瀏覽模塊。

進(jìn)入課程信息程序后,課程編號(hào)會(huì)自動(dòng)排序,并顯示輸入的課程信息結(jié)果。按任意鍵退

出該界面。

"^<1TJ

”n

學(xué)

質(zhì)

時(shí)

號(hào)

ch課[2

seourUn):程

i踣

^授課學(xué)時(shí)實(shí)踐或上機(jī)學(xué)時(shí)學(xué)分開課學(xué)期

德20

,200301

理825

220251

:30

352010301

自30

4節(jié)2010351

^人25

S糙1510301

6人30

是15251

請(qǐng)15

任-■

半-.

圖5-4課程信息輸入運(yùn)行結(jié)果

5.1.5按課程性質(zhì)查詢

進(jìn)入課程查詢界面,選擇查詢方式,選擇1按課程性質(zhì)搜索,找出所有課程性質(zhì)相同的

課程,選擇3退出搜索界面。

圖5-5:管理員瀏覽模塊運(yùn)行結(jié)果圖。

5.1.6按課程學(xué)分查詢

進(jìn)入課程查詢界面,選擇查詢方式,選擇2按課程學(xué)分搜索,找出所有課程學(xué)分相同的

課程,選擇3退出搜索界面。

請(qǐng)選擇查詢方式…

一一按課程性質(zhì)查找

2-—按學(xué)分查找

3--退出查找

Chioseyournunber<l—3>"121

輸入聚查找的課程的學(xué)分

課程褊號(hào)課程名稱課程性質(zhì)總學(xué)時(shí)授課學(xué)時(shí)實(shí)踐或上機(jī)學(xué)時(shí)學(xué)分開課學(xué)期

20200301

3生物卷鼎自矮

一健康教育人文302010301

請(qǐng)按%意讖覆251510301

圖5-6按課程性質(zhì)查詢運(yùn)行結(jié)果。

5.1.7管理員按4刪除模塊。

在管理員菜單欄中輸入4刪除課程,輸入要?jiǎng)h除的課程編號(hào)完成刪除課程,回車?yán)^續(xù)刪

除課程,按0完成刪除課程。

理員菜單

一-錄入課程

2-—瀏覽課程

3--查詢課程

4--刪除課程

5---返回主菜單

IChioseyournunber<l-5>:[4]

輸入想要?jiǎng)h除的課程編號(hào):15]

繼續(xù)刪除請(qǐng)按回車

結(jié)束刪除課程按0:[0]

圖5-7管理員刪除模塊運(yùn)行結(jié)果圖

5.1.8學(xué)生菜單

進(jìn)入學(xué)生菜單欄,選擇1瀏覽所有選修課,2查詢所有課程信息,3選擇你需要選修的課

程,4瀏覽你選修的課程,5刪除你選錯(cuò)的課程課程選擇,以及6返回主菜單。

一―瀏覽所有課程

2-—查詢課程信息

3—選擇選修課程

4--瀏覽我選修的課程

5--刪除錯(cuò)選課程

6--返回主菜單

Chioseyournumbei*<l-6>:C]

圖5-8學(xué)生菜單操作結(jié)果

5.1.91按學(xué)生瀏覽所有課程。

進(jìn)入學(xué)生菜單,選擇1進(jìn)入BrowseAllCourses界面,可以查看選中的課程信息。

1--瀏覽所有課程

2--查詢課程信息

3-—選擇選修課程

4--瀏覽我選修的課程

5-—?jiǎng)h除錯(cuò)選課程

6-—返回主菜單

11

be[1質(zhì)

和-6

):程

^總學(xué)時(shí)授課學(xué)時(shí)實(shí)踐或上機(jī)學(xué)時(shí)學(xué)分開課學(xué)期

1人

2罩20200301

人^25205251

3自

缺302010301

4昔

文302010351

6人

患-30151525

圖5-9學(xué)生瀏覽所有課程的運(yùn)行結(jié)果。

5.1.10按學(xué)分查詢課程

進(jìn)入學(xué)生查詢界面,選擇2SearchbyCredit,開始搜索要學(xué)習(xí)的課程。

W請(qǐng)選擇查詢方式**

■一按課程性質(zhì)查找

2-—按學(xué)分查找

3--退出查找

Chioseyournunber<l—3>:[23

輸入要查找的課程的學(xué)分

課程編號(hào)課程芻稱課程性質(zhì)總學(xué)時(shí)授課學(xué)時(shí)實(shí)踐或上機(jī)學(xué)時(shí)學(xué)分開課學(xué)期

20200301

3生物郛"自然302010301

一3一一健康鬟育人文

251510301

.買

圖5T0按積分查詢運(yùn)行結(jié)果

5.1.11按3進(jìn)入選修課程模塊。

在學(xué)生菜單中選擇3進(jìn)入選修課界面,輸入要選修的課程數(shù)量,按0確認(rèn)選修課,選課成

功。將所選課程的信息保存在3.txt文檔中。按任意鍵繼續(xù)。

學(xué)生菜單?

i--瀏覽所有課程

2—-查詢課程信息

3--選擇選修課程

4--瀏覽我選修的課程

5-—?jiǎng)h除錯(cuò)選課程

6-----返回主菜單

Chioseyournunbei*<l-6>:[3]

輸入要選修的課程的編號(hào).編號(hào)之間以空格分開

1346

如果確認(rèn)輸入完要選修的課程的編號(hào).請(qǐng)輸入。:「。]

MMMMM選修成功??

您選修的課程總學(xué)分為12。,課程分別為:

質(zhì)

程性

牌程編號(hào)課程名稱課忌學(xué)時(shí)授課學(xué)時(shí)實(shí)踐或上機(jī)學(xué)時(shí)學(xué)分開課學(xué)期

人文

1德語20200301

自然

3生物材料302010301

自鐵

4302010351

人爻

6301515251

以上信息全都隹存在D.txt,中

卜青按屆意鍵昆弟?.■

圖5T1進(jìn)入選修課模塊操作結(jié)果圖

5.1.124按Enter瀏覽選修課程。

在學(xué)生菜單中選擇4,進(jìn)入瀏覽我的選修課界面,將顯示所有選修課信息。按任意鍵繼

續(xù)。

?―瀏覽所有課程

2—-查詢課程信息

3--選擇選修課程

4--瀏覽我選修的課程

5--刪除錯(cuò)選課程

6--返回主菜單

<f1

,m

質(zhì)

課[4

>:程

nu程l

總學(xué)時(shí)授課學(xué)時(shí)實(shí)踐或上機(jī)學(xué)時(shí)學(xué)分開課學(xué)期

1%人

然20200301

3一

■302010301

4昔

筆302010351

醫(yī)

6人

翟J301515251

:r

圖5-12;瀏覽選修課的運(yùn)行結(jié)果。

5.1.13按5進(jìn)入刪除錯(cuò)誤課程模塊。

在學(xué)生菜單中選擇5,進(jìn)入刪除錯(cuò)課界面,成功刪除錯(cuò)課號(hào)。如果繼續(xù)刪除錯(cuò)課,請(qǐng)回

車,按0結(jié)束刪除錯(cuò)課菜單,將刪除錯(cuò)課信息保存在3.txt文檔中。按任意鍵繼續(xù)。

一―瀏覽所有課程

2--查詢課程信息

3--選擇選修課程

4--瀏覽我選修的課程

5--刪除錯(cuò)選課程

6---返回主菜單

Chloseyournunber<l-6>:LbJ

輸入想要?jiǎng)h除的課程編號(hào):16]

繼續(xù)刪除請(qǐng)按回車

結(jié)束刪除課程按0:E0J

d般

>,續(xù)?

創(chuàng)a

續(xù)文件巾

請(qǐng)

圖5T2刪除錯(cuò)誤課程模塊運(yùn)行結(jié)果圖

5.2調(diào)試過程中的問題

5.2.1提出問題

程序?qū)懞煤?,需要進(jìn)行調(diào)試,看是否達(dá)到了規(guī)定的功能。但主要是糾正大大小小的問題。

這種設(shè)計(jì)存在的問題是:

1.調(diào)試時(shí)無法讀取txt文件。

2、密碼不能由用戶自定義。

3.這個(gè)變異環(huán)境一旦關(guān)閉,添加的課程信息和學(xué)生信息就無法長期保存。

5.2.2問題分析

l.txt無法讀取,輸入路徑后不顯示文件。解決辦法是請(qǐng)老師幫忙。最后,在老師的細(xì)

心指導(dǎo)下,我意識(shí)到這是我自己的電腦操作水平,對(duì)電腦路徑結(jié)構(gòu)沒有很好的理解。最

后,我做了一些修改來實(shí)現(xiàn)它。

2.

問題是在編寫程序時(shí)密碼是固定的。用戶無法通過系統(tǒng)平臺(tái)修改密碼值。因此,這樣的

密碼名存實(shí)亡,毫無用處。3.這個(gè)問題的原因是信息存儲(chǔ)設(shè)置不是很好。通過文件存

儲(chǔ)方便存儲(chǔ)信息,但調(diào)用信息不方便。

5.2.3問題解決建議

數(shù)據(jù)庫用來存儲(chǔ)密碼信息,然后用switch語句控制密碼輸入錯(cuò)誤的次數(shù)。當(dāng)密碼輸入錯(cuò)

誤次數(shù)達(dá)到3次時(shí),使用密碼重置應(yīng)用功能。然后將新密碼存入數(shù)據(jù)庫,并覆蓋之前

設(shè)置的密碼。建議使用數(shù)據(jù)庫存儲(chǔ)信息,比文件存儲(chǔ)更穩(wěn)定。

6總結(jié)

通過本課程的設(shè)計(jì),我們回顧了幾乎被遺忘的c語言知識(shí),也讓我們意識(shí)到總結(jié)之前所

學(xué)知識(shí)的重要性。這個(gè)看似簡(jiǎn)單的課程設(shè)計(jì),卻暴露了我們的諸多不足,也讓我們意識(shí)

到自己在哪些方面需要努力提高。

這個(gè)課程是我們團(tuán)隊(duì)開設(shè)的,每個(gè)人都有明確的分工。當(dāng)然,在這個(gè)過程中,我們遇到

了很多問題。我們沒有自己努力,而是請(qǐng)大家?guī)椭覀冋业浇鉀Q問題的方法。當(dāng)編程結(jié)

構(gòu)中有浮點(diǎn)數(shù)據(jù)時(shí),系統(tǒng)提示有錯(cuò)誤。可以通過將其替換為int或char然后定義它

來解決。調(diào)試未完成后自動(dòng)跳出主界面:可能會(huì)遇到系統(tǒng)錯(cuò)誤,主要是遇到浮動(dòng)數(shù)據(jù)時(shí)。

插入鏈表讀取和輸出文件不熟悉;我不熟悉如何使表單參與與論點(diǎn)的一一對(duì)應(yīng)。經(jīng)過查

詢資料和老師同學(xué)的幫助,基本解決了。通過這樣不斷的發(fā)現(xiàn)、修正、理解和習(xí)得,課

程設(shè)計(jì)最終圓滿完成。

通過本周的C語言編程實(shí)踐,我不僅鞏固了之前掌握的C程序設(shè)計(jì)基礎(chǔ),也彌補(bǔ)了課堂上

沒有學(xué)到的知識(shí);它也讓我們對(duì)抽象理論有了具體的理解。我意識(shí)到C語言應(yīng)用廣泛,

功能強(qiáng)大,是學(xué)習(xí)計(jì)算機(jī)不可缺少的語言。更重要的是,我學(xué)到了很多知識(shí),增強(qiáng)了動(dòng)

手能力,積累了經(jīng)驗(yàn)。同時(shí)我也發(fā)現(xiàn)了自己的很多不足,需要在以后的學(xué)習(xí)中進(jìn)一步完

善,以便掌握和應(yīng)用更多的知識(shí)。最重要的是,這次實(shí)戰(zhàn)訓(xùn)練讓我認(rèn)識(shí)到了團(tuán)隊(duì)合作的

強(qiáng)大力量和自己的嚴(yán)重不足,甚至激發(fā)了我對(duì)C語言編程的興趣。C語言蘊(yùn)含著強(qiáng)大的

秘密,等待我們?nèi)ヌ剿鳌?/p>

課程設(shè)計(jì)是在老師的指導(dǎo)下完成的,讓我對(duì)學(xué)生的選課體系有了更深入的了解和一些實(shí)

踐經(jīng)驗(yàn)。這門課程讓我意識(shí)到團(tuán)隊(duì)是不可替代的,知識(shí)很重要,讓我在遇到問題時(shí)能主

動(dòng)動(dòng)動(dòng)腦筋,對(duì)于自己不懂的問題愿意向別人請(qǐng)教。

7設(shè)計(jì)的優(yōu)缺點(diǎn)

7.1不足與改進(jìn)

經(jīng)測(cè)試,本系統(tǒng)已滿足本課題的所有要求。這個(gè)程序有很多優(yōu)點(diǎn)。一是界面簡(jiǎn)潔的

程序菜單。一是智能模塊設(shè)計(jì),減少了大量的人工操作。例如,操作一個(gè)功能模塊后,

會(huì)返回主菜單運(yùn)行下一個(gè)模板,并提示是否再次進(jìn)行類似操作,為用戶帶來方便,大大

提高了學(xué)生選課的效率。還有就是提示語言簡(jiǎn)潔、清晰、層次分明等。當(dāng)然也有不足之

處,比如程序中還有不合理的地方,比如程序某些部分的一些輸入錯(cuò)誤不能立即處理退

回更正;信息表達(dá)方式并不豐富,而是簡(jiǎn)單,缺乏圖片、音樂等元表達(dá)。

當(dāng)編程結(jié)構(gòu)中有浮點(diǎn)數(shù)據(jù)時(shí),系統(tǒng)提示有錯(cuò)誤??梢酝ㄟ^將其替換為int或char

然后定義它來解決。調(diào)試未完成后自動(dòng)跳出主界面:可能會(huì)遇到系統(tǒng)錯(cuò)誤,主要是遇到

浮動(dòng)數(shù)據(jù)時(shí)。有些字母輸入錯(cuò)誤可以通過仔細(xì)搜索來解決;插入鏈表讀取和輸出文件不

熟悉;我不熟悉如何使表單參與與論點(diǎn)的一一對(duì)應(yīng)。經(jīng)過查詢資料和老師同學(xué)的幫助,

基本解決了。

通過本周的C語言課程實(shí)踐,我不僅鞏固了之前掌握的C程序的設(shè)計(jì)基礎(chǔ),還學(xué)會(huì)了彌補(bǔ)

課堂上沒有學(xué)到的知識(shí)。通過這門課,我充分認(rèn)識(shí)到C語言用途廣泛,功能強(qiáng)大,是學(xué)

習(xí)計(jì)算機(jī)不可缺少的語言。更重要的是,在這次編程中,我熟悉了編寫復(fù)雜程序的過程,

具備了發(fā)現(xiàn)問題和解決問題的能力,為下一步的計(jì)算機(jī)語言學(xué)習(xí)做好了準(zhǔn)備。以前覺得

遙不可及的功能現(xiàn)在可以實(shí)現(xiàn)了,非常感謝老師和同學(xué)們的熱心幫助,是我及時(shí)完成這

個(gè)程序的重要因素。

7.2收獲與總結(jié)

總之,這個(gè)設(shè)計(jì)方案讓我受益匪淺,我會(huì)珍惜這樣難得的機(jī)會(huì)。這些天我感受到了老師

對(duì)我的教導(dǎo)。雖然在這次試訓(xùn)中遇到了很多困難,但在老師的幫助下,我克服了過去。

也讓我真正學(xué)到了一些平時(shí)在理論課上學(xué)不到的實(shí)用的東西。我會(huì)珍惜這次經(jīng)歷。

再一次,我感受到了你對(duì)我的教導(dǎo)!

7.3方案的優(yōu)缺點(diǎn)

功能優(yōu)勢(shì):

1.簡(jiǎn)潔明了的節(jié)目菜單。程序主要采用六組不同層次的菜單,相互獨(dú)立,巧妙地相互連

接,符合用戶的使用習(xí)慣和思維。

2.人性化的程序提示語言。程序提示語言更加人性化,不僅以祈使句和疑問句居多,而

且提示清晰,具有很強(qiáng)的明確引導(dǎo)功能。程序的提示不僅層次分明,提示方式多樣,而

且提示信息有序,更有利于用戶對(duì)程序的流暢、準(zhǔn)確操作。

3.智能模塊設(shè)計(jì)。程序的智能化主要體現(xiàn)在減少很多人工操作。功能模塊完成后

會(huì)返回主菜單運(yùn)行下一個(gè)模板,并提示是否再次進(jìn)行類似操作,給用戶帶來方便,大大

提高學(xué)生選課的效率。

該方案的缺點(diǎn):

1.流程雖然經(jīng)過多次精簡(jiǎn),但只是形式和范圍上的精簡(jiǎn),仍然

本質(zhì)上并沒有精簡(jiǎn),也就是沒有找到更簡(jiǎn)單、更高效、更合理、占用資源更少的

算法。

2、程序中還有一些不合理的地方。例如,程序的某些部分輸入錯(cuò)誤可能會(huì)導(dǎo)致程

序停止或轉(zhuǎn)向其他功能模塊,即程序建議用戶注意提示,進(jìn)行合理準(zhǔn)確的輸入,這樣更

有利于管理。

3.程序的功能還不完善。比如信息表達(dá)不豐富,比較單一,缺乏圖片、音樂等元

表達(dá)。

參考

1.王連祥。《C/C++編程》大學(xué).2013.7

2.譚浩強(qiáng)C語言程序設(shè)計(jì)學(xué)習(xí)指南(第2版)清華大學(xué)。2012年12月

3.李、龔以健《C語言編程實(shí)踐指導(dǎo)教程》華中科技大學(xué)2009年6月出版

4.曉東、洪振,《C語言編程與應(yīng)用》,人民郵電.2009.4

5.郭翠英《C語言課程設(shè)計(jì)案例匯編》中國水利水電2004.03.01

6.郭友強(qiáng),C語言程序設(shè)計(jì),清華大學(xué),2009年2月1日

7.程丹,穎,那軍,C語言程序設(shè)計(jì)案例實(shí)踐,清華大學(xué),2009年2月1日

8.《C語言程序設(shè)計(jì)教程》,麗娟,人民郵電,2013年1月1日

9.吳亞莉、王永玲、杰亞莉的C語言程序設(shè)計(jì),清華大學(xué),2009年2月1日

在課程實(shí)踐中,我得到了導(dǎo)師的指導(dǎo)和支持。特別感謝老師的大力幫助。導(dǎo)師在對(duì)

整體結(jié)構(gòu)和功能的把握上給了我們很大的幫助,同時(shí)也為我們提供了非常優(yōu)越的設(shè)計(jì)環(huán)

境,在編程和算法設(shè)計(jì)的細(xì)節(jié)上給了我耐心的指導(dǎo),這對(duì)我的成功起到了關(guān)鍵的作用。

完成本課程設(shè)計(jì)。

轉(zhuǎn)眼,一周的課程培訓(xùn)結(jié)束了,感覺老師給我們提供了每周幾次在教室里調(diào)試電腦

的機(jī)會(huì),老師為我們解決了各種問題,同學(xué)們可以也互相討論。這使今天的成就成為可

能,尤其是老師的寶貴意見,給了我很大的啟發(fā)。同時(shí),我也覺得那些給我?guī)椭耐瑢W(xué)。

同時(shí),我覺得學(xué)校給了我這樣一個(gè)獨(dú)立完成一門課程設(shè)計(jì)的機(jī)會(huì),并且在這個(gè)過程中,

也給了我們各種便利,所以在這個(gè)學(xué)期結(jié)束的時(shí)候,我們可以申請(qǐng)將所學(xué)知識(shí)付諸實(shí)踐,

增強(qiáng)了我們的實(shí)際操作和實(shí)際應(yīng)用能力,提高了我們的獨(dú)立思考能力。我覺得這兩年所

有的老師和同學(xué)都給了我指導(dǎo)和幫助。他們教會(huì)了我專業(yè)知識(shí)和學(xué)習(xí)方法。多虧了他們,

我才能在各方面都取得了長足的進(jìn)步,在此向他們表示衷心的祝愿。

附錄:

源代碼

ttinclude"stdio.h"

#include“字符串.h”

^include"stdlib.h"

^include"malloc.h"

無效prinl();

無效選擇();

typedef結(jié)構(gòu)主題

(

整數(shù);

字符名稱[20];

字符種類[10];〃課程編號(hào)〃課程名稱//課程性質(zhì)

時(shí)間;〃總課時(shí)

時(shí)間;〃教學(xué)時(shí)間

國際時(shí)間;〃在實(shí)驗(yàn)或電腦操作期間

積分;〃學(xué)分

國際術(shù)語;〃課程的期限。

結(jié)構(gòu)主題*下一個(gè);

}子;

SUB*頭=辿1±;

SUB*create_form()//創(chuàng)建一個(gè)鏈表

(

SUB*頭,*尾,*p;

整數(shù),時(shí)間,時(shí)間;

intetime,score,term;

字符名稱[20],種類[10];

intsize=sizeof(SUB);

頭=尾=刖1±;

printf(〃輸入選修課信息:\n〃);

scanf(,,%d%s%s%d%d%d%d%dz,,&num,name,kind,

&stime,&ttime,feetime,&score,&term);

而(數(shù)!=0)

(

p=(SUB*)malloc(大小);

p->數(shù)字=數(shù)字;

strcpy(p->名稱,名稱);

strcpy(p->種類,種類);

p->時(shí)間=時(shí)間;

p->ttime=ttime;

p->etime=etime;

p->分?jǐn)?shù)=分?jǐn)?shù);

P-〉術(shù)語=術(shù)語;

如果(頭==NULL)

頭=P;

別的

尾->下一個(gè)二p;

尾=P;

scanf(/z%d%s%s%d%d%d%d%d",&num,name,

種類,&stime,fettime,&etime,&score,&term);

)

尾->下一個(gè)=NULL;

返回頭;

)

voidsavefile()//保存文件

(

子*P;

文件*fp;

fp=fopen("2.txt","w");

如果(fp==NULL)退出(0);

printf("課程編號(hào)、課程名稱、課程性質(zhì)、總學(xué)時(shí)

教學(xué)小時(shí)實(shí)驗(yàn)或計(jì)算機(jī)小時(shí)學(xué)分開始學(xué)期\n");

for(p=head;p;p=p->next)

,,,,

fprintf(fp,%5d%12s%9s%9d%9d%lld%lld%7d\n,

p->num,p->name,p->kind,p->stime,p->ttime,p->etime,p->score,p->term);

fclose(fp);

printf("創(chuàng)建的信息已經(jīng)放入'2.txt)文件\n");

系統(tǒng)(“暫停”);

)

voidsavefilel()//保存文件

(

子*P;

文件*fp;

fp=fopen("3.txt","w");

如果(fp==NULL)退出(0);

for(p=head;p;p=p->next)

//,,

fprintf(fp,%5d%12s%9s%9d%9d%lld%lld%7d\n1

p->num,p->name,p->kind,p->stime,p->ttime,p->etime,p->score,p->term);

fclose(fp);

printf("創(chuàng)建的信息已經(jīng)放入'3.txt'文件\n");

系統(tǒng)(“暫?!?;

)

voidreadfile()//讀取文件

(

無效*myInsert(SUB*);

子*newSub;〃新課程

整數(shù),時(shí)間,時(shí)間,時(shí)間;

積分,期限;

字符[20],種類[10],fname[20];

文件*fp;

fp=fopen("2.txt","r");

而(!feof(fp))

(

newSub=(SUB*)malloc(sizeof(SUB));

fscanf(fp,,,%d%s%s%d%d%d%d%d\nz/,&newSub->num,newSub->name,newSub->kind,

&newSub->stime,&newSub->ttime,&newSub->etime,&newSub->score,&newSub->term);我的

插入(新子);

)

fclose(fp);

)

voidprinO//瀏覽所有課程

(

子*ptr;

頭=空;

讀取文件();

如果(頭==NULL)

(

printf("\n\n\t*********沒有記錄!************\n");

返回;

)

printf(〃課程號(hào)、課程名稱、課程性質(zhì)、總課時(shí)

或練習(xí)計(jì)算機(jī)時(shí)間和學(xué)分\n");

for(ptr=head;ptr;ptr=ptr->next)

(

printf("%5d%12s%9s%9d%9d%lld%lld%7d\n”,ptr->num,ptr->name,

ptr->kind,ptr->stime,ptr->ttime,ptr->etime,ptr->score,ptr->term);}

系統(tǒng)("暫停”);

voidprinl()//瀏覽所有選修課

子*ptr;

文件*fp;

if((fp=fopen("3.txt","r"))==NULL)

{

printf("無法打開文件。\n");

選擇();

)

printf(〃課程號(hào)、課程名稱、課程性質(zhì)、總課時(shí)

或練習(xí)計(jì)算機(jī)時(shí)間和學(xué)分\n");

而(!feof(fp))

(

ptr=(SUB*)malloc(sizeof(SUB));

fscanf(fp,//%d%s%s%d%d%d%d%d\n//,&ptr->num,ptr->name,ptr->種類,&ptr->stime,&ptr

&ptr->etime,&ptr->score,&ptr->term);printf(/,%5d%12s%9s%9d%9d%lld%lld%7d\

rT,ptr->num,ptr->name,

ptr->kind,ptr->stime,ptr->ttime,ptr->etime,ptr->score,ptr->term);}

fclose(fp);

系統(tǒng)(“暫?!?;

)

void*mylnsert(SUB*subj)//鏈表插入操作

(

SUB*ptr,*ptr2;

點(diǎn)=主題;

如果(頭==NULL)

(

頭=ptr;

頭->下一個(gè)=NULL;

別的

for(ptr2=head;ptr2;ptr2=ptr2->next)

如果(ptr2->下一個(gè)==NULL)

(

ptr2->下一個(gè)=主題;

主題->下一個(gè)=NULL;

休息;

返回頭;

}

void"insert()〃插入課程信息

子*ptr,*subj;

intsize=sizeof(SUB);

字符ch,chi;

而(ch!='O')

subj=(SUB*)malloc(大小);

點(diǎn)=主題;

printf(〃輸入要插入的課程信息:\n");

printf("\n\t\t請(qǐng)輸入課程號(hào):");scanf&subj->num);

printf("\n\t\t請(qǐng)輸入課程名稱:”)

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論