• Välkommen till ett uppdaterat Klocksnack.se

    Efter ett digert arbete är nu den största uppdateringen av Klocksnack.se någonsin klar att se dagens ljus.
    Forumet kommer nu bli ännu snabbare, mer lättanvänt och framför allt fyllt med nya funktioner.

    Vi har skapat en tråd på diskussionsdelen för feedback och tekniska frågeställningar.

    Tack för att ni är med och skapar Skandinaviens bästa klockforum!

    /Hook & Leben

Programmering mm.

Torsten

Vacheron
2-Faktor
Hmm, ok. Låter ju självklart. Då är frågan. Hur fasen får man till ett felmeddelandd som säger personen inte använt siffor och läser om just den raden. Typ: if, if else?

Haha blir yr. Kan ingen komma med konkret kod exempel :D så jagslipper gissa ;)
Nu kan jag inte ditt språk men något i stil med:

if isNumeric(ålder) and ålder > 0 then
beräkna
else
Console.WriteLine("Du måste ange din ålder med siffror, ditt nöt!")
end if
 

Widowmaker

Audemars
2-Faktor
Ska nog köra med pensionen som ett fast värde: 65

Sen lägga till if

Ålder < 65
Skriv ut 65 -ålder "kvar till pension"

Else if ålder > 65
Skriv ut "grattis du har redan gått i pension"

Else ålder == siffra? Numeric? Vad skrivs?
Skriv ut " du måste ange ålder med siffror"

Cyklar jag?
 

Bottega

Cartier
Ska nog köra med pensionen som ett fast värde: 65

Sen lägga till if

Ålder < 65
Skriv ut 65 -ålder "kvar till pension"

Else if ålder > 65
Skriv ut "grattis du har redan gått i pension"

Else ålder == siffra? Numeric? Vad skrivs?
Skriv ut " du måste ange ålder med siffror"

Cyklar jag?

Inte det du är ute efter men kunde inte låta bli :) kodat med Python.
age = 64
if age < 65:
print 'Du har 1 år kvar till pension.'
elif age > 65:
print 'Grattis, du är pensionär.'
else:
print 'Kröka?'

:D
 

Widowmaker

Audemars
2-Faktor

Widowmaker

Audemars
2-Faktor
Provat hundra saker i tre timmar nu ...
får det fan inte att funka..

Skiter sig när jag skriver annat än siffror. . får den inte att varken fråga igen eller gå vidare. kraschar.

Lyckas få till att den ger olika svar beroende på om man är över eller under 65.men dats it.
 

Tomas Eriksson

Vacheron
Pledge Member
2-Faktor
Provat hundra saker i tre timmar nu ...
får det fan inte att funka..

Skiter sig när jag skriver annat än siffror. . får den inte att varken fråga igen eller gå vidare. kraschar.

Lyckas få till att den ger olika svar beroende på om man är över eller under 65.men dats it.
Handen på hjärtat, hur mycket har du verkligen studerat för den där kursen?
Jag vill inte vara elak, men jag tycker det är moraliskt fel att ge dig svaret på din tenta. Du har fått rätt vägledande och bra svar innan.
 

Widowmaker

Audemars
2-Faktor
Nu har jag fått till det som jag vill. FÖRUTOM att den ska ställa frågan om ålder med siffror igen om man anger den med tecken eller bokstäver. FÅR inte till det.. PLS help.....





//Enkelt program som frågar efter namn och räknar ut år kvar till pension.

Console.Write("Skriv in ditt Förnamn: "); //frågar efter Förnamn
string namn = Console.ReadLine();

Console.Write("Skriv in ditt efternamn: "); //frågar efter Efternamn
string efternamn = Console.ReadLine();

string heltnamn = "Hej " + namn + " " + efternamn; // SKriver ut fullständigt namn.
Console.WriteLine(heltnamn);



Console.Write("Skriv din ålder med siffror:"); //frågar efter ålder
string år = Console.ReadLine();
int ålder = Convert.ToInt32(år);

if ( ålder < 65)
{
Console.WriteLine("Du har " + (65 - ålder) + " år kvar till pension, jobba på!!"); //skriver ut hur många år du har kvar till pension
Console.ReadLine();
}
else if ( ålder >= 65)
{

Console.WriteLine("Grattis du har redan gått i pension"); // berättar att du är över 65 och redan har gått i pension
Console.ReadLine();
}

DENNA:---> jag inte får till... pls help. :D
else (int n;
bool isNumeric = int.TryParse("123", out n));
Console.WriteLine
 

Widowmaker

