Выдает ошибку FormatException при отладке - C#

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

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

Выдает ошибку System.FormatException: "Входная строка имела неверный формат." И указывает на эту строку FileStream s = new FileStream("a.txt", FileMode.Open); в файле ''a'' прописано a=5.0; b=-3.0; c=-14.5; d=9.0; h=0.01;
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.IO;
  6. namespace ConsoleApp9
  7. {
  8. class Program
  9. {
  10. static double a = 0, b = 0, c = 0, d = 0;
  11. static void Main(string[] args)
  12. {
  13. double h = 0.01, x0 = -100, x1, xn = 100, x;
  14. double[] A = new double[30];
  15. int i = 0;
  16. string st;
  17. FileStream s = new FileStream("a.txt", FileMode.Open);
  18. StreamReader Re = new StreamReader(s);
  19. // Считывание из файла a,b,c,d;
  20. st = Re.ReadLine();
  21. a = Convert.ToDouble(st);
  22. Console.WriteLine("a= {0:f2}", a);
  23. st = Re.ReadLine();
  24. b = Convert.ToDouble(st);
  25. Console.WriteLine("b= {0:f2}", b);
  26. st = Re.ReadLine();
  27. c = Convert.ToDouble(st);
  28. Console.WriteLine("c= {0:f2}", c);
  29. st = Re.ReadLine();
  30. d = Convert.ToDouble(st);
  31. Console.WriteLine("d= {0:f2}", d);
  32. Console.WriteLine("Решение системы неравенств (x+b<0)&&(ax+b>=0)");
  33. Re.Close();
  34. s.Close();
  35. x = x0;
  36. A[0] = x0;
  37. while (x <= xn)
  38. {
  39. x1 = x + h;
  40. if (f(x) ^ f(x1))
  41. {
  42. i++;
  43. A[i] = x + h / 2;
  44. Console.WriteLine("i={0} при x={1:f3} система меняет характер выполнения", i, A[i]);
  45. }
  46. x += h;
  47. }
  48. A[i + 1] = xn;
  49. for (int j = 0; j < i + 1; j++)
  50. {
  51. if (f(A[j] + h / 2))
  52. {
  53. Console.WriteLine("Система неравенств верна на промежутке [{0:f3} ; {1:f3}]", A[j], A[j + 1]);
  54. }
  55. else
  56. {
  57. Console.WriteLine("Система неравенств неверна на промежутке [{0:f3} ; {1:f3}]", A[j], A[j + 1]);
  58. }
  59. }
  60. Console.ReadLine();
  61. }
  62. static bool f(double x)
  63. {
  64. bool z1 = x + b < 0;
  65. bool z2 = a * x + b >= 0;
  66. if (z1 && z2)
  67. return true;
  68. else
  69. return false;
  70. }
  71. }
  72. }

Решение задачи: «Выдает ошибку FormatException при отладке»

textual
Листинг программы
  1. a = Convert.ToDouble(st);

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


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

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

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

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

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

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