Работа с двоичными файлами - C#

Узнай цену своей работы

Формулировка задачи:

Создать файл и записать в него вещественные числа из диапазона от a до b с шагом h. Дана последовательность из n вещественных чисел. Записать все эти числа в файл. Вывести на экран все компоненты файла с четными номерами, меньшие заданного числа.
Листинг программы
  1. using System;
  2. using System.Text;
  3. using System.IO;
  4. namespace MyProgram
  5. {
  6. class Program
  7. {
  8. static void Main()
  9. {
  10. Console.Write("a= ");
  11. double a = double.Parse(Console.ReadLine());
  12. Console.Write("b= ");
  13. double b = double.Parse(Console.ReadLine());
  14. Console.Write("h= ");
  15. double h = double.Parse(Console.ReadLine());
  16. Console.Write("заданное число= ");
  17. double q = double.Parse(Console.ReadLine());
  18. //Записываем в файл text.txt вещественные числа из заданного диапазона
  19. FileStream f = new FileStream("text.txt", FileMode.Open);
  20. BinaryWriter fOut = new BinaryWriter(f);
  21. for (double i = a; i <= b; i += h)
  22. {
  23. fOut.Write(i); ;
  24. }
  25. fOut.Close();
  26. //Объекты f и fIn связаны с одним и тем же файлом
  27. f = new FileStream("text.txt", FileMode.Open);
  28. BinaryReader fIn = new BinaryReader(f);
  29. long m = f.Length; //определяем количество байт в потоке
  30. //Читаем данные из файла text.txt начиная с элемента с номером 1, т.е с 8 байта,
  31. //перемещая внутренний указатель на 16 байт, т.е. на два вещественных числа
  32. for (long i = 8; i < m; )
  33. {
  34. if (fIn.ReadDouble() < q)
  35. {
  36. f.Seek(2 * i, SeekOrigin.Begin);
  37. a = fIn.ReadDouble();
  38. Console.Write("{0:f2} ", a);
  39. i += 8;
  40. }
  41. }
  42. fIn.Close();
  43. f.Close();
  44. Console.ReadKey();
  45. }
  46. }
  47. }
Выводит слишком много лишнего мне кажется, должен выводить только до указанного значения, в чём ошибка?

Решение задачи: «Работа с двоичными файлами»

textual
Листинг программы
  1. FileStream f = new FileStream(@"e:\text.txt", FileMode.Create);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут