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";
}
}
}