Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.04.2012, 20:15   #1
Rugrats
Новичок
Джуниор
 
Регистрация: 10.04.2012
Сообщений: 2
По умолчанию Задание по C#

Помогите плиз. Мне однин знакомый написал програмку, я правда не знаю что она делает, и хочу в этом разобраться, ибо преподователь требует от меня что бы я знал значение каждого символа. помогите пожалуйста написать на каждой строчке что она делает. Если её можно сократить то буду признателен

Код:
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;

namespace lab_9
{
    class Program
    {
        static void Main(string[] args)
        {
            #region start
            string str = " ";
            /// Буква А англійська !!!!!!!
            if (File.Exists("f1.txt") != true) //якщо файл не існує
            {
                StreamWriter ft = File.CreateText("f1.txt"); //Створення файлу
                // Запис в файл
                ft.WriteLine("Костя Константинов");
                ft.WriteLine("Костя Константинов");
                ft.WriteLine("Костя Константинов");
                ft.WriteLine("вапавпдчбмдсчьд вподвопд");
                ft.WriteLine("іакпкпм");
                ft.WriteLine("итривамбжвібжуб");
                ft.Close();
            }
            StreamReader f1 = new StreamReader("f1.txt"); // створення потоку читанння 1-го файлу
            Console.WriteLine("Мова Файлу Укр.");
            uint count_of_str = 0;/// Лічильник рядків
            while (true)
            {
                str = f1.ReadLine();
                if (str == null)
                {
                    f1.Close();
                    Console.WriteLine("В файлi " + count_of_str + " рядкiв");
                    break;
                }
                count_of_str++;
            }
            f1 = new StreamReader("f1.txt"); //  потоку читанння 1-го файлу
            StreamWriter f2 = new StreamWriter("f2.txt");// поток запису другого файлу
            UInt32 first = 0;
            UInt32 second = 0;
            while (true)
            {
                Console.WriteLine("Введiть №1");
                first = Convert.ToUInt32(Console.ReadLine());
                Console.WriteLine("Введiть №2");
                second = Convert.ToUInt32(Console.ReadLine());
                if (((first == 0) || (second == 0)) || ((first > count_of_str) || (second > count_of_str)))
                {
                    Console.WriteLine("Помилка вводу");
                }

Последний раз редактировалось ACE Valery; 10.04.2012 в 20:47.
Rugrats вне форума Ответить с цитированием
Старый 10.04.2012, 20:16   #2
Rugrats
Новичок
Джуниор
 
Регистрация: 10.04.2012
Сообщений: 2
По умолчанию Дополнение

Код:
else break;
            }
            uint count = 0;
            #endregion

            #region copy_to_f2
            count_of_str = 0;
            while (true)
            {
                str = f1.ReadLine(); // читання рядка
                if (str == null) // якщо досягнуто кінця фaйлу
                {
                    f1.Close();//закриття файлу
                    f2.Close();
                    break;
                }
                str = str.Trim();// Видалення пробілів в кінці та на початку
                count++;
                if ((count >= first) && (count <= second))// Якщо рядок входить в інтервал 
                {  
                        f2.WriteLine(str);
                        count_of_str++;
                }

            }
            Console.WriteLine("Скопійовано " + count_of_str + " рядків");
            #endregion

            #region find_A
            f1 = new StreamReader("f2.txt"); // створення потоку читанння файлу
            uint nam_str = 0;// Номер рядка з найбільшою кількістю 
            uint temp_length = 0;
            while (true)
            {
                str = f1.ReadLine(); // читання рядка
                if (str == null) // якщо досягнуто кінця фaйлу
                {
                    f1.Close();//закриття файлу
                    break;
                }
                temp_length = str_analiz(str);
                count_of_str = count_of_str + temp_length;
             }

            
            Console.WriteLine(count_of_str+" Приголосних букв в файлi f2" );
            #endregion
            Console.WriteLine("    ");
            Console.WriteLine("Press enter for exit");
            Console.Read();
        }



        static uint str_analiz(string temp_str)
        {
            int i = 0;
            uint count = 0;
            bool flag = true;
            temp_str = temp_str.ToLower();// нижній ригістр
            for (i = 0; i < temp_str.Length; i++) // пошук приголосних  в рядку
            {  
                if ((temp_str[i] >= 'а') && (temp_str[i] <= 'я'))
                {
                    flag = true;
                    #region perepor_bukv
                    switch (temp_str[i])
                    {
                        case 'а':
                            flag = false;
                            break;
                        case 'о':
                            flag = false;
                            break;
                        case 'у':
                            flag = false;
                            break;
                        case 'е':
                            flag = false;
                            break;
                        case 'и':
                            flag = false;
                            break;
                        case 'і':
                            flag = false;
                            break;
                        case 'я':
                            flag = false;
                            break;
                        case 'ю':
                            flag = false;
                            break;
                        case 'є':
                            flag = false;
                            break;
                        case 'ї':
                            flag = false;
                            break;
                    }
                    #endregion
                    if (flag == true)
                    {
                        count++;
                    }
                }

            }
            return count;
        }
    }
}

Последний раз редактировалось ACE Valery; 10.04.2012 в 20:47.
Rugrats вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задание по с++ den209isprog Помощь студентам 4 24.12.2011 14:44
Задание ДМИТРИЙ1234 Microsoft Office Excel 3 09.12.2011 17:18
Запутаное задание задание с массивом.Буду очень благодарен. Riko1 Общие вопросы C/C++ 2 22.10.2011 10:23
задание. Desert Паскаль, Turbo Pascal, PascalABC.NET 8 07.02.2011 16:04
Задание $ user570 Фриланс 3 15.06.2008 22:11