poprawa programu

0

Potrzebuje zrobić program, który pobiera od użytkownika 2 liczby rzeczywiste(re1,re2) i 2 liczy urojone (im1,im2) odpowiednio je dodaje po przez funkcje Button i zamiast słowo (label)wynik wyświetla się np: 4+i3. Problem się zaczyna, gdy jedna liczba będzie dużo mniejsza od drugiej w sensie dodać np. 9 i 4. Wyskakuje wówczas 0 na miejscu gdzie powinien stać "+". Jest to spowodowane instrukcją "g.ToString()" na końcu programu. Widzi mi się, żeby ta zmienna służyła do pokazania "+" kiedy suma jest oczywiście dodatnia oraz "-" kiedy suma wyjdzie ujemna. Taki to warunek powinien być ? if (im1 != im2 && im2 < im1) .

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Numerics;

namespace liczby_zespolone1._2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        int re1, re2, im1, im2,g=0;
       
       Complex  z1, z2, wynik;
        void cd()
        {
          re1 = int.Parse(textBox1.Text);
            re2 = int.Parse(textBox2.Text);
            im1 = int.Parse(textBox3.Text);
            im2 = int.Parse(textBox4.Text);

            


                if (im1 != im2 && im2 < im1) {  }
                
            
        }

        

        private void button1_Click(object sender, EventArgs e)
        {
            cd();
            z1 = new Complex(re1, im1);
            z2 = new Complex(re2, im2);
            wynik = z1 + z2;
            
            


            

                    label1.Text=wynik.Real.ToString()+g.ToString()+wynik.Imaginary.ToString()+"i";
        }
    }
}


0
  1. int nie jest liczba rzeczywista
  2. Gdzie masz wyswietlanie plusa / minusa? przeciez wyswielasz tylko liczby...

1 użytkowników online, w tym zalogowanych: 0, gości: 1