首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >学生信息系统班级作业向量搜索

学生信息系统班级作业向量搜索
EN

Stack Overflow用户
提问于 2014-05-21 03:38:01
回答 1查看 692关注 0票数 0

假设我有一个包含此数据的文本文档

代码语言:javascript
复制
First Name    Last Name      ID         Tuition   GPA
Alex           Robinson       02341     1400.50   3.45
John           Brown          043261    1200.00   3.21
Rachel         VanGorp        77239     600.00    4.00
James          Smith          89167     1150.55   1.45
Juan           Garcia         23165     1200.00   3.33
Lindsey        McDonald       32501     1340.50   2.25
Tom            Barry          78442     500.00    3.85
Gwen           Poss           30029     1150.50   3.85
Janice         Jones          44560     2200.50   2.45
Jack           Price          99314     1850.55   3.12

我将这个项目列表导入到一个向量中,这是我的学生类和classOfStudents类。对此信息的帮助将是很大的。我迷路了,不知道该去哪里。只需参考和一个正确方向的点就好了!

代码语言:javascript
复制
     class student
      {
    public:
        student()
        {
            firstName = "";
            lastName = "";
            ID = "";
            tuitionBalance = 0.0;
    GPA = 0.0;
}
student(string first, string last, string id, double tuition, double gpa)
{
    first = firstName;
    last = lastName;
    id = ID;
    tuition = tuitionBalance;
    gpa = GPA;
}

void openIF()
{
    inFile.open("students.txt");
}
void setFirstName()
{
    inFile >> temp;
    firstName = temp;
}
void setLastName()
{
    inFile >> temp;
    lastName = temp;
}
void setID()
{
    inFile >> temp;
    ID = temp;
}
void setBalance()
{
    inFile >> tuitionBalance;
}
void setGPA()
{
    inFile >> GPA;
}
void closeIF()
{
    inFile.close();
}

string firstName, lastName, ID;
double tuitionBalance, GPA;
    private:

ifstream inFile;
char temp[128];
    }

class classOfStudents
{
public:
    vector<student> students;

    classOfStudents()
    {
        student Students = student(firstName, lastName, ID, tuitionBalance, GPA);
        students.push_back(Students);
    }

    void findStudent()
    {
        int searchID;
        cout << "Enter ID of student" << endl;
        cin >> searchID;
        find(students.begin(), students.end(), searchID);
    }

private:
    string firstName, lastName, ID;
    double tuitionBalance, GPA;
}

我如何从学生的ID中提取剩余的信息?

EN

回答 1

Stack Overflow用户

发布于 2014-05-21 04:08:00

代码语言:javascript
复制
using namespace std;

#include <iostream>
#include <map>

class student
{
public:
string firstName, lastName;
int ID;
double tuitionBalance, GPA;

student(){}

student(string fName, string lName, int id, double tBalance, double gpa)
{
    firstName = fName;
    lastName = lName;
    ID = id;
    tuitionBalance = tBalance;
    GPA = gpa;
}
};

class classOfStudents
{
public:

std::map <int, student> StudentMap;

classOfStudents()
{
    student Students = student("Firstname", "Lastname", 123, 0.00, 4.00);
    StudentMap.insert(std::pair<int, student>(123, Students));
}

void findStudent()
{
    int searchID;
    cout << "Enter ID of student" << endl;
    cin >> searchID;

    if (StudentMap.find(searchID) == StudentMap.end())
    {
        printf("Student not found");
    }
    else
    {
        printf("Name: %s %s ", StudentMap[searchID].firstName, StudentMap[searchID].lastName);
    }
}
};
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23768467

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档