Нужно доработать проект, по выводу графика - C#

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

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

Приветствую. Мне нужно было написать приложение на C#, позволяющее строить график функции, находить интеграл и решать СЛАУ методом Гаусса по заданным табличным данным. Данные вводятся через текстовый файл. График должен выводится графически в форме. Я выполнил это задание, конечно же не сам.. И вот настало время дополнительного задания. 1) Реализовать настройку графика - смену цвета и начертания, например, изменение толщины или отображение пунктиром. 2) Использовать для графика такое же чтение данных, как и для остальных классов. Соответственно, в CreateGraph нужно будет в цикле заполнить PointPairList. Избавиться от передачи в конструкторы SLAY и INTEGRAL параметров System.IO.StreamReader _sr, System.Windows.Forms.RichTextBox _mon, System.Windows.Forms.RichTextBox _res. Прикладываю свой проект. Буду очень благодарен за любую помощь))

Решение задачи: «Нужно доработать проект, по выводу графика»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using ZedGraph;
 
namespace task
{
    public partial class Project : Form
    {
        private int mode;
        private ReadItem sample;
        bool CheckGraph;
        public double[,] matr = new double[50, 50];
        public int i = 0, k, strock, td = 2;
        public string s, str, st;
        public Project()
        {
            InitializeComponent();
            // Вывод подсказок при наведении на кнопки
            ToolTip t = new ToolTip();
            t.SetToolTip(SLAYButton, "Перейти к решению системы линейных алгебраических уравнений");
            t.SetToolTip(INTEGRALButton, "Перейти к решению интеграла");
            t.SetToolTip(GRAPHButton, "Перейти к построению графика");
            t.SetToolTip(OpenFileButton, "Открыть текстовый файл с данными");
            t.SetToolTip(SaveFileButton, "Сохранить результат в новый текстовый документ");
            t.SetToolTip(SolutionsButton, "Решить");
            t.SetToolTip(BackButton, "Назад");
            t.SetToolTip(InputBox, "Считанные из файла значения");
            t.SetToolTip(ResultBox, "Результат");
        }
        // При нажатие на кнопку СЛАУ
        private void SLAYButton_Click(object sender, EventArgs e)
        {
            OpenFileButton.Visible = true;
            SaveFileButton.Visible = true;
            SolutionsButton.Visible = true;
            SaveFileButton.Enabled = false;
            SolutionsButton.Enabled = false;
            ResultBox.Visible = true;
            GrafList.Visible = false;
            SLAYButton.Visible = false;
            INTEGRALButton.Visible = false;
            GRAPHButton.Visible = false;
            InputBox.Visible = true;
            BackButton.Visible = true;
            CheckGraph = false;
            mode = 1;
        }
        // При нажатие на кнопку Интеграл
        private void INTEGRALButton_Click(object sender, EventArgs e)
        {
            OpenFileButton.Visible = true;
            SaveFileButton.Visible = true;
            SolutionsButton.Visible = true;
            SaveFileButton.Enabled = false;
            SolutionsButton.Enabled = false;
            ResultBox.Visible = true;
            GrafList.Visible = false;
            SLAYButton.Visible = false;
            INTEGRALButton.Visible = false;
            GRAPHButton.Visible = false;
            InputBox.Visible = true;
            BackButton.Visible = true;
            CheckGraph = false;
            mode = 2;
        }
        // При нажатие на кнопку График
        private void GRAPHButton_Click(object sender, EventArgs e)
        {
            GraphPane myPane = GrafList.GraphPane;
            myPane.Title.Text = "ГРАФИК";
            OpenFileButton.Visible = true;
            SolutionsButton.Visible = false;
            ResultBox.Visible = false;
            SaveFileButton.Visible = false;
            SLAYButton.Visible = false;
            INTEGRALButton.Visible = false;
            GRAPHButton.Visible = false;
            GrafList.Visible = true;
            InputBox.Visible = true;
            BackButton.Visible = true;
            CheckGraph = true;
            mode = 3;
        }
        // При нажатие на кнопку Открыть файл
        private void OpenFileButton_Click(object sender, EventArgs e)
        {
            OpenFileDialog OpenFileDialog = new OpenFileDialog();
            OpenFileDialog.Filter = "txt files (*.txt)|*.txt";
            ResultBox.Text = "";
            if (OpenFileDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                if (CheckGraph)
                {
                    for (k = 0; k < 2; k++)
                    {
                        matr[i, k] = 0;
                    }
                    i++;
                    i = 0;
                    s = "";
                    PointPairList list = new PointPairList();
                    StreamReader sr = new StreamReader(OpenFileDialog.FileName);
                    //Считывем с файла
                    st = "";
                    while ((s = sr.ReadLine()) != null)
                    {
                        string[] split = s.Split(' ');
 
                        st = st + s + "\n";
                        InputBox.Text = ("X Y" + "\n" + st);
 
                        for (k = 0; k < 2; k++)
                        {
                            matr[i, k] = Int32.Parse(split[k]);
                        }
                        i++;
                    }
                    strock = i - 1;
                    sr.Close();
                    Graph gr = new Graph();
                    list.Clear();
                    for (i = 0; i <= strock; i++)
                    {
                        list.Add(matr[i, 0], matr[i, 1]);
                    }
                    gr.init(list);
                    gr.CreateGraph(GrafList);
                }
                else
                {
                    SolutionsButton.Enabled = true;
                    using (StreamReader sr = new StreamReader(File.Open(OpenFileDialog.FileName, FileMode.Open)))
                    {
                        if (mode == 1)
                            sample = new SLAY(sr, InputBox, ResultBox);
                        if (mode == 2)
                            sample = new INTEGRAL(sr, InputBox, ResultBox);
                        if (mode == 3)
                            sample = new Graph();
                        sample.Read(sr, InputBox);
                    }
                }
            }  
        }
        // При нажатие на кнопку Сохранить
        private void SaveFileButton_Click(object sender, EventArgs e)
        {
            SaveFileDialog SaveFileDialog = new SaveFileDialog();
            SaveFileDialog.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
            if (SaveFileDialog.ShowDialog() == DialogResult.OK)
            {
                StreamWriter mystr = new StreamWriter(SaveFileDialog.FileName.ToString());
                string myNewstr = ResultBox.Text;
                mystr.Write(myNewstr);
                mystr.Close();
            }
        }
        // При нажатие на кнопку Равенства
        private void SolutionsButton_Click(object sender, EventArgs e)
        {
            SaveFileButton.Enabled = true;
            sample.ShowData(ResultBox);
        }
        // При нажатие на кнопку Назад
        private void BackButton_Click(object sender, EventArgs e)
        {
            OpenFileButton.Visible = false;
            SaveFileButton.Visible = false;
            SolutionsButton.Visible = false;
            ResultBox.Visible = false;
            SLAYButton.Visible = true;
            INTEGRALButton.Visible = true;
            GRAPHButton.Visible = true;
            GrafList.Visible = false;
            BackButton.Visible = false;
            InputBox.Visible = false;
            InputBox.Text = "";
            ResultBox.Text = "";
            GrafList.GraphPane.CurveList.Clear();
            GrafList.AxisChange();
            GrafList.Invalidate();
            CheckGraph = false;
        }
        private void Project_Load(object sender, EventArgs e) { }
    }    
}

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


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

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

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