Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/148.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将一系列测验答案与问题进行比较 我有一个C++测试题,要求我们编写一个程序: 1) 要求用户输入答案a、b、c和d的字符串:(示例:ACDBDA) 2) 要求用户输入一个字符串作为答案键:(示例DBADCD)(我们还需要输入一些内容以确保答案键的长度与答案相同,但这并没有什么大不了的) 3) 打印正确输入答案的百分比(与答案键匹配)_C++_String - Fatal编程技术网

将一系列测验答案与问题进行比较 我有一个C++测试题,要求我们编写一个程序: 1) 要求用户输入答案a、b、c和d的字符串:(示例:ACDBDA) 2) 要求用户输入一个字符串作为答案键:(示例DBADCD)(我们还需要输入一些内容以确保答案键的长度与答案相同,但这并没有什么大不了的) 3) 打印正确输入答案的百分比(与答案键匹配)

将一系列测验答案与问题进行比较 我有一个C++测试题,要求我们编写一个程序: 1) 要求用户输入答案a、b、c和d的字符串:(示例:ACDBDA) 2) 要求用户输入一个字符串作为答案键:(示例DBADCD)(我们还需要输入一些内容以确保答案键的长度与答案相同,但这并没有什么大不了的) 3) 打印正确输入答案的百分比(与答案键匹配),c++,string,C++,String,大多数情况还不算太糟,但我不知道如何比较这两个字符串,看看它们有什么不同。有没有办法获得一个等于字符串中某个字符的变量,然后将该变量与代表另一个字符串所在位置的字符的变量进行比较?这是我唯一想到的方法。我并不是真的在寻找一个特定的代码或某人为我做这件事,只是需要一些指向正确方向的指针 谢谢 好的,我在这方面取得了一些进展,我想我已经接近了。现在的问题是,在注释行中出现了“表达式必须是类类型”错误。我认为问题在于我传递参数的方式,但我似乎不知道如何解决:(.我在google上搜索了几篇传递参数的文

大多数情况还不算太糟,但我不知道如何比较这两个字符串,看看它们有什么不同。有没有办法获得一个等于字符串中某个字符的变量,然后将该变量与代表另一个字符串所在位置的字符的变量进行比较?这是我唯一想到的方法。我并不是真的在寻找一个特定的代码或某人为我做这件事,只是需要一些指向正确方向的指针

谢谢

好的,我在这方面取得了一些进展,我想我已经接近了。现在的问题是,在注释行中出现了“表达式必须是类类型”错误。我认为问题在于我传递参数的方式,但我似乎不知道如何解决:(.我在google上搜索了几篇传递参数的文章,但似乎没有一篇文章谈到传递参数,然后获取参数的长度,或者像我在程序中做的那样进行比较。如果有任何帮助,我将不胜感激。以下是代码:

#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;

string getAnswers(string answers)
{

    cout << "What are your answers to this questionless quiz? BE WARY OF CHOOSING           INCORRECTLY\n:";
    cin >> answers;
    return answers;
}

string getKey(string key)
{
    cout << "Just kidding. What are the answers? \n:";
    cin >> key;
    return key;
}

double getPercentage(double percentage)
{
    int total;
    int correct;
    getAnswers();
    getKey();
    total = getAnswers.size();      // "error: expression must have class type"
    for (i=0; i>total; i++)
    {
        int j = 0;
        if (getAnswers.at(j) = getKey.at(j))    // "error: expression must have     class type" (for both getAnswers and getKey)
            correct++;
            j++;
    }
    percentage = (correct/total) * 100;
}

int main()
{
    getAnswers();
    getKey();
    cout << getPercentage(answers, key);        //Also I'm really not sure how to get the parameters from previous functions into this one here. Maybe I shoudln't even add parameters and just show the function?
    return 0;
}
#包括“stdafx.h”
#包括
#包括
使用名称空间std;
字符串获取答案(字符串答案)
{
答案;
返回答案;
}
字符串获取键(字符串键)
{
cout>键;
返回键;
}
双倍百分比(双倍百分比)
{
整数合计;
int正确;
获取答案();
getKey();
total=getAnswers.size();/“错误:表达式必须具有类类型”
对于(i=0;i>total;i++)
{
int j=0;
if(getAnswers.at(j)=getKey.at(j))/“错误:表达式必须具有类类型”(对于getAnswers和getKey)
正确的++;
j++;
}
百分比=(正确/总数)*100;
}
int main()
{
获取答案();
getKey();

同样要澄清的是,我们不应该有任何实际的测验形式或问题。它实际上是输入答案,输入键,显示正确率。“有没有办法得到一个等于字符串中某个字符的变量,然后将该变量与另一个字符串中代表该字符的变量进行比较?这是我唯一想到的方法。“是的,看起来你的思路是对的。
std::string
有一个可以访问单个字符的索引运算符。你可以在循环中使用它。例如,
str[3]
将访问字符串中的第四个字符(因为最低索引为零)。