Asp.net

Status
Niet open voor verdere reacties.

supermarr

Nieuwe gebruiker
Lid geworden
24 jun 2011
Berichten
2
Hallo, ik heb een enorm probleem. Ik moet een website maken (met ASP) waarin je 3 random getallen maakt en ze op de goede volgorde plaatst. Ik heb het geprobeerd, drie random getallen lukken ook nog wel. Het probleem komt bij het plaatsen in de goede volgorde (van groot naar klein). Ik weet niet hoe je dat moet doen bij de if-statements. Tot overmaat van ramp moet ik ook de resultaten afdrukken in een nieuw venster. Wie kan me hiermee helpen? De code tot nu toe is:


using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace opdracht6
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}

protected void Button1_Click(object sender, EventArgs e)
{
int hulp;

Random random1 = new Random();
double getal1;
getal1 = random1.Next(1, 101);

Random random2 = new Random();
double getal2;
getal2 = random2.Next(1, 101);

Random random3 = new Random();
double getal3;
getal3 = random3.Next(1, 101);

if (getal1 > getal2)
{
hulp = a;
getal1 = getal2;
getal2 = hulp;
}
if (b > c)
{
hulp = getal2;
getal2 = getal3;
getal3= hulp;
}
if (getal1 > getal2)
{
hulp = getal1;
getal1 = getal2;
getal2 = hulp;
}



}
}
}


Het gaat om de code die in het rood is, die klopt naar mijn weten niet echt. "Hulp" is nodig...Ik weet het niet. Help :(?
 
Mits het niet de opdracht is om het zelf handmatig te doen zou ik eerder iets als het onderstaande schrijven:

[cpp]
Random random = new Random();
List<int> list = new List<int>();

for (int i = 0; i < 3; i++)
list.Add(random.Next(1, 101));

list.Sort();
[/cpp]
 
Je moet het wel handmatig instellen met 3 getallen. Random lukt ook wel een beetje, het probleem is het afdrukken op een nieuwe scherm (nieuwe webpagina). Mijn code geeft 3 dezelfde cijfers...Oh ja, het sorteren gaat ook niet zo goed
 
Mijn excuses voor de late reactie, maar mocht je nog op zoek zijn naar een mogelijke oplossing:

Je zou een javascript functie kunnen toevoegen die de getallen sorteert en toont in een nieuw venster:

[cpp]
function Sort(x, y, z) {
var n;
if (x > y) { n = x; x = y; y = n; }
if (y > z) { n = y; y = z; z = n; }
if (x > y) { n = x; x = y; y = n; }

var w = window.open();

w.document.write("<html><head><title>Result</title></head><body><h1>Sorted values: " + x.toString() + ", " + y.toString() + ", " + z.toString() + "</h1></body></html>");
w.document.close();
}
[/cpp]

Vervolgens voeg je aan de *.aspx.cs een functie toe die de gewenste html genereert:

[cpp]
public string GenerateHtml()
{
Random r = new Random();

int r1 = r.Next(1, 101);
int r2 = r.Next(1, 101);
int r3 = r.Next(1, 101);

return (string.Format("<h1>Unsorted values: {0}, {1}, {2}</h1>", r1, r2, r3) +
string.Format("<input type=\"button\" value=\"Sort!\" name=\"sort\" onclick=\"Sort({0},{1},{2})\">", r1, r2, r3));
}
[/cpp]

Vervolgens hoef je alleen nog maar de gegenereerde html code aan je pagina toe te voegen in de *.aspx pagina:

[cpp]
<% Response.Write(GenerateHtml()); %>
[/cpp]

(webdev is niet mijn ding, dus wellicht dat het eenvoudiger/beter kan)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan