Выдает ошибку 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;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
 
namespace ConsoleApp9
{
    class Program
    {
        static double a = 0, b = 0, c = 0, d = 0;
        static void Main(string[] args)
        {
            double h = 0.01, x0 = -100, x1, xn = 100, x;
            double[] A = new double[30];
            int i = 0;
            string st;
            FileStream s = new FileStream("a.txt", FileMode.Open);
            StreamReader Re = new StreamReader(s);
            // Считывание из файла a,b,c,d;
            st = Re.ReadLine();
            a = Convert.ToDouble(st);
            Console.WriteLine("a= {0:f2}", a);
            st = Re.ReadLine();
            b = Convert.ToDouble(st);
            Console.WriteLine("b= {0:f2}", b);
            st = Re.ReadLine();
            c = Convert.ToDouble(st);
            Console.WriteLine("c= {0:f2}", c);
            st = Re.ReadLine();
            d = Convert.ToDouble(st);
            Console.WriteLine("d= {0:f2}", d);
            Console.WriteLine("Решение системы неравенств (x+b<0)&&(ax+b>=0)");
            Re.Close();
            s.Close();
            x = x0;
            A[0] = x0;
            while (x <= xn)
            {
                x1 = x + h;
                if (f(x) ^ f(x1))
                {
                    i++;
                    A[i] = x + h / 2;
                    Console.WriteLine("i={0} при x={1:f3} система меняет характер выполнения", i, A[i]);
                }
                x += h;
            }
            A[i + 1] = xn;
            for (int j = 0; j < i + 1; j++)
            {
                if (f(A[j] + h / 2))
                {
                    Console.WriteLine("Система неравенств верна на промежутке [{0:f3} ; {1:f3}]", A[j], A[j + 1]);
                }
                else
                {
                    Console.WriteLine("Система неравенств неверна на промежутке [{0:f3} ; {1:f3}]", A[j], A[j + 1]);
                }
            }
            Console.ReadLine();
        }
        static bool f(double x)
        {
            bool z1 = x + b < 0;
            bool z2 = a * x + b >= 0;
            if (z1 && z2)
                return true;
            else
                return false;
        }
    }
}

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

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

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


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

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

15   голосов , оценка 4.133 из 5
Похожие ответы