Audemars
2-Faktor
Handen på hjärtat, hur mycket har du verkligen studerat för den där kursen?
Jag vill inte vara elak, men jag tycker det är moraliskt fel att ge dig svaret på din tenta. Du har fått rätt vägledande och bra svar innan.


det är ingen tenta. det är min första inlämningsuppgift, ska vara inne innan 00:00 inatt. haha inte haft tid pga. annat.. och denna bedöms inte särskilt då man kan fuska och skriva av direkt ifrån nätet. men vill ej göra det utan att förstå varför då jag sedan ska koda på plats inför min lärare,, u get it :)
 

Hoarz

Cartier
2-Faktor
Har ni lärt er loopar? Du bör använda en while-loop. Då det inte verkar ingå i uppgiften kan jag visa ett exempel.

Källkod:
private static int GetAge()
{
    var isNumeric = false;
    var age = 0;

    while(!isNumeric)
    {
        Console.Write("Ange din ålder i siffror: ");
        var input = Console.ReadLine();

        isNumeric = Int32.TryParse(input, out age);
    }

    return age;
}
 

Widowmaker

Audemars
2-Faktor
Har ni lärt er loopar? Du bör använda en while-loop. Då det inte verkar ingå i uppgiften kan jag visa ett exempel.

Källkod:
private static int GetAge()
{
    var isNumeric = false;
    var age = 0;

    while(!isNumeric)
    {
        Console.Write("Ange din ålder i siffror: ");
        var input = Console.ReadLine();

        isNumeric = Int32.TryParse(input, out age);
    }

    return age;
}


jag ska använda loop men inte i denna uppgift. Men kanske måste det får att få den att inte krascha om annat än siffra anges vid frågan om ålder? eller kan jag på något vis få den att skriva ut: Med siffror sa jag! om man skriver ett tecken, bokstav istället för siffra i den frågan? samt att den efter det går tillbaka till frågan om ålder?
Försöker tyda din kod och fattar ungefär vad den gör men har ej använt flera av de metoderna. så frågan är om det finns något simpelt vis att få den att göra det jag vill?

ex:
catch (Exception e) { Console.WriteLine("Du måste skriva en siffra!"); } ??? något sådant?? är helt lost nu, haha vill bara få till denna sista del sen är första delen klar och jag kan börja med nästa :D
 

Mike

Cartier
Ett tips är att få in att skriva alla variabel-namn samt kommentarer på engelska redan från början.


Nu har jag fått till det som jag vill. FÖRUTOM att den ska ställa frågan om ålder med siffror igen om man anger den med tecken eller bokstäver. FÅR inte till det.. PLS help.....





//Enkelt program som frågar efter namn och räknar ut år kvar till pension.

Console.Write("Skriv in ditt Förnamn: "); //frågar efter Förnamn
string namn = Console.ReadLine();

Console.Write("Skriv in ditt efternamn: "); //frågar efter Efternamn
string efternamn = Console.ReadLine();

string heltnamn = "Hej " + namn + " " + efternamn; // SKriver ut fullständigt namn.
Console.WriteLine(heltnamn);



Console.Write("Skriv din ålder med siffror:"); //frågar efter ålder
string år = Console.ReadLine();
int ålder = Convert.ToInt32(år);

if ( ålder < 65)
{
Console.WriteLine("Du har " + (65 - ålder) + " år kvar till pension, jobba på!!"); //skriver ut hur många år du har kvar till pension
Console.ReadLine();
}
else if ( ålder >= 65)
{

Console.WriteLine("Grattis du har redan gått i pension"); // berättar att du är över 65 och redan har gått i pension
Console.ReadLine();
}

DENNA:---> jag inte får till... pls help. :D
else (int n;
bool isNumeric = int.TryParse("123", out n));
Console.WriteLine
 

Hoarz

Cartier
2-Faktor
Ska något återupprepas så är loop vägen att gå.

Men du kan även göra det nästlat:

Källkod:
private static int GetAgeNested()
{
    var age = 0;

    try
    {
        age = Convert.ToInt32(Console.ReadLine());
    }
    catch
    {
        Console.Write("Ange ett heltal: ");
        GetAgeNested();
    }

    return age;
}
 

Widowmaker

Audemars
2-Faktor
Ska något återupprepas så är loop vägen att gå.

Men du kan även göra det nästlat:

Källkod:
private static int GetAgeNested()
{
    var age = 0;

    try
    {
        age = Convert.ToInt32(Console.ReadLine());
    }
    catch
    {
        Console.Write("Ange ett heltal: ");
        GetAgeNested();
    }

    return age;
}


och om man implementerar det i min kod? för det där är väl annorlunda uppbyggt? blir snurrig :p antar att din: age motsvarar min ålder
 

Widowmaker

Audemars
2-Faktor
Det är en metod.

