- •Введение
- •Список вопросов, рассматриваемых в модуле 1.
- •Продемонстрированные в приложении особенности
- •Пример Mod1Ex4 (Инкапсуляция, обработка ошибок, наследование) Постановка задачи
- •Продемонстрированные в приложении особенности
- •Пример Mod1Ex5 (Полиморфизм)
- •Продемонстрированные в приложении особенности
- •Список вопросов, рассматриваемых в модуле 2.
- •Описание модельных примеров модуля 2. Пример Mod2Ex1 Постановка
- •Листинги примеров Пример Mod1Ex1
- •Пример Mod1Ex2
- •Пример Mod1Ex3
- •Пример Mod1Ex4
- •Пример Mod2Ex1
- •Пример Mod2Ex2
- •Пример Mod2Ex3
Листинги примеров Пример Mod1Ex1
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Windows.Forms;
namespace Module1Example
{
class Program
{
static void Main(string[] args)
{
bool fail = true;
string[] text = null;
Console.Clear();
Console.WriteLine("Введите имя файла: ");
while(fail)
{
try
{
string inputString = GetFileName();
text = ReadFromFile(inputString);
fail = false;
}
catch (Exception e)
{
Console.Clear();
Console.WriteLine("Error: "+e.Message);
Console.WriteLine("Такого файла нет в текущем каталоге, введите имя файла еще раз: ");
}
}
int vN, cN;
AnalyzeText(text, out vN, out cN);
Console.WriteLine("Гласных - {0}", vN);
Console.WriteLine("Согласных - {0}", cN);
}
/// <summary>
///
/// </summary>
/// <returns></returns>
static string GetFileName()
{
string str = Console.ReadLine();
return str;
}
/// <summary>
/// Считывает содержимое текстового файла в массив строк.
/// Файл должен находиться в каталоге, откуда запускается программа.
/// </summary>
/// <param name="fileName">fileName - имя файла</param>
/// <returns>массив строк, соответствующий строкам в тексте файла</returns>
static string[] ReadFromFile(string fileName)
{
StreamReader sr = new StreamReader(Application.StartupPath + "\\" + fileName);
List<string> strings = new List<string>();
string str;
while ((str = sr.ReadLine()) != null)
{
strings.Add(str);
}
string[] result = new string[strings.Count];
for (int i = 0; i < strings.Count; i++)
result[i] = strings[i];
return result;
}
/// <summary>
/// определяет количество гласных и согласных букв в тексте,
/// представленном массивом строк
/// </summary>
/// <param name="text"></param>
/// <param name="vowelNum">out-параметр - количество гласных</param>
/// <param name="consonantNum">out-параметр - количество согласных</param>
static void AnalyzeText(string[]text, out int vowelNum, out int consonantNum)
{
char[] vowels=new char[]{'a','e','i','o','u','y'};
vowelNum=0;
consonantNum=0;
foreach(string str in text)
{
foreach(char ch in str)
{
if (vowels.Contains<char>(ch))
vowelNum++;
else if(Char.IsLetter(ch))
consonantNum++;
}
}
}
}
}
