![c# Seznam forumov](templates/subSilver/images/logo_phpBB.gif) |
c# c#
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
seesharp Administrator foruma
Pridružen/-a: 27.06. 2017, 18:40 Prispevkov: 43
|
Objavljeno: 28 Jun 2017 11:08 Naslov sporočila: Vaja 7 - seznamLikov |
|
|
Aplikacija za prikaz podatkov v tabeli. V tabelo naključno vnesemo
podatke o elipsi. Razred elipsa vsebuje spremenljivke, ki predstavljajo njene polosi ter
metode za izračun ploščine, obsega, linearne ter numerične ekscentričnosti. Ob kliku na
gumb Vnos se bosta naključno izbrali vrednosti polosi (prikaz v tekstovnem oknu), ki se
bosta prenesli v novi objekt Elipsa, posamezne vrednosti pa se bodo zapisale v tabelo s
pomočjo gradnika DataGridView. Gradnik DataGridView ustrezno oblikujemo pred samim
zagonom aplikacije (dodamo stolpce in uredimo prikaz).
Nazadnje urejal/a seesharp 28 Jun 2017 11:47; skupaj popravljeno 1 krat |
|
Nazaj na vrh |
|
![](templates/subSilver/images/spacer.gif) |
seesharp Administrator foruma
Pridružen/-a: 27.06. 2017, 18:40 Prispevkov: 43
|
Objavljeno: 28 Jun 2017 11:09 Naslov sporočila: Razred Elipsa.cs |
|
|
RAZRED Elipsa.sc
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace seznamLikov
{
public class Elipsa
{
public double a, b; //polosi elipse
public Elipsa(double a, double b) //metoda za inicializacijo polosi konstruktor???
{
if (a>b)
{
this.a = a;
this.b = b;
}
else
{
this.a = b;
this.b = a;
}
}
public double Ploscina()
{
return (Math.Round((Math.PI * a * b), 2));
}
public static double Ploscina(double a, double b)
{
return (Math.Round((Math.PI * a * a), 2));
}
public double Obseg()
{
return (Math.Round(Math.PI*Math.Sqrt(2)*(Math.Pow(a,2) + Math.Pow(b,2)),2));
}
public double LinEks()
{
return (Math.Round(Math.Sqrt(Math.Pow(a, 2) - Math.Pow(b, 2)), 2));
}
public double NumEks()
{
return (Math.Round(LinEks() / a, 2));
}
}
} |
|
Nazaj na vrh |
|
![](templates/subSilver/images/spacer.gif) |
seesharp Administrator foruma
Pridružen/-a: 27.06. 2017, 18:40 Prispevkov: 43
|
Objavljeno: 28 Jun 2017 11:10 Naslov sporočila: |
|
|
Form1.cs:
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;
/*
*
*
* DODAJ NUMERICNO SORTIRANJE!
*
*/
namespace seznamLikov
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
int stVseh = 0; //likov skupaj
Random naklj = new Random(); //generator random st.
private void btVnos_Click(object sender, EventArgs e)
{
Elipsa elip = new Elipsa(naklj.Next(1, 11), naklj.Next(1, 11));
stVseh++;
textBox1.Text = Convert.ToString(elip.a);
textBox2.Text = Convert.ToString(elip.b);
//dodajanje nove vrstice podatkov v dataGridView:
dataGridView1.Rows.Add(Convert.ToString(elip.a),
Convert.ToString(elip.b),
Convert.ToString(elip.Ploscina()),
Convert.ToString(elip.Obseg()),
Convert.ToString(elip.LinEks()),
Convert.ToString(elip.NumEks()));
}
private void btNajvecjaPloscina_Click(object sender, EventArgs e)
{
double najv = 0, naja = 0, najb = 0, a, b, plosctmp = 0;
//int vrstic = dataGridView1.Rows.Count - 1;
int vrstic = dataGridView1.RowCount - 1;
for (int i = 0; i < vrstic; i++) //gremo čez celo tabelo
{
a = Convert.ToDouble(dataGridView1.Rows[i].Cells["a"].Value.ToString());
b = Convert.ToDouble(dataGridView1.Rows[i].Cells["b"].Value.ToString());
plosctmp = Convert.ToDouble(dataGridView1.Rows[i].Cells["ploscina"].Value.ToString());
if (plosctmp > najv) //najvecja ploscina?
{
najv = plosctmp;
naja = a;
najb = b;
}
}
MessageBox.Show("Najvecja elipsa ima polosi " + naja + " in " + najb);
}
//nerabimo:
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
}
}
} |
|
Nazaj na vrh |
|
![](templates/subSilver/images/spacer.gif) |
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu
|
|