int ålder = GetNestedAge();


haha :D ok.

tror jag går vidare på nästa uppgift innan jag snurrar till mig allt för mycket.. provat tre olika metoder nu men får fasen inte till det. testade loop funktionen men får den fasen inte att ge svaret om att det inte är en siffra som skrivits och sen ställa om frågan.. :p
 

Widowmaker

Audemars
2-Faktor
hmm fick en ide, men missar något..

om jag gör detta:
Byter elllr lägger till här:?

Console.Write("Skriv din ålder med siffror:"); //frågar efter ålder
string år = Console.ReadLine();
int ålder = Convert.ToInt32(år);
while (!int.TryParse(Console.ReadLine(), out ålder)) { Console.WriteLine("I siffror tack!"); }

men blir något fel med konverteringen vad missar jag? eller är detta heltokigt?




if (ålder < 65)
{
Console.WriteLine("Du har " + (65 - ålder) + " år kvar till pension, jobba på!!"); //skriver ut hur många år du har kvar till pension
Console.ReadLine();
}
else if (ålder >= 65)

Console.WriteLine("Grattis du har redan gått i pension"); // berättar att du är över 65 och redan har gått i pension
Console.ReadLine();
 

Mike

Cartier
Om du inte vill bryta ut det i en metod utan bara köra på bör väl något sånt här fungera? (Nu använde jag din svenska naming på "ålder" och snodde @Hoarz loop.
var isNumeric = false;
var ålder = 0;
Console.Write("Skriv din ålder med siffror:"); //frågar efter ålder
while(!isNumeric)
{
Console.Write("Ange din ålder i siffror: ");
var input = Console.ReadLine();

isNumeric = Int32.TryParse(input, out ålder);

}

hmm fick en ide, men missar något..

om jag gör detta:
Byter elllr lägger till här:?

Console.Write("Skriv din ålder med siffror:"); //frågar efter ålder
string år = Console.ReadLine();
int ålder = Convert.ToInt32(år);
while (!int.TryParse(Console.ReadLine(), out ålder)) { Console.WriteLine("I siffror tack!"); }

men blir något fel med konverteringen vad missar jag? eller är detta heltokigt?




if (ålder < 65)
{
Console.WriteLine("Du har " + (65 - ålder) + " år kvar till pension, jobba på!!"); //skriver ut hur många år du har kvar till pension
Console.ReadLine();
}
else if (ålder >= 65)

Console.WriteLine("Grattis du har redan gått i pension"); // berättar att du är över 65 och redan har gått i pension
Console.ReadLine();
 

Widowmaker

Audemars
2-Faktor
Om du inte vill bryta ut det i en metod utan bara köra på bör väl något sånt här fungera? (Nu använde jag din svenska naming på "ålder" och snodde @Hoarz loop.
var isNumeric = false;
var ålder = 0;
Console.Write("Skriv din ålder med siffror:"); //frågar efter ålder
while(!isNumeric)
{
Console.Write("Ange din ålder i siffror: ");
var input = Console.ReadLine();

isNumeric = Int32.TryParse(input, out ålder);

}
och därefter kan jag slänga in min
if och else sats beroende på om personen är yngre eller äldre än 65?
 

Guden

Cartier
Inte det du är ute efter men kunde inte låta bli :) kodat med Python.
age = 64
if age < 65:
print 'Du har 1 år kvar till pension.'
elif age > 65:
print 'Grattis, du är pensionär.'
else:
print 'Kröka?'

:D
Vad smidigt det där såg ut. Blev sugen på att läsa på lite om Python nu.

Hann du klart med uppgiften?
Minns att jag gjorde exakt samma uppgift för ett antal år sedan, kan nog skaka fram den om jag söker lite i mina gamla programmeringsmappar.
Har inte hållit på med programmering på ett par år så hur man skriver alla koder är bortglömt, logiken och förståelsen sitter dock kvar. :)

Edit: Kom på att det var C++ jag körde. :D
 
Senast ändrad:

Widowmaker

Audemars
2-Faktor
Vad smidigt det där såg ut. Blev sugen på att läsa på lite om Python nu.


Hann du klart med uppgiften?
Minns att jag gjorde exakt samma uppgift för ett antal år sedan, kan nog skaka fram den om jag söker lite i mina gamla programmeringsmappar.
Har inte hållit på med programmering på ett par år så hur man skriver alla koder är bortglömt, logiken och förståelsen sitter dock kvar. :)

Edit: Kom på att det var C++ jag körde. :D


Jag hann klart med alla tre :) men tackar för erbjudandet om hjälp. kommande uppgifter kanske också kan vara lika ;)

Mvh
 
Topp