Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Linq;
- namespace Trening_letter
- {
- internal class Program
- {
- static void Main(string[] args)
- {
- string text;
- string errorLetters = "";
- char letter;
- int letterIsEntered = 0;
- bool IsFalseEntered = false;
- bool isOpen = true;
- bool notIsAllEntered = true;
- while (isOpen)
- {
- Console.Write("Вставьте скопированный текст: ");
- text = Console.ReadLine(); //съешь же еще этих мягких французских булок да выпей чаю
- while (notIsAllEntered)
- {
- Console.Clear();
- for (int i = 0; i < letterIsEntered; i++)
- {
- TrueColor(text[i]);
- }
- if (IsFalseEntered)
- {
- ErrorColor(text[letterIsEntered]);
- for (int i = letterIsEntered + 1; i < text.Length; i++)
- {
- Console.Write(text[i]);
- }
- }
- else
- {
- for (int i = letterIsEntered; i < text.Length; i++)
- {
- Console.Write(text[i]);
- }
- }
- letter = Console.ReadKey().KeyChar;
- if (letter == text[letterIsEntered])
- {
- letterIsEntered++;
- IsFalseEntered = false;
- }
- else if(IsFalseEntered == false)
- {
- IsFalseEntered = true;
- errorLetters += text[letterIsEntered];
- }
- if (letterIsEntered == text.Length)
- {
- notIsAllEntered = false;
- isOpen = false;
- }
- }
- Console.WriteLine($"\nОшибки: {errorLetters}");
- Dictionary<char, int> map = new();
- foreach (char c in errorLetters)
- {
- if (map.ContainsKey(c))
- map[c]++;
- else
- map[c] = 1;
- }
- foreach (var pair in map)
- {
- Console.WriteLine($"{pair.Key} = {pair.Value}");
- }
- }
- static void ErrorColor(char letter)
- {
- Console.ForegroundColor = ConsoleColor.Red;
- Console.Write(letter);
- Console.ForegroundColor = ConsoleColor.White;
- }
- static void TrueColor(char letter)
- {
- Console.ForegroundColor = ConsoleColor.Green;
- Console.Write(letter);
- Console.ForegroundColor = ConsoleColor.White;
- }
- }
- }
- }
Add Comment
Please, Sign In to add comment