у меня есть код в... - вопрос №941929

у меня есть код в котором только одна ошибка и я никак не могу ее исправить… Спасибо за помощь. using System;

using System;<br />using System.Collections.Generic;<br />using System.Linq;<br />using System.Text;<br />using System.IO; <br /><br />namespace Shifrovanie_Cezar<br />{<br /> class Program<br /> {<br /> <br />static void Main()<br /> {<br /> //Цикл для повтора задачи<br /> <br /> do<br /> { <br /> string path = @"C:\Test.txt";<br /> //Переменная выбора шифрования/дешифрования<br /> uint k = 0;<br /> //Строка, к которой применяется шифрованияе/дешифрование<br /> string s = "";<br /> //Строка — результат шифрования/дешифрования<br /> string result = "";<br /> //Величина сдвига при шифровании/дешифровании<br /> uint shift;<br /> //Вывод сообщения на экран<br /> Console.WriteLine("Введите 1 для шифрования или 2 для дешифрования");<br /> //Считывание переменной выбора, пока она не станет равной 1 или 2<br /> while ((k != 1) && (k != 2))<br /> {<br /> //Считывание переменной k, если введенные данные имеют тип uint<br /> uint.TryParse(Console.ReadLine(), out k);<br /> //Вывод сообщения об ошибке, если k != 1 или k != 2<br /> if ((k != 1) && (k != 2))<br /> Console.WriteLine("Ошибка ввода, повторите попытку");<br /> }<br /> //Вывод сообщения на экран<br /> Console.WriteLine("Введите величину сдвига");<br /> //Считывние величины сдвига<br /> while (!uint.TryParse(Console.ReadLine(), out shift))<br /> {<br /> //Если введена неверная величина сдвига (отрицательное число, или не число)<br /> Console.WriteLine("Ошибка ввода, повторите попытку");<br /> }<br /> //Если величина сдвига больше длины алфавита кирилицы<br /> if (shift > 32)<br /> shift = shift % 32;<br /> //Если выбрано шифрование<br /> if (k == 1)<br /> { <br /> //Вывод сообщения на экран<br /> Console.WriteLine("Строка считывается из файла!");<br /> //Считывание строки<br /> s = File.ReadAllText(path, Encoding.Default);<br /> //Выполение шифрования<br /> //Цикл по каждому символу строки<br /> for (int i = 0; i < s.Length; i++)<br /> {<br /> //Если не кириллица<br /> if (((int)(s[i]) < 1040)||((int)(s[i])>1103))<br /> result += s[i];<br /> //Если буква является строчной<br /> if ((Convert.ToInt16(s[i]) >= 1072) && (Convert.ToInt16(s[i]) {<br /> //Если буква, после сдвига выходит за пределы алфавита<br /> if (Convert.ToInt16(s[i]) + shift > 1103)<br /> //Добавление в строку результатов символ<br /> result += Convert.ToChar(Convert.ToInt16(s[i]) + shift — 32);<br /> //Если буква может быть сдвинута в пределах алфавита<br /> else<br /> //Добавление в строку результатов символ<br /> result += Convert.ToChar(Convert.ToInt16(s[i]) + shift);<br /> }<br /> //Если буква является прописной<br /> if ((Convert.ToInt16(s[i]) >= 1040) && (Convert.ToInt16(s[i]) {<br /> //Если буква, после сдвига выходит за пределы алфавита<br /> if (Convert.ToInt16(s[i]) + shift > 1071)<br /> //Добавление в строку результатов символ<br /> result += Convert.ToChar(Convert.ToInt16(s[i]) + shift — 32);<br /> //Если буква может быть сдвинута в пределах алфавита<br /> else<br /> //Добавление в строку результатов символ<br /> result += Convert.ToChar(Convert.ToInt16(s[i]) + shift);<br /> }<br /> }<br /> //Вывод на экран зашифрованной строки<br /> Console.WriteLine("Строка успешно зашифрована!");<br /> Console.WriteLine(result);<br /> }<br /> //Если было выбрано дешифрование<br /> if (k == 2)<br /> {<br /> //Вывод сообщения на экран<br /> Console.WriteLine("Строка считывается из файла!");<br /> //Считывание строки<br /> s = File.ReadAllText(path, Encoding.Default);<br /> Time.Start();<br /> //Выполение дешифрования<br /> //Цикл по каждому символу строки<br /> for (int i = 0; i < s.Length; i++)<br /> {<br /> if (Convert.ToInt16(s[i]) == 32)<br /> result += ' ';<br /> //Если буква является строчной<br /> if ((Convert.ToInt16(s[i]) >= 1072) && (Convert.ToInt16(s[i]) {<br /> //Если буква, после сдвига выходит за пределы алфавита<br /> if (Convert.ToInt16(s[i]) — shift < 1072)<br /> //Добавление в строку результатов символ<br /> result += Convert.ToChar(Convert.ToInt16(s[i]) — shift + 32);<br /> //Если буква может быть сдвинута в пределах алфавита<br /> else<br /> //Добавление в строку результатов символ<br /> result += Convert.ToChar(Convert.ToInt16(s[i]) — shift);<br /> }<br /> //Если буква является прописной<br /> if ((Convert.ToInt16(s[i]) >= 1040) && (Convert.ToInt16(s[i]) {<br /> //Если буква, после сдвига выходит за пределы алфавита<br /> if (Convert.ToInt16(s[i]) — shift < 1040)<br /> //Добавление в строку результатов символ<br /> result += Convert.ToChar(Convert.ToInt16(s[i]) — shift + 32);<br /> //Если буква может быть сдвинута в пределах алфавита<br /> else<br /> //Добавление в строку результатов символ<br /> result += Convert.ToChar(Convert.ToInt16(s[i]) — shift);<br /> }<br /> }<br /> //Вывод на экран дешифрованной строки<br /> Console.WriteLine("Строка успешно дешифрована!");<br /> Console.WriteLine(result);<br /> }<br /> Console.WriteLine("Для выхода из программы нажмите Escape");<br /> } while (Console.ReadKey(true).Key != ConsoleKey.Escape);<br /> }<br /> }<br />}
05.02.14
1 ответ

Ответы

я специализируюсь на C#

если Вы потрудитесь предостаить код в читаемом виде, я я с удовольствием Вас проконсультирую

07.02.14

Глеб Черняк

Читать ответы

Олег Николаевич

Читать ответы

Alexander

Читать ответы
Посмотреть всех экспертов из раздела Технологии
Пользуйтесь нашим приложением Доступно на Google Play Загрузите в App Store