Inlägg

Inlägg som micke_mj har skrivit i forumet
Av micke_mj

Enklare uppgift!

Fick en något enklare uppgift där Användaren skall skriva namn på 2 personer sedan skriva ut en kort berättelse om dessa 2.
Löste det Väldigt enkelt enligt nedan. Hur hade ni löst det?

{
Console.WriteLine("Type in the names on two persons!");
Console.Write("Person 1: ");
string person1 = Console.ReadLine();
Console.Write("Person 2: ");
string person2 = Console.ReadLine();

Console.WriteLine("Write a short story about those two perons!");
string story = Console.ReadLine();

Console.WriteLine("\n\tStory about " + person1 + " & " + person2);
Console.WriteLine("\n\t" + story);
Console.ReadLine();

}

Av micke_mj
Skrivet av PeCe:

En kort variant:

public void Main() { double decimalNumber; Console.WriteLine("Input a decimal number: "); Console.WriteLine(double.TryParse(Console.ReadLine(), out decimalNumber) ? String.Format("{0} rounded is {1}", decimalNumber, Math.Round(decimalNumber)) : "Incorrect input format!"); }

Att korta ner kod för mycket kan dock gå ut över läsbarheten. Att exempelvis använda (väl namngivna) variabler för mellanlagring istället för funktionsanrop som parametrar i funktionsanrop kan göra koden mer lättläst.

public void Main() { string inputText; bool textIsNumber; double decimalNumber; int roundedNumber; Console.WriteLine("Input a decimal number: "); inputText = Console.ReadLine(); textIsNumber = double.TryParse(inputText, out decimalNumber); if(textIsNumber){ roundedNumber = Convert.ToInt32(Math.Round(decimalNumber)); Console.WriteLine("{0} rounded is {1}", decimalNumber, roundedNumber); } else { Console.WriteLine("Incorrect input format!"); } }

Vad har ? för funktion i första koden du skrev?
Ser att det inte funkar utan men vad gör den?:)

Av micke_mj
Skrivet av ZalamanderRelic:

@Roffe: nepp. inte direkt. var mest bara en fundering på om det fanns någon speciell anledning till att det var så men då är det inte det

Visste inte det gick att göra så=) Tack för ytterligare tips!

Av micke_mj
Skrivet av Roffe:

@micke_mj: Jag tycker det där är ganska läsbart men en aning tillkrånglat. Vill du snygga till det lite så kan du göra så här:

static void Main () { Console.WriteLine ("Skriv ett decimaltal: "); string str = Console.ReadLine (); decimal decimaltal = Convert.ToDecimal (str); Console.WriteLine ("Decimaltalet" + " " + decimaltal + " " + "avrudans till heltalet" + " " + Math.Round (decimaltal)); Console.ReadKey (); }

Du behöver i detta fallet inte deklarera variabeln "decimaltal" i förväg utan kan göra det på samma rad som konverteringen sker.

Vill du korta ner ytterligare kan du strunta i att lägga inmatningen i en egen strängvariabel. Kan dock vara lite svårare att läsa för en nybörjare.

decimal decimaltal = Convert.ToDecimal (Console.ReadLine ());

Du kan även göra så här så slipper du att det kraschar om användaren skriver in ogiltiga tecken:

static void Main () { Console.WriteLine ("Skriv ett decimaltal: "); bool success = float.TryParse (Console.ReadLine (), out float decimaltal); if (success == true) Console.WriteLine ("Decimaltalet" + " " + decimaltal + " " + "avrudans till heltalet" + " " + Math.Round (decimaltal)); else Console.WriteLine ("Felaktig inmatning."); Console.ReadKey (); }

Hoppas det inte snurrar för mycket i skallen nu.

Vilken jevla klippa du är! Tack!
Kommer en till kod snart, som är sjukt "nybörjig" som du gärna får hjälpa mig med oxå!

Av micke_mj

Decimaltal till heltal!

Hej igen, söker eran feedback=)

Ska omvandla decimaltal till heltal.
Är nedan lösning OK eller finns det f*n så mycket smidigare sätt att skriva koden på?
PS, tog en halvdag att komma fram till detta så ni fattar min nivå...

{
decimal decimaltal=0;
{

Console.WriteLine("Skriv ett decimaltal: ");
string str = Console.ReadLine();
decimaltal = Convert.ToDecimal(str);
{
Console.WriteLine("Decimaltalet" + " " + decimaltal +" "+ "avrudans till heltalet" + " " + Math.Round(decimaltal));
Console.ReadKey();
}
}

}

