6 9 學生成績的快速錄入(建構函式) 10分

2021-10-05 03:53:40 字數 1730 閱讀 5026

現在需要錄入一批學生的成績(學號,成績)。其中學號是正整數,並且錄入時,後錄入學生的學號會比前面的學號大;成績分兩等,通過(pass,錄入時用1代表),不通過(fail,錄入時用0代表)。

由於很多學號都是相鄰的,並且學號相鄰的學生成績常常相同。所以在錄入時,適當地加了速。如果當前學生的學號比前面的學號大1,且成績與前面的成績相同,則只輸入0即可。

類定義:

完成student類

裁判測試程式樣例:

#include

using

namespace std;

/* 請在這裡填寫答案 */

intmain()

else

st[i]

=new

student

(*st[i-1]

);} cout<" students"

0;i) st[i]

->

display()

;for

(i=0

;i)delete st[i]

;return0;

}

輸入樣例:

53 0

07 1

012 1

輸出樣例:

5 students

3 fail

4 fail

7 pass

8 pass

12 pass

很久沒寫程式了,手有點生疏。

首先說一下這個程式填空題的思路

首先我們觀察一下這個mian函式裡都呼叫了那些東西,就知道我們要寫什麼功能的函式

有兩個建構函式 乙個是含有兩個引數的建構函式,另乙個是帶指標的建構函式(拷貝建構函式)

輸出語句裡有乙個有乙個student類的靜態成員(注意這裡是靜態成員不是靜態函式),最後輸出乙個display的函式。最後自動呼叫了析構函式。且我們需要乙個物件陣列把這些寫物件全部放進去。

需要注意的是,在publuc裡的count是靜態成員而不是乙個函式,如果我們把count放在privat裡,半就必須建立乙個靜態函式,因為只有靜態函式才可以呼叫靜態成員。

靜態成員是在類內定義類外使用的 因此,我們在類外定義了count值恒為0.

這裡是兒子的複習鏈結

所以最終答案是這樣

#include

using

namespace std;

class

student

;int student::count=0;

student::

student

(student & s)

student::

student

(int n,

int s):no

(n),

score

(s)void student::

display()

intmain()

else

st[i]

=new

student

(*st[i-1]

);} cout<" students"

0;i) st[i]

->

display()

;for

(i=0

;i)delete st[i]

;return0;

}

mfc學生成績錄入與查詢

1 宣告結構體 struct person 2 成績錄入 在 儲存 按鈕中實現以下 updatedata true file fopen test.txt a person person updatedata true strcpy person.name,m name in 結構體字元陣列賦值 s...

快速錄入大段文字的正確姿勢

比如下面的場景 下班回家想整理一些資料,但是打字速度很慢,導致等整理完了也很晚了。很多人想寫 寫文件,感覺打字手都快酸了,很難堅持下去,或者效率很低。其實可以使用語音轉文字軟體提高輸入的速度。2.1.1各種手機輸入法語音輸入 各種手機輸入法都支援語音輸入大家可以試試。下面講專門的語音筆記。2.1.2...

PTA 學生成績錄入及查詢 20分

學生成績表中,一名學生的資訊包含如下資訊 學號 11位 姓名 數學成績 英語成績 程式設計成績 物理成績。本題要求編寫程式,錄入n條學生的資訊,並且按查詢要求顯示學生成績等資訊。輸入格式 輸入在第一行給出正整數n n 10 隨後n行,每行按格式 學號 姓名 數學成績 英語成績 程式設計成績 物理成績...