如何使用向量输入数字

How can I use vector for entering numbers?

本文关键字:数字 输入 向量 何使用      更新时间:2023-10-16

我想输入姓名、学生编号和学生分数并显示此信息。我以这种方式使用数组:

#include "stdafx.h"
#include <iostream>
#include <string>
#define size 3
using namespace std;
class student{
public:
    void vrod();
    void dis();
    int stno,score,i,n;
};
void student::vrod(){
cout<<"name=";
cin>>name;
cout<<"stno=";
cin>>stno;
cout<<"score=";
cin>>score;
}
void student::dis(){
    cout<<"name="<<name<<"n"<<"stno="<<stno<<"n"<<"score="<<score<<"n";
}

int main(){
int i, j=0,n,;
string h;
student st[size];
while (j<3){
st[j].vrod();
j++;}
j=0;
while (j<3){
st[j].dis();
j++;}
cin.get();
cin.get();
}

根据朋友的建议,我这样使用矢量:

#include "stdafx.h"
#include<iostream>
#include<vector>
#include<sstream>
#include<string>
#define n 3
using namespace std;
int main()
{
  int input;
  string names;
  vector<int> stno,score;
  vector<string> name;
  cout<<"Enter the number of inputs: ";
  cout << "Enter your numbers to be evaluated: " << endl;
  for(int i=0;i<n;i++){
      cout<<"student No.=";
  cin >> input;
  stno.push_back(input);
  }
 for(int i=0;i<n;i++){
      cout<<"scor=";
  cin >> input;
  score.push_back(input);
  }
 for(int i=0;i<n;i++){
     cout<<"name=";
  cin >> names;
  name.push_back(names);
  }
   for(int i=0;i<stno.size();i++)
       cout<<stno[i];
    for(int i=0;i<score.size();i++)
       cout<<score[i];
    for(int i=0;i<name.size();i++)
       cout<<name[i];
  cin.get();
  cin.get();
}

您对改进通过 vector 编写的第二个代码有什么意见吗?我可以将一个学生的信息(包括学生编号和学生分数)保存在矢量(如数组)中的一个位置吗?我的意思是,例如,如果我的 n 是 3,我会在三个位置输入学生的信息,例如数组(学生 st[size];)

我可以保存一个学生的信息,包括学生编号和 学生在像数组一样的向量中的一个位置得分?我的意思是 例如,如果我的 n 是 3,我用 3 输入学生的信息 像数组(学生 st[size];)

是的,你可以。std::vector 是一个可扩展的动态数组。所以你可以做这样的事情...

    std::vector<student> my_vector;
    for(int i = 0; i < n; i++)
    {
        student new_student;
        cout << "Number: "
        cin >> new_student.number;
        cout << "Score: "
        cin >> new_student.score;
        cout << "Name: "
        cin >> new_student.name;
        my_vector.push_back(new_student);
    }
    //Accessing
    std::cout << "Hello my name is: " + my_vector[0].name;
   //Setting
   vector[0].name = "Cranky Kong";
   std::cout << "Hello my name is: " + my_vector[0].name;