Får ej in koden så den blir lättläslig...

Av micke_mj
Skrivet av SexMachine:

static void Main(string[] args) { int number= 0; for(int i = 0; i < 3; i++) { Console.WriteLine("Skriv in nummer " + (i+1)); number = int.Parse(Console.ReadLine()); } Console.WriteLine("Summan blev " + number); Console.WriteLine("Medelvärdet blev " + number/ 3); Console.ReadKey(); }

Såhär hade jag löst det.

Tack för du delar med dig.
Om jag inte är ute o cyklar så blir summan fel? fattas det inte ett plus + vid number ?= int.Parse(Console.ReadLine());

Av micke_mj
Skrivet av Roffe:

Du behöver inte ha en variabel för varje inmatat tal. Använd summa += Convert.ToInt32(str) efter inmatningarna och ta bort raden

int summa = number1 + number2 + number3;

och lägg till

int summa = 0;

överst.

Grymt, tack!

Av micke_mj
Skrivet av Roffe:

1. "summa" kommer alltid att vara sista inmatade talet gånger 3.

2. Som sagts tidigare, kolla upp Int.TryParse() för nu har du ingen möjlighet att kontrollera att inmatningen är korrekt.

3. "counter" gör ingenting och har ingen funktion i den här lösningen.

4. Personlig åsikt men din första lösning var vettigare.

Ok,
4. Bara för att jag googlat mig till den:)

Nedan funkar iaf..:
int number1 = 0;
int number2 = 0;
int number3 = 0;
{
Console.WriteLine("Skriv 3 heltal!");
Console.WriteLine("Första talet: ");
string str = Console.ReadLine();
number1 = Convert.ToInt32(str);

Console.WriteLine("Andra talet: ");
str = Console.ReadLine();
number2 = Convert.ToInt32(str);

Console.WriteLine("Tredje talet: ");
str = Console.ReadLine();
number3 = Convert.ToInt32(str);

int summa = number1 + number2 + number3;

Console.WriteLine("Summan av talen blir: " + summa);
Console.WriteLine("Medelvärdet av talen blir: " + summa / 3);
Console.ReadLine();

Men krånglig kanske?

Av micke_mj
Skrivet av Roffe:

Jag har skrivit så tydligt jag kan hur jag tycker att uppgiften ska lösas. Du får själv översätta till C#. Jag skulle kunna ge dig koden direkt men då gör jag bara läxan åt dig och du lär dig ingenting av det. Säg dock gärna till om det är något specifikt du inte reder ut.

Jag förstår Roffe, tacksam för hjälpen.
Var mest min frustration du såg, men helt rätt att lite får jag kämpa.

Men du kan ju kolla om det ser någorlunda Ok nu?!

Av micke_mj

Så här tråkigt fick det bli

Hade ju varit roligare om man kunnat göra något snyggt. Men nu blir det rätt iaf...

int number1 = 0;
int number2 = 0;
int number3 = 0;
{
Console.WriteLine("Skriv 3 heltal!");
Console.WriteLine("Första talet: ");
string str = Console.ReadLine();
number1 = Convert.ToInt32(str);

Console.WriteLine("Andra talet: ");
str = Console.ReadLine();
number2 = Convert.ToInt32(str);

Console.WriteLine("Tredje talet: ");
str = Console.ReadLine();
number3 = Convert.ToInt32(str);

int summa = number1 + number2 + number3;

Console.WriteLine("Summan av talen blir: " + summa);
Console.WriteLine("Medelvärdet av talen blir: " + summa / 3);
Console.ReadLine();

Av micke_mj

Just nu :)

Detta har jag just nu, men försökte använda counter, får ej till det.
Sen blir inte uträkning till summa eller medelvärdet korrekt. Kanske är koden onödigt lång.

int summa = 0;
int summa2 = 0;
int counter = 0;
Console.WriteLine("Skriv 3 heltal!");
Console.WriteLine("Första talet: ");
string str = Console.ReadLine();
int number = Convert.ToInt32(str);
counter++;

Console.WriteLine("Andra talet: ");
str = Console.ReadLine();
number = Convert.ToInt32(str);
counter++;

Console.WriteLine("Tredje talet: ");
str = Console.ReadLine();
number = Convert.ToInt32(str);
counter++;

summa = (number * 3);
summa2 = (number / 3);
Console.WriteLine("Summan av talen blir: " + summa);
Console.WriteLine("Medelvärdet av talen blir: " + summa2);
Console.ReadLine();

Av micke_mj
Skrivet av Roffe:

@micke_mj: Jag skulle gjort så här:

string inputString; int sum = 0; int counter = 0; do { Låt användaren mata in en textsträng. Lägg den i inputString. Konvertera inputString till heltal. Lägg resultatet i int number. Om konverteringen lyckades { Addera number till sum. Öka värdet på counter. } } while (inputString inte är tom eller count mindre än 3, vilket du nu vill använda) Skriv ut resultatet.

Om du avbryter loopen när inmatade talet är noll så blir det problem om ett eller flera av talen som ska matas in är noll. Bättre att kolla om strängen är tom. Kolla även att konverteringen lyckades annars blir det problem om användaren råkar skriva in en bokstav. Använd int.TryParse i stället för int.Parse.

Edit: Kolla gärna så det verkligen matats in något heltal innan du försöker visa resultatet.

fattar inget av det där, jo lite men inte mycket. Men lyckas nog googla fram mig en lösning imon snar framtid:):)

