Dr_Max_Experience

Letter errors statistic

Jul 14th, 2022 (edited)
172
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.18 KB | None | 0 0
  1. using System;
  2. using System.Linq;
  3.  
  4. namespace Trening_letter
  5. {
  6.     internal class Program
  7.     {
  8.         static void Main(string[] args)
  9.         {
  10.             string text;
  11.             string errorLetters = "";
  12.             char letter;
  13.             int letterIsEntered = 0;
  14.             bool IsFalseEntered = false;
  15.  
  16.             bool isOpen = true;
  17.             bool notIsAllEntered = true;
  18.  
  19.             while (isOpen)
  20.             {
  21.                 Console.Write("Вставьте скопированный текст: ");
  22.                 text = Console.ReadLine(); //съешь же еще этих мягких французских булок да выпей чаю
  23.  
  24.                 while (notIsAllEntered)
  25.                 {
  26.                     Console.Clear();
  27.  
  28.                     for (int i = 0; i < letterIsEntered; i++)
  29.                     {
  30.                         TrueColor(text[i]);
  31.                     }
  32.  
  33.                     if (IsFalseEntered)
  34.                     {
  35.                         ErrorColor(text[letterIsEntered]);
  36.  
  37.                         for (int i = letterIsEntered + 1; i < text.Length; i++)
  38.                         {
  39.                             Console.Write(text[i]);
  40.                         }
  41.                     }
  42.                     else
  43.                     {
  44.                         for (int i = letterIsEntered; i < text.Length; i++)
  45.                         {
  46.                             Console.Write(text[i]);
  47.                         }
  48.                     }
  49.  
  50.                     letter = Console.ReadKey().KeyChar;
  51.  
  52.                     if (letter == text[letterIsEntered])
  53.                     {
  54.                         letterIsEntered++;
  55.                         IsFalseEntered = false;
  56.                     }
  57.                     else if(IsFalseEntered == false)
  58.                     {
  59.                         IsFalseEntered = true;
  60.                         errorLetters += text[letterIsEntered];
  61.                     }
  62.  
  63.                     if (letterIsEntered == text.Length)
  64.                     {
  65.                         notIsAllEntered = false;
  66.                         isOpen = false;
  67.                     }
  68.                 }
  69.  
  70.                 Console.WriteLine($"\nОшибки: {errorLetters}");
  71.  
  72.                 Dictionary<char, int> map = new();
  73.  
  74.                 foreach (char c in errorLetters)
  75.                 {
  76.                     if (map.ContainsKey(c))
  77.                         map[c]++;
  78.                     else
  79.                         map[c] = 1;
  80.                 }
  81.  
  82.                 foreach (var pair in map)
  83.                 {
  84.                     Console.WriteLine($"{pair.Key} = {pair.Value}");
  85.                 }
  86.             }
  87.  
  88.             static void ErrorColor(char letter)
  89.             {
  90.                 Console.ForegroundColor = ConsoleColor.Red;
  91.                 Console.Write(letter);
  92.                 Console.ForegroundColor = ConsoleColor.White;
  93.             }
  94.  
  95.             static void TrueColor(char letter)
  96.             {
  97.                 Console.ForegroundColor = ConsoleColor.Green;
  98.                 Console.Write(letter);
  99.                 Console.ForegroundColor = ConsoleColor.White;
  100.             }
  101.         }
  102.     }
  103. }
Add Comment
Please, Sign In to add comment