次のようなプログラムを作成するよう求める C++ テスト問題があります。は回答キーです: (DBADCD の例) (回答キーの長さが回答と同じであることを確認するために何かを入力する必要もありますが、それは大したことではありません) 3) 入力された回答の正しさのパーセンテージを出力します、つまり、答えのキーと一致します。
これのほとんどはそれほど悪くはありませんが、2 つの文字列を比較してどのように異なるかを確認する方法がわかりません。文字列内の文字の 1 つに等しい変数を取得し、それを他の文字列と同じ場所にある文字を表す変数と比較する方法はありますか? それが私の頭に浮かぶ唯一の方法です。私は特定のコードや誰かを探しているわけではありません。正しい方向へのポインタが必要なだけです。
ありがとう!
わかりました、それで私はこれについていくらか進歩しました、そして私は近いと思います. 問題は、コメント行で「式はクラス型でなければなりません」というエラーが表示されることです。問題はパラメーターを渡す方法にあると思いますが、それを修正する方法がわからないようです:(。いくつかのパラメーターを渡す記事をグーグルで検索しましたが、パラメーターを渡して取得することについて話しているようには見えませんそれは長さであるか、プログラムで行っているように比較しています.どんな助けでも大歓迎です.コードは次のとおりです:
#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;
}