Av micke_mj
Skrivet av ZalamanderRelic:

Frågan är dessutom hur långt in i kursen är detta @micke_mj ?

Om detta är i början av programmering A så är det troligen bara do while , while och for som har gått igenom och inte try catch eller något sånt. Börja med det du kan finns det tid över kan du börja kika på om det går att säkra koden mot fel inmatning.

Skickades från m.sweclockers.com

Detta är ganska tidigt i kursen. Så helt klart är min lösning för svår. Men fick googla mig fram då jag inte har en aning var jag ska börja. Böckerna jag har hjälper inte ett smack.

Av micke_mj

Hur får jag fram summan?

static void Main(string[] args)
{
Console.WriteLine("Skriv ett heltal: ");
int num = int.Parse(Console.ReadLine());
int avg = 0;
int counter = 0;
while (num != 0)
{
avg += num;
counter++;
Console.WriteLine("Skriv ett till heltal: ");
num = int.Parse(Console.ReadLine());

}
Console.WriteLine("Summan av talen blir:", ? );
Console.WriteLine("Medelvärdet blir : {0}", avg/counter);
Console.ReadLine();
}

Av micke_mj

ska försöka, men är helt jävla grön:)

Av micke_mj

C# Programmering

Hej,
Är total Noob på programmering.

Frågan 7.1.3 lyder:
Skapa ett program där man får mata in tre heltal. Programmet beräknar sedan summan och medelvärdet av dessa tal.

Tacksam för hjälp!(JA jag vet det är superenkel, om man kan det)

Av micke_mj

hemsidor laddar inte klart helt?
SVT play ser ut som det var 1982.
Har installerat java och alla drivrutiner ja kan hitta.

VAD är felet?:///

Av micke_mj
Skrivet av Sp0de:

har du verkligen installerat alla drivrutiner från Asus?

Om inte, gör det först, du kan hämta dessa här:

http://www.asus.com/Notebooks_Ultrabooks/K42JA/HelpDesk_Downl...

Har tagit hem det mesta, men får ta allt då.
Kanske en BIOS uppdatering ox?

Av micke_mj
Skrivet av MrNeikter:

Ring till SVT och kräv service. Du betalar 2076kr per år och då ska du för tusan också få lite hjälp när skiten strular?

Skrivet av Titane:

Provat att byta webbläsare?
Vilken installation av flash är installerad?

Prova att kryssa ur/i "Aktivera maskinvaruacceleration", högerklicka i fönstret.
Installera om drivrutinerna för grafikkortet, kanske blir något konstigt vid maskinvaruacceleration.

Kan ju prova om någon dns-cache stör ditt filmtittande.

Kör : ipconfig /flushdns

*# Sluta bumpa trådar*#

jag testa med Explorer och då får jag upp en inloggning på VIAPLAY men när jag trycker på den så händer inget...
sjukt skumt.

Var hittar man drivrutin för graifikkort?

Men kan Teredo tunneling ha med grejen att göra.?

Av micke_mj
Skrivet av MrNeikter:

Ring till SVT och kräv service. Du betalar 2076kr per år och då ska du för tusan också få lite hjälp när skiten strular?

Det är tyvärr hos mig problemet är.