Gå til innhold

Anbefalte innlegg

Hei!

 

Har et programmeringsproblem her. Det eneste problemet er at jeg har null programmeringserfaring fra tidligere, og ikke har forutsetning til å klare oppgaven.

Hadde blitt svært takknemlig hvis noen der ute kunne vært så snille å hjelpe meg med denne.

 

Oppgaven er som følger:

 

Jeg skal definere den nedre og en øvre grense (f.eks. 10 og 90). I tillegg skal jeg generere et random heltall mellom 0 - 100. Denne verdiene skal så vises på skjermen. I tillegg skal det komme opp en tekstboks med tekst dersom verdien er under den nedre, eller over den øvre grensen.

 

Er det noen flinke programmeringssjeler der ute som kan hjelpe meg med dette?:)

Lenke til kommentar
Videoannonse
Annonse


Random random = new Random();
int randominteger = random(0,100)
txtrandomint.Text = Convert.ToString(randominteger);
if(randomint > 89)
txtlimit.Text = "Over øvre grense";
else if (random < 11)
txtlimit.Text = "Under nedre grense";
else
txtlimit.Text = "Innenfor grensene";

 

C# minner veldig om C og Java, så tenk slik syntax og deklarasjon.

 

Dette krever at du har objekter (helt konkret labels) som heter henholdsvis txtrandomint og txtlimit, men det satser jeg på at du skjønte.

 

Ellers kan det hente at System.Out.prinln() funker, men det har jeg aldri testet.

Endret av Lycantrophe
Lenke til kommentar

Takk takk!

 

Har forsøkt å lage programmet i Visual Basic C# Console Application, men fikk det ikke helt til. Mulig jeg må finne en annen funksjon for å printe ut tekstlinjene. Kanskje du vet om det er noen andre deler av Visual Basic som ville vært bedre å bruke? Har dessverre ikke noe annet programmeringsprogram tilgjengelig.

Lenke til kommentar

"Visual Basic C# Console Application"

 

Det er heldigvis ingenting som heter det. :p

Visual Basic og C# er to helt forskjellige programmeringsspråk. Det du benytter er nok heller Visual Studio, som er programmeringsmiljøet til både C# og Visual Basic. Visual Web Developer er en tredje ulikhet som du ikke bør blande inn i dette tilfellet.

 

Når det er sagt, så stemmer det som Lycantrophe sier; når du lager en Console Application har du ikke labels, og må benytte Console.WriteLine("tekst").

 

Lykke til!

 

EDIT: Du sier at du ikke har andre programmeringsprogrammer enn Visual Basic tilgjengelig (det skal forøvrig være "Visual Studio" her også). Det skal du heller ikke tenke på -- Visual Studio er det eneste "programmeringsprogrammet" for C#*.

Endret av Degeim
Lenke til kommentar

Protip: Post kompileringsfeilene, gjør det veldig mye lettere å spore feil.

 

Hehe, min feil! Skal gjøre det nå.

 

Du skal legge koden inne i main().

Koden er nøyaktig lik den du postet tidligere, bortsett fra at jeg har byttet ut textline med console.Writeline.

 

Her er feilmeldingene:

post-168811-23916_thumb.jpg

Endret av Sjefsgjogleren
Lenke til kommentar

Fint, her får du ut nøyaktig hva som er galt. :)

 

Koden min sa at du skulle skrive verdiene til en av parameterne til et objekt (det som het txtsomething). Nå skal vi derimot skrive rett ut, derfor gjør vi slik:

 

Random random = new Random();
int randominteger = random.Next(0, 100); //return random.Next(min, max) er syntax, min feil der.
Console.WriteLine(randominteger);
if(randomint > 89)
Console.WriteLine("Over øvre grense");
else if (random < 11)
Console.WriteLine("Over nedre grense");
else
Console.WriteLine("Innenfor grensene");

 

Prøv dette.

Endret av Lycantrophe
Lenke til kommentar

Det er lett, bare å deklarere variablene.

 

int ovre_grense = 89;

int nedre_grense = 11;

 

Så kan du selvsagt få andre ting til å forandre verdien på de igjen, og vi har et dynamisk program.

 

Ser første kompileringsfeilen der, den er min. Du må være konsekvent i iftestingen din, bruk det som heter randominteger.

 

int ovre_grense = 89;
int nedre_grense = 11;
Random random = new Random();
int randominteger = random.Next(0, 100); //return random.Next(min, max) er syntax, min feil der.
Console.WriteLine(randominteger);
if(randominteger > ovre_grense)
Console.WriteLine("Over øvre grense");
else if (randominteger < nedre_grense)
Console.WriteLine("Over nedre grense");
else
Console.WriteLine("Innenfor grensene");

Endret av Lycantrophe
Lenke til kommentar

Tusen takk, nå fungerte det flott!:D

 

Dessverre forsvant applikasjonen etter at den var avsluttet. Har du en funskjon etc. som gjør at den holder seg framme frem til jeg har trykt en tast eller lignende?

 

I tillegg hadde det vært fint om det f.eks. sto: 'SensorValue = ('det genererte tallet')'

Kan dette legges inn ved noe slik:

 

Console.WriteLine(SensorValue=randominteger);

Lenke til kommentar

Det problemet husker jeg fra jeg puslet med C for en tid tilbake. Det skjer fordi programmet nå har kjørt ferdig hovedprosedyren sin (main()) og er ferdig. Siden det ikke har mer å gjøre, og kjøres i en terminal, lukker det seg.

 

Du løser det ved å faktisk kjøre det fra en terminal (cmd.exe i windowsverden (urk), *nixbrukere er mer vant med å kalle programmer fra et shell). Nåvel, vi løser dette greit ved å legge på denne linjen på slutten:

 

Console.ReadKey(true);

 

Den samme linjen i C heter getch() (for hvilken som helst) eller getchar() for enter.

--

TROR hvertfall at dette skal funke.

 

Ang. det andre problemet ditt:

 

Console.WriteLine("SensorValue= "+randominteger);

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...