我在班上做了一个任务,但我在使用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'分配给该参数的副本。 –