Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пенко Методпособие к лаб по курсу ПО ЭВМ 2 курс...docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
145 Кб
Скачать
☆

Листинги примеров Пример 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++;

}

}

}

}

}