- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对 C++ 编程还很陌生,我一直在尝试制作一个学生数据库程序,其中已完成类(class)的分数将按升序排序。这里棘手的部分是我在类中声明的变量必须保持私有(private)。在我的排序函数中使用变量显示错误,指出表达式必须具有类。我真的不知道解决这个问题的方法是什么。任何帮助是极大的赞赏! :)代码是`
#include <iostream>
#include <string>
#include <cstdlib>
using namespace std;
class Student{
private:
int data[100];
string name;
string id;
float cgpa, hcgpa, lcgpa;
int marks[100];
int cc; //courses Completed
public:
int getMarks(void){
int i = 100;
int m;
return m = marks[i];
}
void getInfo(int i){
cout << "Student " << i << ": " << endl;
cout << "ID: ";
cin >> id;
cin.ignore();
cout << "Name: ";
getline(cin, name);
cin.ignore();
cout << "CGPA: ";
cin >> cgpa;
cout << "Number of courses completed: ";
cin >> cc;
cout << "Please enter the marks respectively: " << endl;
for (int j = 1; j <= cc; j++){
cout << "Mark " << j << ": " << endl;
cin >> marks[j];
}
cout << endl;
}
void sortMarks(Student z[], int i, int &n){
int j;
for (i = 0; i < n-1; i++){
j = i;
while (j>0 && z[j - 1].getMarks > z[j].getMarks){
swap(z.[j - 1]getMarks(), z.[j]getMarks());
j--;
}
}
}
void showInfo(int i){
cout << "Student " << i << ": " << endl;
cout << "ID: " << id << endl;
cout << "Name: " << name << endl;
cout << "CGPA: " << cgpa << endl;
cout << "Number of courses completed: " << cc << endl;
cout << endl;
for (int j = 1; j <= cc; j++){
cout << "Marks for course " << j << ": " << endl;
cout << marks[j] << endl;
}
}
};
int main(){
Student s[100];
int no; //should be less than 100
cout << "Number of students: ";
cin >> no;
cout << endl;
for (int i = 1; i <= no; i++) {
s[i].getInfo(i);
}
for (int i = 1; i <= no; i++) {
s[i].showInfo(i);
}
cout << "After sort: \n" << endl;
for (int i = 1; i <= no; i++) {
s[i].sortMarks(i);
s[i].showInfo(i);
}
system("pause");
//Error is it doesn't show the exact values after the first student's info.
}
`
最佳答案
也许你的意思是
swap(z[j - 1].getMarks(), z[j].getMarks());
代替
swap(z.[j - 1]getMarks(), z.[j]getMarks());
尽管此构造没有任何意义,因为编译器在任何情况下都会发出错误,因为您正在尝试交换 getMarks 返回的临时对象。
这个成员函数
int getMarks(void){
int i = 100;
int m;
return m = marks[i];
}
根本无效,没有任何意义。
所以你的代码的问题不在错误中。问题是您的代码整体无效。
例如函数 sortMarks
应该定义为静态成员函数。您可以在该函数中直接访问标记数组的元素,而无需使用 getMarks。
关于c++ - 表达式必须有类类型(学生数据库)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24743656/
在parser.h中: typedef enum _SEX {MALE = 'M', FEMALE = 'F', OTHER = 'O'} SEX; struct course { char gra
共有三个实体: School, teacher and student 有一些规则: 一个学生只能属于一位老师 一名学生只能属于一所学校 一名教师可以属于一所或多所学校 这意味着我的表中有这些关系:
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 2 年前。 Improve this qu
我正在构建一个涉及学生和顾问的 Web 应用程序。学生将选择他的独立学习,顾问将对其进行监督。我正在努力为我的程序找到正确的关系。 基本上我的应用程序中的参与者是。 a Student can sel
支持Python的IDE有IPython、Aptana Studio(在Eclipse的基础上加插件集改的)、PyCharm(由 JetBrains 打造的一款 Python IDE,支持 macO
我对 sql 和 Stack Overflow 非常陌生。我希望有人可以帮助我解决这个问题。我的查询应该显示销售额超过 200,000 美元的类别的总销售额和已售商品总数。我已经研究这个查询一个小时了
public class Menu extends Activity { /** Called when the activity is first created. */ public
当我在 R 中运行学生 t-分布时,我得到以下结果: > pt(1.849, 2, lower.tail=FALSE) [1] 0.1028493 当我运行 Apache Commons Math 库
我的机器人实验室正在寻找程序员来从事我们目前的一些项目。 我们确定了要求(主要是 C++ 和 openGL 和 3D 经验),但由于明显的资金限制,我们无力聘请优秀的开发人员。相反,我们将满足于有才华
我正在努力完成一个使用替换密码来编码和解码 txt 文件的程序。经过相当多的工作,我的程序几乎完成了。该程序首先询问用户是否要对文件进行编码或解码。回答这个问题后,程序会提示用户输入正在输入的文件的名
我是一个刚开始编程的菜鸟,我想知道为什么我会收到一条错误消息:非静态数据成员“Lavirint::n”的使用无效? class Lavirint{ private: int n, m;
该项目的目标是创建四个类:Student 类、GradStudent 类、Manager 类和 GUI 类。 GUI 中有两个单选按钮:一个用于学生,一个用于研究生。根据选择的对象,Manager 类
我正在尝试向学生、教师和家长 Activity 实现抽屉导航 Activity ,但它不起作用,请指导我如何在登录后向不同角色的用户添加抽屉导航。 最佳答案 您需要在 中自定义布局像这样:
我是 JS 的新手,甚至是 Jquery 和 fullcalendar 的新手。我创建了一个单独在页面上运行良好的日历。我正在尝试将此代码与另一个页面结合使用,但我无法让日历呈现。 首先我包含一些文件
我正在开发一个简单的 Linux Shell,它可以 fork() 并调用 execvp(),但我最近添加了不需要 fork() 的“内置函数”。 这是执行处理: if (strcmp(cmd
我在使用分配给我的这个初学者 Java 程序时遇到了麻烦,我是 Java 的新手,而且我在使用这个特定程序时遇到了很多麻烦。这些是说明: Your program should prompt user
在下面的代码块中,有几个(故意的)错误,我的任务是找到它们并解释这些错误是否会导致编译代码时出现问题,或者至少会导致一些逻辑问题。 public class Person { private St
我想加载一个文件,将其内容拆分为数组,然后将类应用到内容。 class Student def initialize( name, grade ) @name = name
我有 3 个实体:导师、学生、类(class) 导师教授许多类(class) 学生可以被分配到由多名导师教授的许多类(class) 导师和学生需要能够登录系统 我想使用下表来表示此设计: users
我想弄清楚这里的填充是否可调 这是 HTML: {block:IfHeaderImage} {/block:IfHeaderImage} {block:IfNot
我是一名优秀的程序员,十分优秀!