【发布时间】:2011-04-25 16:31:28
【问题描述】:
我在使用 c++ 类的这个程序时遇到问题: 一位老师创建了具有姓氏、名字和考试成绩的学生平行数组。排列数组使得每个数组的第 n 个元素包含相关信息。编写一个程序,按学生的姓对数组进行排序(使用选择排序),这样每个数组的第 n 项仍然包含与正确人相关的数据。 例如原始数组数据如下:
拉特·伊斯梅拉 66
布朗汤姆 88
Dyrt Phil 94
Dent Stu 100
排序后:
棕色汤姆 88
Dent Stu 100
Dyrt Phil 94
拉特·伊斯梅拉 66
该计划最多可容纳 30 名学生。必须从数据文件中读取数据。数据文件的每一行将包含姓氏、空格、名字、空格和整数分数。程序必须显示排序前后的数据。
我知道我应该包含一个选择排序和交换功能,但我不知道该怎么做。这是我目前所拥有的,它不是很好
#include "stdafx.h"
#include <iomanip>
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
void selsort(int a[], int size)
void swap(string, &s1,string &s2)
void swap (int &i1, int &i2)
int main()
{
int counter=0;
ifstream inputFile;
string inputFileName;
cout<<"Enter the path and filename.";
getline(cin, inputFileName);
inputFile.open (inputFileName.c_str());
string LINE;
while (!inputFile.eof())
{
getline (inputFile, LINE)
cout<<LINE<<endl;
}
我知道我应该以单词而不是行的形式读取文件,我不知道如何根据姓氏、名字和分数将它们放入数组中,我的 selsort 和 swap 声明中使用的变量是都错了,最后我应该只使用一维数组。
【问题讨论】:
标签: c++