Sjefsgjogleren Skrevet 26. november 2010 Del Skrevet 26. november 2010 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
weebl Skrevet 26. november 2010 Del Skrevet 26. november 2010 Nå kan jeg ikke C# men i pseudokode blir jo dette noe som generer verdi mellom 0 og 100; lagre verdien i en variabel; if (variabel > 90) {print verdien er over 90}; elseif (variabel < 10) {print verdien er under 10}; print verdien; Lenke til kommentar
Sjefsgjogleren Skrevet 26. november 2010 Forfatter Del Skrevet 26. november 2010 Ja, jeg kom frem til noe liggnende selv. Problemet er at jeg ikke kan noenting i C#, har aldri vært borte i det- Vet derfor hverken hvor i koden ting skal legges, hvordan variabler skal deklareres eller noenting. Hadde derfor vært flott hvis noen kunne hjulpet med det! Lenke til kommentar
Lycantrophe Skrevet 26. november 2010 Del Skrevet 26. november 2010 (endret) 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 26. november 2010 av Lycantrophe Lenke til kommentar
Sjefsgjogleren Skrevet 26. november 2010 Forfatter Del Skrevet 26. november 2010 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
Lycantrophe Skrevet 26. november 2010 Del Skrevet 26. november 2010 Husker vi brukte Visual Web Developer på VGS (og programmerte kun for nett), så utover det, nei dessverre. Lite øyeblikk, så skal jeg søke litt. Lenke til kommentar
Lycantrophe Skrevet 26. november 2010 Del Skrevet 26. november 2010 Stemmer det, sånn var det i C#: Console.WriteLine("Welcome to the C# Station Tutorial!"); Lenke til kommentar
Degeim Skrevet 26. november 2010 Del Skrevet 26. november 2010 (endret) "Visual Basic C# Console Application" Det er heldigvis ingenting som heter det. 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 26. november 2010 av Degeim Lenke til kommentar
Sjefsgjogleren Skrevet 26. november 2010 Forfatter Del Skrevet 26. november 2010 Takk takk for god hjelp! Men, vet du hvor i koden jeg skal legge de ulike delene av programmeringen? Får feilmelding når jeg forsøker å kompilere applikasjonen. Lenke til kommentar
Lycantrophe Skrevet 26. november 2010 Del Skrevet 26. november 2010 (endret) Protip: Post kompileringsfeilene, gjør det veldig mye lettere å spore feil. Du skal legge koden inne i main(). Endret 26. november 2010 av Lycantrophe Lenke til kommentar
Sjefsgjogleren Skrevet 26. november 2010 Forfatter Del Skrevet 26. november 2010 (endret) 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: Endret 26. november 2010 av Sjefsgjogleren Lenke til kommentar
Lycantrophe Skrevet 26. november 2010 Del Skrevet 26. november 2010 (endret) 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 26. november 2010 av Lycantrophe Lenke til kommentar
Sjefsgjogleren Skrevet 26. november 2010 Forfatter Del Skrevet 26. november 2010 Takk takk! Nå tror jeg virkelig det nærmer seg her:) Et kjapt spørsmål bare: er det mulig å definere grensene i to variabler, istedenfor å skrive '> 89' så blir koden noe lignende '> ovre_grense', eller lignende? Fikk to feilmeldinger denne gangen: Lenke til kommentar
Lycantrophe Skrevet 26. november 2010 Del Skrevet 26. november 2010 (endret) 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 26. november 2010 av Lycantrophe Lenke til kommentar
Sjefsgjogleren Skrevet 26. november 2010 Forfatter Del Skrevet 26. november 2010 Tusen takk, nå fungerte det flott! 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
Lycantrophe Skrevet 26. november 2010 Del Skrevet 26. november 2010 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
Sjefsgjogleren Skrevet 26. november 2010 Forfatter Del Skrevet 26. november 2010 Takk takk takk!! Nå fungerte programmet akkurat som det skulle! Tusen takk for hjelpen! Lenke til kommentar
Lycantrophe Skrevet 26. november 2010 Del Skrevet 26. november 2010 Bare hyggelig. Noe i koden som er uklart får du bare si ifra! Lykke til videre. Lenke til kommentar
Sjefsgjogleren Skrevet 26. november 2010 Forfatter Del Skrevet 26. november 2010 Det skal jeg gjøre.! Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå