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

Я создаю программу для расчета чьего-либо пользовательского ввода на основе GPA. Для одного из методов, которые я пишу, я прошу пользователя ввести буквенную оценку. Затем я конвертирую письмо в соответствующий средний балл. Как мне сохранить этот средний балл в переменную? Сохраню ли я его как переменную при вызове метода в программе или в самом методе?

public static double GetGradePoint(string LetterGrade)
 {
    Console.WriteLine("Enter your letter grade for each class");
    string letter = Console.ReadLine();
    if (letter == "A")
    {
        return 4;
    }
    if (letter == "A-")
    {
        return 3.7;
    }
    if (letter == "B+")
    {
        return 3.3;
    }
    if (letter == "B")
    {
        return 3;
    }
    if (letter == "B-")
    {
        return 2.7;
    }
    if (letter == "C+")
    {
        return 2.3;
    }
    if (letter == "C")
    {
        return 2;
    }
    if (letter == "C-")
    {
        return 1.7;
    }
    if (letter == "D+")
    {
        return 1.3;
    }
    if (letter == "D")
    {
        return 1;
    }
    if (letter == "F")
    {
        return 0;
    }
}

1 Ответ

1 голос
/ 23 апреля 2020

Вы можете попробовать две разные вещи:

Первый подход (не рекомендуется)

Используйте этот подход, если вы будете использовать свои входные данные только один раз и выиграете ' Не требуется использовать его где-либо еще в вашей логике c. Бери не по параметрам. Вам не нужно объявлять параметр в этом случае

public static double GetGradePoint()
 {

    Console.WriteLine("Enter your letter grade for each class");
    string letter = Console.ReadLine();

    //... your if statements/ switch statement here
    if (letter == "A")
    {
        return 4;
    }
    //...
}

Затем внутри вашего main()

double Grade = GetGradePoint();

Второй подход (рекомендуется)

Используйте этот подход и рассматривайте ваш GetGradePoint как чистую функцию, которая принимает параметр и возвращает результат. Запомните параметр.

public static double GetGradePoint(string LetterGrade)
 {
    //... your if statements/ switch statement here
    if (LetterGrade== "A")
    {
        return 4;
    }
    //...
}

Затем внутри вашего main()

Console.WriteLine("Enter your letter grade for each class");
string letter = Console.ReadLine();

//pass letter as parameter to get the GradePoint
double Grade = GetGradePoint(letter);

Примечание: Всегда старайтесь рассматривать ваши методы как чистые функции. функции, которые получают информацию через параметры и возвращают вычисленный результат.

...