将二维int数组与字符串数组C++进行比较
Compare 2 Dimensional int array with string array C++
#include "stdafx.h"
#include <fstream>
#include <iostream>
#include <iomanip>
#include <string>
using namespace std;
void main(){
int numstud=0, numcorrect, i, j, grid[20][5]={0}, x;
string key, id, responses;
ifstream keyfin, studfin;
keyfin.open("answerswers.dat");
studfin.open("tests.dat");
keyfin >> key;
studfin >> id >> responses;
cout << setw(5) << "Student-Id's" << setw(20) << "# Correct" << endl << endl;
while(!studfin.eof())
{
numstud++;
numcorrect=0;
for(i=0; i<20; i++){
if(responses[i] == key[i])
{
numcorrect++;
}
if(responses[i] == 'A')
grid[i][0]++;
else if(responses[i] == 'B')
grid[i][1]++;
else if(responses[i] == 'C')
grid[i][2]++;
else if(responses[i] == 'D')
grid[i][3]++;
else
grid[i][4]++;
}
cout << id << setw(20) <<numcorrect << endl;
studfin >> id >> responses;
}
cout << endl << endl << endl << endl;
cout << "Questions" << setw(16) << "A" << setw(5) << "B" << setw(5) << "C" << setw(5) << "D" << setw(5) << "E" << endl;
for(j=0; j<20; j++){
cout << endl << setw(5) << j+1 << setw(20);
for(i=0; i<5; i++)
if(grid[i] == key[i])
cout << grid[j][i] << "*" << setw(5);
else
cout << grid[j][i] << " " << setw(5);
}
cout << endl;
system("Pause");
}
这是一个非常简单的问题,希望是一个很简单的答案,我需要将grid[I]和key[I]进行比较,这样我就可以根据它是==还是
我的问题是网格是一个int,键是一个字符串。对于if
else
操作数,您将如何比较这两者?
使用std::stoi()
:将string
转换为int
if(grid[i] == stoi(key[i]))
grid
是2D数组,所以if(grid[i] == key[i])
是错误的。更改为if(grid[j][i] == (key[i]) - '0')
。
grid[i]
意味着grid[i][0] (&grid[i][0]
的地址,所以将它们进行比较是不合理的。
key[i]
是一个字符类型,atoi
需要参数为const char *
,因此使用atoi
是不正确的。用ascii值比较CCD_ 15和CCD_。CCD_ 17将数字从CCD_ 18强制转换为CCD_ 19值。
相关文章:
- 使用 jsoncpp 解析 json 数组字符串
- C++ 对象数组字符串输入在控制台上不起作用
- 插入了 C++ 数组字符串数据,但在显示输出时不显示
- 无法区分 JSON 对象/数组/字符串
- 为什么数组(字符串类型)的大小是 24 字节,带有单个空格元素
- 如何使用数组字符串进行输入验证
- (C++) 打印字符数组字符串的单词时出现问题
- 使用Back_inserter从任何位置的输入字符中使用Back_inserter进行过滤数组字符串
- C 函数反转字符数组字符串
- 如何在 c++ 中创建数组(字符串 [] )的向量
- 如何返回数组字符串的指针
- char数组字符串混淆
- 如何从字符数组字符串中提取空格
- 是否可以将 Bitset<8> 的值复制到数组字符串而不转换它们?
- C++数组字符串函数
- 如何在函数中操作字符数组(字符串)的指针,该指针在C / C ++中作为参数传递
- visual将音频文件存储到数组/字符串流C++中
- c++在char数组(字符串)上将what替换为
- 将数组字符串转换为intger c++(初学者)
- 需要设置数组字符串长度,使其恰好为13