程式設計實踐任務書

2021-03-04 09:50:43 字數 3817 閱讀 8838

課程名稱:程式設計實踐

課程編號:25070748

學分/學時:3學分/3周

課程型別:實踐性課程

考核方式:考查

開課學期:大一第3學期

開課單位:計算機與資訊工程學院

先修課程:c語言程式設計、c++物件導向程式設計

後續課程:資料結構與演算法、網路程式設計、嵌入式軟體設計等

適用專業:電腦科學與技術、網路工程、空間資訊科學與工程

一、課程設計的目的、任務與要求

課程性質:程式設計實踐是學習c/c++程式設計的乙個重要環節。通過課程設計的綜合訓練,可以使學生在學習理論知識並在實驗中進行了一系列基本訓練的基礎上,進一步加強學生對實際問題分析、程式設計和動手能力的提高,強化綜合應用能力,擴充知識,開闊視野。

學生在熟練運用visual c++ 6.0以後,通過使用visual c++ 6.0的訓練,擴充套件程式設計的知識面,提高綜合應用c++知識能力的要求。

教學目標:本通過學習本課程,學生能夠更熟練地掌握c/c++語言的語法規則,能夠運用簡單的演算法,綜合運用程式設計方法和問題分析方法,設計針對解決問題的演算法步驟。初步培養資料採集、資料分析、資料處理及結果分析的能力。

a.加強掌握c/c++程式語言的語法規程和綜合程式設計能力;

b.培養學生物件導向和面向過程的程式設計思想,學會從現實問題中抽象出一般的解決方法;貫徹物件導向程式設計思想,抽象出合適的類,封裝相關功能函式。

c.掌握基本的軟體分工,根據演算法畫出流程圖、報告書寫及答辯匯報技巧;

二、設計任務及要求

任務一: c語言部分(以下選做一題)

(1)某班學生基本資訊管理,可包括以下功能:

學生基本資訊輸入、輸出、插入、刪除、排序、查詢、資料儲存及開啟。

struct student /*定義一種結構體型別*/

;#include 「stdio.h」

main()

建立乙個靜態鍊錶,它由三個學生資料結點組成,輸出各結點的資料

#include 「stdio.h」

#define null 0

struct student

;main()

;struct student stu;

file *fp;

fp=fopen("y.dat","wb");

scanf("%d%f",&stu.num,&stu.score);

while(stu.num!=0)

fclose(fp);}

程式4:將程式4建立的檔案內容讀出並顯示出來。

#include "stdio.h"

main()

;struct student stu[10];

file *fp;

int n=0 ,i;

if((fp=fopen("y.dat","rb"))!=null)

for(i=0;i printf("%5d%6.1f\n",stu[i].num,stu[i].score);

fclose(fp);}

else printf("can not open y.dat\n");

}(2)職工資訊管理

職工資訊包括職工號、姓名、性別、出生年月、學歷、職務、工資、住址、**等(職工號不重複),職工資訊管理,可具有以下功能:

職工資訊錄入、輸出、查詢、刪除、修改、資料儲存、檔案開啟等。

基本功能要求:見(1)。

(3)圖書資訊管理

圖書資訊包括:登入號、書名、作者名、分類號、出版單位、出版時間、**等。嘗試設計一圖書資訊管理系統,可實現以下功能:

圖書資訊錄入、圖書資訊瀏覽、圖書查詢(按書名查詢或按作者名查詢)、排序、圖書資訊的刪除與修改、資料儲存、檔案開啟等。

基本功能要求:見(1)。

任務二:c++部分共分a,b兩類,可選擇任意一類完成。

a類:1、學校人員資訊管理系統

設計任務:設計乙個學校人員資訊管理系統,可以實現對學校人事的資訊管理。

基本功能要求:

(1)建立人員資訊資料

包括學號(教工號)、姓名、性別、專業(工作系別部門)、出生時間、年齡。其中,

<1> 對學生,還包括3門課的成績(chinese, english, mathematics)。三門課的成績為int型資料。

<2> 對教師,還包括職稱(如教授/副教授/講師),工資(如1432.50)。工資為double型資料。

【英語命名提示】:

姓名: name; 性別:***; 專業:major; 工作系別:department

