将一系列测验答案与问题进行比较

时间:2013-10-06 02:25:51

标签: c++ string

我有一个C ++测试问题,要求我们编写一个程序: 1)要求用户输入一串答案a,b,c和d :(例如:ACDBDA) 2)要求用户输入一个作为答案键的字符串:(例如DBADCD)(我们还需要输入一些内容以确保答案键的长度与答案相同,但这并不重要) 3)打印正确输入答案的百分比,即与答案键匹配。

大部分内容都不是太糟糕,但我不确定如何比较这两个字符串以了解它们之间的区别。有没有办法让变量等于字符串中的一个字符,然后可以与表示与另一个字符串在同一位置的字符的变量进行比较?这是我想到的唯一方式。我并不是真的在寻找一个特定的代码或有人为我做这个,只需要在正确的方向上提供一些指示。

谢谢!

好的,所以我在这方面取得了一些进展,我认为我很接近。现在的问题是我在评论行上得到“表达式必须是类类型”错误。我认为问题在于我传递参数的方式,但我似乎无法弄清楚如何修复它:(。我已经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;
}

0 个答案:

没有答案