Чтение Информации Из Файла

Тема в разделе ".NET", создана пользователем 203, 9 янв 2013.

  1. 203

    203 New Member

    Регистрация:
    21 фев 2012
    Сообщения:
    4
    Симпатии:
    0
    Здравствуйте. У меня есть программа которая находит периметр и площадь круга, треугольника. Но я не могу написать код для того чтобы можно было прочитать информацию из файла вида
    krug
    7
    treyg
    4
    4
    6
    pram
    5
    3
    Вот то что написал. Посмотреть вложение ConsoleApplication1.rar
    Помогите пожалуйста с чтением. Заранее спасибо.
     
  2. -master-

    -master- Well-Known Member

    Регистрация:
    14 янв 2012
    Сообщения:
    629
    Симпатии:
    18
    seriaization используйте
     
  3. a0z

    a0z Well-Known Member

    Регистрация:
    15 мар 2011
    Сообщения:
    109
    Симпатии:
    0
    StreamReader
     
  4. polishuchka

    polishuchka Гость

    Добавьте у классы фигур следующие методы (для круга и прямоугольника аналогично, с учетом их свойств):
    public override string ToString()
    {
    return "treyg: " + s.ToString() + ", " + k.ToString() + ", " + b.ToString();
    }

    public void ReadTreyg(StreamReader sr)
    {
    s = Convert.ToInt32(sr.ReadLine());
    k = Convert.ToInt32(sr.ReadLine());
    s = Convert.ToInt32(sr.ReadLine());
    }
    В program.cs такой текст:
    string sdir = Directory.GetCurrentDirectory();
    sNameFile = sdir + @"\GeometrychniFigury.txt";
    treyg t1n ;
    Kryg k1n ;
    pram p1n;
    StreamReader sr = new StreamReader(sNameFile);
    while (sr.Peek() >= 0) // Зчитуємо рядки допоки вони є у файлі
    {
    string s = sr.ReadLine();
    if (s == "treyg")
    {
    t1n = new treyg(0, 0, 0);
    t1n.ReadTreyg(sr);
    Console.WriteLine(t1n.ToString ());
    }
    if (s == "kryg")
    {
    k1n = new Kryg(0);
    k1n.ReadKryg(sr);
    Console.WriteLine(k1n.ToString ());
    }
    if (s == "pram")
    {
    p1n = new pram(0, 0);
    p1n.ReadPram(sr);
    Console.WriteLine(p1n.ToString ());
    }

    }
    Console.ReadKey();
    Для треугольника :
    public override double ploshad()
    {
    // Площадь треугольника через периметр:
    double p=(s+k+:KillMe:/2.0;
    return Math.Sqrt(p * (p - s) * (p - k) * (p - :angry:);

    }
     
Загрузка...

Поделиться этой страницей