教授:professor; 副教授:associate professor; 講師:lecturer

工資:salary

(2)使用繼承的方法構造3個類,對相應的物件放置10個學生(教師)資訊。

people類——虛基類

student類——派生類

teacher類——派生類

(3)資料基本功能:

增加資料:adddata()函式。

刪除資料:deletedata()函式。根據學號(教工號),刪除該人員的記錄。

修改資料: updatedata()函式。對學生,根據學號,能夠修改3門課的成績;對教師,根據教工號,能夠修改「職稱」和「工資」。

查詢功能:

1)searchdata()函式。要求能夠根據「學號(教工號)」、「姓名」、「性別」三項實現查詢,並能在螢幕上顯示滿足條件的資料記錄。

2)findmaxdata()函式。對學生,查詢「english」課程成績最高的學生記錄並列印;對教師,查詢「工資」最高的教師記錄並列印。要求:採用函式模板實現。

顯示功能:displaydata()函式。在螢幕上列印所有的資料記錄;列印時,先列印學生的記錄,後列印教師的記錄。並且按學生(教工號)公升序列印(選擇)。

(4)過載功能:

要求對「<<」和「>>」運算子進行過載。考慮到輸人學生(教工)姓名時,名字中可能引入空格,所以過載「>>」運算子時,需要滿足這個要求。

(5)異常處理功能:

設定異常處理,對教師工資為負數的情況給出提示。

(6)檔案的輸入輸出功能(選擇):

能夠從檔案中讀入資料。外部檔案為student_ext.dat, teacher_ext.dat。

能夠將資料儲存到相應目錄的檔案中。儲存資料時,分兩個檔案分別儲存student.dat, teacher.dat。

(7)參考系統介面如示:

參考系統介面如下:

1-增加一位人員(教師、學生)記錄

2-刪除乙個人員記錄

3-修改乙個人員記錄

4-根據「學號(教工號)」、「姓名」、「性別」查詢記錄

5-根據人員類別(學生、教師)查詢「english」課程成績最高的學生,或最高工資的教師

6-顯示全部人員記錄

7-從外部檔案追加資料

8-將所有資料儲存到磁碟檔案

9-退出系統。

如下例題所示:

2、容器類set實現

用單鏈表模擬有序集合,實現集合的加入乙個元素、刪除乙個元素、集合的交、並、差運算。注意,集合中不允許有重複元素。

1) 使用模板類

2) 根據元素個數動態分配儲存空間

3) 實現集合加入乙個元素刪除乙個元素的元素操作;

4) 實現集合的交、並、差集合操作;

5) 實現集合的檔案操作;可將集合寫入檔案,由檔案中讀出集合元素。

6) 有選單介面

#include

#include

using namespace std;

template

class set

set(const set &a)

}~set()

void input()

{int i;

if (len == 0)

高階程式設計實踐 C任務書 穆帥

課程設計任務書 一 課程設計目的 1 複習和鞏固c 語言的基礎知識,進一步加深對c 語言的理解和掌握 2 為學生提供獨立實踐的機會,將課本上的理論知識和實際有機的結合起來,鍛鍊學生獨立分析問題 解決問題 查閱資料以及自學能力。3 學習和掌握c 程式設計方法以及上機除錯技巧,為今後學習其它專業課程打好...

實踐教學任務書

內蒙古師範大學 教育碩士專業學位研究生實踐教學 任務書所屬學院 學號姓名 專業學位名稱 專業學位領域 年月日填寫說明 一 根據實踐教學計畫認真做好每次記錄工作。二 本表一律用黑色簽字筆填寫,字跡端正 清楚,不得隨意塗改。三 表內所列專案,由本人如實 認真填寫。四 所填寫內容不宜過少,每份記錄內容不少...

數學軟體實踐A任務書2019

數學軟體實踐任務書 2011短學期 數學2010級 1 數學軟體入門實驗課題 熟悉工作空間,在工作空間作以下題目 1.當x 3,x 2 時,求的值。2.用冒號法作等差數列x 2,4,6,8,10 求對應的函式的值。3.已知 4.計算 4.將資料格式轉換成有理格式後,重新輸出a,b,c,y31,y32...