Тренажер по математике: добавить возможность сохранения максимального счета в настройках - C#

Узнай цену своей работы

Формулировка задачи:

Программа интерактивный тренажер по математике, проверяющий умение пользователя выполнять простые арифметические операции над числами. в С#. Как можно изменить программу чтобы: 1.добавить возможность сохранения максимального счета в пользовательских настройках (Settings) 2.За более сложные вопросы должно начисляться большее количество очков.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication8
{
    class Program
    {
        static void Main(string[] args)
        {//интерактивный тренажер по математике
 
            //Создаем новую переменную типа Random
            //с ее помощью мы сможем генерировать случайные числа
            Random rnd = new Random();
           int score = 0;
            //Уровень 1: числа от 1 до 10
           score = score + Test(rnd.Next(1, 10), rnd.Next(1, 10));
            //Уровень 2: числа от 1 до 100 кратные 15
           score = score + Test(rnd.Next(1, 100) / 15 * 15, rnd.Next(1, 100) / 15 * 15);
            //Уровень 3: числа от 1 до 100
           score = score + Test(rnd.Next(1, 100), rnd.Next(1, 100));
           //Уровень 4: числа от -15 до 15
           score = score + Test(rnd.Next(-15, 0), rnd.Next(0, 15));
           //Уровень 5: числа от -200 до 200 кратные 5
           score = score + Test(rnd.Next(1, 200) / 5 * 5, rnd.Next(-200, 1) / 5 * 5);
           //Уровень 6: числа от 1 до 500 кратные 2
           score = score + Test(rnd.Next(1, 500)/2*2, rnd.Next(1, 500)/2*2);
           //Уровень 7: числа от 1 до 1000
           score = score + Test(rnd.Next(1, 1000), rnd.Next(1, 1000));
           //Уровень 8: числа от -500 до 500 
           score = score + Test(rnd.Next(-500, 1), rnd.Next(1, 500));
           //Уровень 9: числа от -1000 до 1000
           score = score + Test(rnd.Next(-1000, 1), rnd.Next(1, 1000));
           //Уровень 10: числа от -5000 до 5000
           score = score + Test(rnd.Next(1, 5000), rnd.Next(-5000, 1));
           Console.WriteLine("Вы набрали {0} очка", score);
           Console.ReadKey();
          
         }
 
        private static int Test(int num1, int num2)
        {
            //Выводим на экран сообщение что надо найти сумму чисел...
            Console.WriteLine("Введите сумму чисел {0} и {1}", num1, num2);
            //получаем ответ введенный пользователем...
            int UserSum = Convert.ToInt32(Console.ReadLine());
            //считаем правильный ответ...
            int RealSum = num1 + num2;
            //если ответ пользователя совпадает с верным...
            if (UserSum == RealSum)
            {
                Console.WriteLine("Верно");
                return 1;
            }
            else
            {
                Console.WriteLine("Ошибка... верный ответ {0}", RealSum);
                return 2;
 
            }
        }
    }
}

Решение задачи: «Тренажер по математике: добавить возможность сохранения максимального счета в настройках»

textual
Листинг программы
    class Program
    {
        private static string path = @"Record.txt";
 
        static void Main()
        {
            Console.WriteLine("Интерактивный тренажер");
            int comm = -1;
            do
            {
                Console.WriteLine();
                Console.WriteLine("0. Выход\n1. Начать тест\n2. Рекорд");
                Console.Write("Выберитке функцию: ");
                try
                {
                    comm = Convert.ToInt32(Console.ReadLine());
                    switch (comm)
                    {
                        case 0:
                            break;
                        case 1:
                            mathTest();
                            break;
                        case 2:
                            Console.WriteLine("Рекорд: {0}", record());
                            break;
                        default:
                            Console.WriteLine("Вы вели неверное значение.");
                            break;
                    }
                }
                catch (Exception e)
                {
                    Console.WriteLine(e);
                }
            } while (comm != 0);
        }
 
        private static void mathTest()
        {
            //Создаем новую переменную типа Random
            //с ее помощью мы сможем генерировать случайные числа
            Random rnd = new Random();
            int score = 0;
            //Уровень 1: числа от 1 до 10
            score += Test(rnd.Next(1, 10), rnd.Next(1, 10));
            //Уровень 2: числа от 1 до 100 кратные 15
            score += Test(rnd.Next(1, 100) / 15 * 15, rnd.Next(1, 100) / 15 * 15);
            //Уровень 3: числа от 1 до 100
            score += Test(rnd.Next(1, 100), rnd.Next(1, 100));
            //Уровень 4: числа от -15 до 15
            score += Test(rnd.Next(-15, 0), rnd.Next(0, 15));
            //Уровень 5: числа от -200 до 200 кратные 5
            score += Test(rnd.Next(1, 200) / 5 * 5, rnd.Next(-200, 1) / 5 * 5);
            //Уровень 6: числа от 1 до 500 кратные 2
            score += Test(rnd.Next(1, 500) / 2 * 2, rnd.Next(1, 500) / 2 * 2);
            //Уровень 7: числа от 1 до 1000
            score += Test(rnd.Next(1, 1000), rnd.Next(1, 1000));
            //Уровень 8: числа от -500 до 500 
            score += Test(rnd.Next(-500, 1), rnd.Next(1, 500));
            //Уровень 9: числа от -1000 до 1000
            score += Test(rnd.Next(-1000, 1), rnd.Next(1, 1000));
            //Уровень 10: числа от -5000 до 5000
            score += Test(rnd.Next(1, 5000), rnd.Next(-5000, 1));
            Console.WriteLine("Вы набрали {0} очка", score);
 
            record(score);
        }
 
        private static int record()
        {
            int record = 0;
 
            if (File.Exists(path))
            {
                StreamReader sr = File.OpenText(path);
 
                try
                {
                    // считываем строку с файла
                    record = Convert.ToInt32(sr.ReadLine());
                }
                catch (Exception e)
                {
                    Console.WriteLine("Ошибка:\n{0}", e);
                }
                finally
                {
                    sr.Close();
                }
            }
            return record;
        }
 
        private static void record(int rec)
        {
            if (rec > record())
            {
                using (StreamWriter sw = new StreamWriter(path))
                {
                    sw.WriteLine(rec);
                    sw.Close();
                }
            }
        }
 
        private static int Test(int num1, int num2)
        {
            //Выводим на экран сообщение что надо найти сумму чисел...
            Console.Write("Введите сумму чисел {0} и {1}: ", num1, num2);
            //получаем ответ введенный пользователем...
            int UserSum = Convert.ToInt32(Console.ReadLine());
            //считаем правильный ответ...
            int RealSum = num1 + num2;
            //если ответ пользователя совпадает с верным...
            if (UserSum == RealSum)
            {
                Console.WriteLine("Верно");
                if (((num1 > 500) || (num2 > 500)) || ((num1 < -500) || (num2 < -500)))
                {
                    return 2;
                }
                else if (((num1 > 200) || (num2 > 200)) || ((num1 < -200) || (num2 < -200)))
                {
                    return 2;
                }
                else if (((num1 > 100) || (num2 > 100)) || ((num1 < -100) || (num2 < -100)))
                {
                    return 3;
                }
                else
                {
                    return 1;
                }
            }
            else
            {
                Console.WriteLine("Ошибка... верный ответ {0}", RealSum);
                return 0;
            }
        }
    }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.9 из 5
Похожие ответы