我在班上做了一個任務,但我在使用get()函數時遇到了困難。這是他給我們的任務的一部分: 將會有一個getVariable()和一個setVariable()函數,用於返回存儲在學生數據中的值或設置值。具體來說,這些函數的原型應爲:int getStudentID(),void setStudentID(int iID) - 獲取並設置學生的ID。帶指針和循環的C++程序
#pragma once
#include <iostream>
#include <string>
using namespace std;
class Student
{
private:
Student(void);
int m_iStudentID;
char m_sMagicalName[32];
char m_sWizardFamilyName[32];
char m_sHouse[32];
char* m_sClasses[8];
int m_iGrades[8];
int NUM_CLASSES;
public:
Student();
~Student();
Student(int iID, char *mName, char *wName, char *hName)
{
char mName[32] = "Harry";
char wName[32] = "Potter";
iID = m_iStudentID;
strcpy(m_sMagicalName, mName);
strcpy(m_sWizardFamilyName, wName);
strcpy(m_sMagicalName, "Harry");
strcpy(m_sWizardFamilyName, "Potter");
hName = m_sHouse;
}
int getStudentID()
{
char iID;
//Get the data for the student id
getline(cin, iID);
return iID;
}
~Student(void);
}
對不起,它是多久。我曾嘗試使用getline並獲得,但都不會工作。它彈出說這是一個重載函數。我如何得到這個工作?
編輯:好的我解決了這個問題。現在我該如何製作這部分?
- *無效的getClass(INT IDX,字符* className)已過時,無效setClass(INT IDX,焦炭的className) - 獲取和設置一個類名。整數參數idx給出類名稱數組中的索引。
我曾嘗試本作的getClass部分:
void getClass(int idx, char *className)
{
className[0] = "Introduction to Charms";
}
,我知道那是不正確的,我覺得像撕裂了我的頭髮。我是否必須在別處聲明它,然後使用getClass函數來抓取它?這些課程是魅力介紹,魔藥介紹和變形介紹。 我能夠做setClass沒問題。
這三個問題我根本不理解,我不知道如何在不破壞程序的情況下接近它們。 2. void setGrade(int idx,int grade) - 設置一個等級。該函數應在給定索引處的數組m_iGrades中設置數字等級。
空隙getGrade(INT IDX,整數& iGrade,炭& cGrade) - 獲取一個檔次。這個getGrade函數應該是一個引用函數,並且應該使用基於當前Hogwarts分級系統的字母等級的cGrade引用參數來返回(95-100 =未完成(O),90-94 =超出期望(E),80-89 =可接受(A),70-79 =差(P),60-69 =可怕(D),< 60 =巨魔(T))。它還應該使用iGrade參考參數返回數字等級。
void getGrade(int idx,int * iGrade,char * cGrade) - 獲得一個等級。這個getGrade函數應該是一個指針函數,並且應該基於當前Hogwarts評分系統使用cGrade指針參數返回一個字母等級(95-100 =未完成(O),90-94 =超出期望(E),80-89 =可接受(A),70-79 =差(P),60-69 =可怕(D),< 60 =巨魔(T))。它還應該使用iGrade指針參數返回一個數字等級。
修正你的[* *許多編譯錯誤](http://pastebin.com/Zfmg0W7q)先天下之憂。 – WhozCraig
請發佈[MCVE]! _「有麻煩」_並不被視爲你所看到的行爲的良好描述。 –
在您的構造函數中,您正在爲參數分配值。你真的想這樣做嗎?例如,您將'iId'的副本傳遞給構造函數,並且內容將'm_iStudentID'分配給該參數的副本。 –