Нужна помощь в создании консольного приложения, которое выводит процент ответов для рейтинга в опросе 1-5 (целое число)

Работаю над заданием, где мне нужно выполнить следующее: В вопросе опроса опрашиваемому предлагается оценить что-то от 1 до 5 (целое число). Конечный пользователь вашей программы вводит ответы на этот вопрос в неизвестном количестве опросов. Напишите программу, которая позволяет это и выводит процент отклика для каждого значения (1, 2, 3, 4 и 5).

Я сделал предыдущее консольное приложение с циклом для сбора среднего значения, и я не знаю, как собрать процентный ответ для 5 различных возможных входных данных.

Ниже мой предыдущий код.

namespace WhileLoopsMean

public class MeanProgram

    static void Main(string[] args)
    {
        long test, sum, loop, count;
        double avg;
        Console.Write("How many tests? ");
        count = long.Parse(Console.ReadLine());
        sum = 0;
        loop = 1;
        while (loop <= count)
        {
            Console.Write("enter score " + loop + " : ");
            test = long.Parse(Console.ReadLine());
            sum = sum + test;
            loop = loop + 1;
        }
        avg = sum;
        avg = avg / count;
        Console.WriteLine("\naverage : " + avg);

        Console.WriteLine("\n\nenter a score of -100 to end\n");
        count = 1;
        sum = 0;
        Console.Write("enter score " + count + " : ");
        test = long.Parse(Console.ReadLine());
        sum = sum + test;
        while (test != -100)
        {
            count = count + 1;
            Console.Write("enter score " + count + " : ");
            test = long.Parse(Console.ReadLine());
            if (test != -100)
            {
                sum = sum + test;
            }
            else { }
        }
        count = count - 1;
        avg = sum;
        avg = avg / count;
        Console.WriteLine("\naverage : " + avg);
        Console.ReadKey();

Вы должны сначала выяснить, как вы это сделаете на бумаге, а затем перевести это в код. Затем, если у вас есть конкретная проблема, задайте новый вопрос. См. Как спросить, тур и минимальный воспроизводимый пример.

Phil M 04.03.2019 22:57

Моя проблема в том, что я тоже не понимаю, как это сделать на бумаге. Я не понимаю, как создать цикл, требующий ввода в пределах определенного диапазона чисел, а затем вычислять, а затем вычислять проценты от них. Кажется, я бы создал 5 уникальных переменных и вычислил процент на основе переменной/количества?

Sean Bruce 04.03.2019 23:00
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
2
31
1

Ответы 1

class Program {
    static void Main(string[] args) {
        string input = "";
        List<List<int>> answers = new List<List<int>>();
        int questionsCount = ReadInt32("The number of questions: ");
        for (int i = 0; i < questionsCount; i++) {
            answers.Add(new List<int>());
        }
        while (input == "" || input == "y") {
            for (int i = 0; i < answers.Count; i++) {
                List<int> a = answers[i];
                a.Add(ReadInt32($"Question [{i}]: "));
            }
            input = Read("Continue (y/n)? ").ToLower();
        }
        WriteLine("End of input!");
        for (int i = 0; i < answers.Count; i++) {
            List<int> a = answers[i];
            Write($"Average for question[{i}]: {a.Average()}\n");
        }
        ReadKey();
    }

    static string Read (string a) {
        Write(a);
        return ReadLine();
    }

    static int ReadInt32 (string a = "") {
        Write(a);
        return ToInt32(ReadLine());
    }
}

Попробуйте это. Вы можете настроить вопросы. И обратите внимание, чтобы использовать Write() и WriteLine(), вы должны добавить

using static System.Console;

вверху, в ссылках проекта.

Другие вопросы по теме