Как написать функцию со счетчиком внутри? - PullRequest
0 голосов
/ 11 июля 2020

Кодирование на первой неделе, пожалуйста, будьте любезны.
Мне нужно получить 4 ввода от пользователя, и если 2 из них - -100 Мне нужна функция, чтобы сказать, что вы потерпели неудачу.

Мне нужно реализовать function here и, вероятно, добавить счетчик внутри, но я не знаю, как.

Код выглядит примерно так

cout << "What are the grades of your 4 take-home exams? ";
    cin >>th1>>th2>>th3>>th4;
function here

Ответы [ 2 ]

5 голосов
/ 11 июля 2020

Мне нужно получить 4 ввода от пользователя

cin >>th1>>th2>>th3>>th4;

Похоже, это правильно.

если 2 из них -100

1. Условные

Ответ в самом вашем вопросе. Сосредоточьтесь на слове if.

В языках программирования есть всевозможные способы проверки, если что-то равно чему-то другому, или если что-то меньше, чем что-то еще, запустите определенный фрагмент кода. Мы называем это условиями . Если определенное условие истинно , сделайте что-нибудь, else , сделайте что-нибудь другое. Пример:

int x = 0;
cin >> x; // take input from user
if (x > 20)
{
   cout << "x is greater than 20";
}
else 
{
   cout << "x is less than 20";
}

Более того, вы даже можете проверять две переменные одновременно !!

int x = 1;
int y = 2;
if (x == 1 && y == 2)
   cout << "X is 1, and y is 2";
else
   //print something else

Функции

Функции - это способ вставить некоторый код в блок, который вы можете использовать повторно, когда захотите. Подумайте об этом как о том, что вы делаете торт и для этого вам нужен определенный сироп. Теперь, если вы хотите, вы можете делать этот сироп каждый раз с нуля, или вы можете просто сделать много сиропа и использовать его каждый раз, когда хотите испечь торт. Это определенно плохой пример, но вы поняли.

Давайте сделаем небольшую функцию. Эта функция примет int в качестве параметра и проверит, равен ли этот параметр 100 или нет. Если он равен 100, мы передадим вызывающему return значение: 1. В противном случае мы вернем значение: 0:

int checkIfHundredOrNot(int value)
{
    if (value == 100)
       return 1;
    else
       return 0;
}

//caller
int main()
{
    int x = 0;
    cin >> x;
    int result = checkIfHundredOrNot(int value);
    cout << "Result is: " << result;
    return 0;
}

Используя эту информацию, попробуйте решить вашу проблему. Это должно быть довольно просто. Если найдете что-нибудь сложное, погуглите. Там вы найдете все свои ответы. В частности, в Google это:

  • Что такое параметр функции в C ++?
  • Что такое возвращаемое значение в C ++?
  • Что такое функция в C ++?
  • Почему мы используем функции в C ++?
  • Что такое операторы в C ++?
  • Что такое операторы сравнения в C ++?
  • Есть ли разница между = и ==?

Затем внимательно прочтите их, запишите каждый фрагмент кода своими руками и повторяйте, пока не поймете.

0 голосов
/ 11 июля 2020

Так что я вроде как новичок, но я попробую. Я бы порекомендовал взглянуть на свое решение и попробовать сделать свое «вы», поскольку есть много других способов получить правильный ответ. Если вы действительно указали c только на 4 входа, вы можете попробовать следующее:

bool isFail(int a, int b, int c, int d) {

int counter = 0;
if (a == -100) {
    counter++;
}
if (b == -100) {
    counter++;
}
if (c == -100) {
    counter++;
}
if (d == -100) {
    counter++;
}

if (counter >= 2) {
    return true;
}
else
{
    return false;
}

}

Функция в основном принимает 4 целых числа и проверяет каждый из них на -100. Если они оказываются равными -100, счетчик увеличивается на 1. После этого мы просто проверяем, равен ли счетчик двум или больше, и если да, мы возвращаем истинное значение, поскольку оно не выполнено (два или несколько входов равны -100). В противном случае мы просто возвращаем false.

В своей основной функции вы можете просто инициализировать свои переменные, ввести их и просто выполнить вызов функции, которую вы можете сравнить с другим «истинным» значением. Если результат положительный, вы распечатываете сообщение об ошибке.

int a, b, c, d;
std::cin >> a >> b >> c >> d;

if (isFail(a, b, c, d) == true) {
    std::cout << "Fail!" << std::endl;;
}
else
{
    std::cout << "Passed!" << std::endl;
}

С уважением!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...