Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  5 1538
jeg skal lage en slags størrelse utregner, har to tekstbokser som skal plusses sammen og ut fra resultatet vil jeg at en tredje tekstboks skal gi en størrelse utifra om svaret er <> osv..jeg skal ha 5 forskjellige mulige svar. Nå sitter jeg helst fast, og det eneste jeg får til er at de første to tekstboksene plusses os svaret kommer i den tredje..
hvordan kan jeg få på en if her? noen tips.. er helt nybegynner i det her
Du får nok lettere hjelp her om du legger ved koden du har foreløpig. (bruk [code] [/ code]), og er litt mer spesifikk om hvilke problemer du har, feilmeldinger du får etc.
Sist endret av steili; 12. oktober 2017 kl. 17:53.
Trådstarter
3 0
beklager, jeg er helt ny i dette og da er det ikke så lett og forklare..

Kode

private void btnDiv_Click(object sender, EventArgs e)
{
      double numer1, numer2, results;
      number1 = Convert.ToDouble(txtNumber1.Text);
      number2 = Convert.ToDouble(txtNumer2.Text);
      results = numer1+number2;
      txtResult.Text = Convert.ToString(result);
jeg får ingen feilmelding på dette, men jeg ønsker og legge inn en if metode, da jeg ønsker at 1 av 5 mulige bokstaver skal komme som svar, ettersom summen av dette jeg har skrevet over..
Sist endret av Xasma; 12. oktober 2017 kl. 19:37.
Hva er det du vil ha i if-en?

Kode

private void btnDiv_Click(object sender, EventArgs e)
{
  double numer1, numer2, results;
  number1 = Convert.ToDouble(txtNumber1.Text);
  number2 = Convert.ToDouble(txtNumer2.Text);
  results = numer1+number2;
  if (results < 10) {
    txtResult.Text = "L";
  } else {
    txtResult.Text = Convert.ToString(result);
  }
}
Du kan gjøre noe lignende som dette.
Sist endret av Zepur; 12. oktober 2017 kl. 19:21.
Trådstarter
3 0
tusen tusen tusen takk for svar.
kan jeg ha begge disse under samme click event?
skal jeg sette dette over eller under det jeg har der fra før?
jeg har fem forskjellige if jeg skal ha med.. f.eks hvis summen blir mellom 0-50 så får jeg ut A og hvis den er fra 50-100 får jeg B osv..
Limited edition
Moff's Avatar
Dette kan helt fint være i samme click-event. Hensikten er at du erstatter den click-eventen du har fra før. Hvis du skal ha fem ulike conditions, så kan du bruke "else if".

Ut i fra den koden du har postet så kan vi se at du har opprettet en form som har 3 tekstbokser med disse navnene:
- txtNumber1
- txtNumer2 (ingen B her?)
- txtResult

Personlig så ville jeg ha lagt inn noe feilhåndtering for å hindre at programmet krasjer hvis du skriver inn noe som ikke er et tall i tekstboksene. Convert.ToDouble() vil feile hvis det havner vanlig tekst i boksene dine. Det vanligste måten å fange opp det på er å bruke en try/catch-statement. Du kan også gå over til å bruke en TryParse-metode (dette er sånn jeg pleier å gjøre det). Smak og behag.

I C# er det også vanlig å definere og assigne variabler i én statement. I koden din skriver du dette:

Kode

double numer1, numer2, results;
number1 = Convert.ToDouble(txtNumber1.Text);
number2 = Convert.ToDouble(txtNumer2.Text);
results = numer1+number2;
Hvis du vil assigne i samme statement som du definerer, så skriver du slik:

Kode

double number1 = Convert.ToDouble(txtNumber1.Text);
double number2 = Convert.ToDouble(txtNumer2.Text);
double results = numer1+number2;
Én linje kortere, og jeg synes dette formatet er lettere å lese.

Så til selve click-eventen din. Slik kan du sette det sammen:

Kode

private void btnDiv_Click(object sender, EventArgs e)
{
  try
  {
    double a = Convert.ToDouble(txtNumber1.Text);
    double b = Convert.ToDouble(txtNumer2.Text);
    double c = a + b;
	
	if (c < 0) { // Mindre enn 0
      txtResult.Text = "???";
    } else if(c >= 0 && c < 50) { // Fra 0 til 49
      txtResult.Text = "A";
    } else if(c >= 50 && c < 100) { // Fra 50 til 99
      txtResult.Text = "B";
    } else { // Fra 100 og oppover
      txtResult.Text = "C";
    }
  }
  catch(Exception) // Du kan også hente exception-objektet ved å skrive "Exception e" her, men siden jeg ikke bruker "e" til noe har jeg utelatt det.
  {
    txtResult.Text = "Error!";
    return;
  }
}