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

203

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

Вложения

P

polishuchka

#4
Добавьте у классы фигур следующие методы (для круга и прямоугольника аналогично, с учетом их свойств):
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:);

}