Permalänk

Bastun Programmering C#

Hej jag vill ha hjälp och tror nog att jag e den trögaste. Grejen är att jag vill att både if och else ska köras men det är bara "else if" och "to low" som kör. Vad gör jag för fel??

using System;

namespace BastuuppgiftFtoC
{
class bastunadrianaProgram
{
public static float FahrenheitToCelsisus(float fahrenheit)

{
float celsius = (fahrenheit - 32) * 5 / 9;
return celsius;
}

static void Main(string[] args)

{

float maxtemperaturefahr = 170.6f;
float correcttemperaturefahr = 167f;
float mintemperaturefahr = 163.4f;
float fahrenheit = 167;

Console.Write("Skriv in temp in Fahr: ");
string nr = Console.ReadLine();

float userinfahr = Convert.ToSingle(Console.ReadLine());
float celsius = FahrenheitToCelsisus(userinfahr);

Console.WriteLine(" The temperature in Fahr " + celsius + " grader i celsius");
string nr1 = Console.ReadLine();

do
{

if

(userinfahr > maxtemperaturefahr)
{
Console.WriteLine(" To High! Turn down");

}

else if (userinfahr < mintemperaturefahr)
{

Console.WriteLine(" To low! Turn up ");
Console.ReadLine();
}

}

while (userinfahr < mintemperaturefahr || userinfahr > mintemperaturefahr);
Console.Write(" yeppp");
Console.ReadLine();
}

}
}

Permalänk
Vila i frid

Använd debuggern och stega igenom programmet så ser du variablernas värden under körningen.

Permalänk
Medlem

Prova stega igenom som sagt och observera variablerna.

Hint:
Ändra "Console.ReadLine();" till "nr1 = Console.ReadLine(); . Du läser in värdet men sparar det inte.

Permalänk

Tack så mkt

Skrivet av nibbloid:

Prova stega igenom som sagt och observera variablerna.

Hint:
Ändra "Console.ReadLine();" till "nr1 = Console.ReadLine(); . Du läser in värdet men sparar det inte.

Tack så mkt men har inte fått lära mig debugga

Skickades från m.sweclockers.com

Permalänk
Skrivet av hasenfrasen:

Använd debuggern och stega igenom programmet så ser du variablernas värden under körningen.

Tack så mkt men har inte fått lära mig debugga och kollar runt men förstår mig inte riktigt hur man gör det

Skickades från m.sweclockers.com

Permalänk
Medlem

tips:
Använd [code] taggen när du skriver kod här, gör det lättare att läsa!

Jag rekommenderar jag med att du kollar över vad du har för variabler, specifikt de du läser in.

P.S

while (userinfahr < mintemperaturefahr || userinfahr > mintemperaturefahr);

Om jag inte helt missuppfattat hur C# skrivs känns den här konstig, se över vad du vill göra där.

Min gissning är att du tänkte
"Medans temperaturen är mindre än minimum ELLER medans temperaturen är högre än maximum"

Visa signatur

Stationär: Core i9 13900k | Asus X790 ROG Strix Gaming-F | 32GB DDR5 | RX 7900 XT | Lian Li PC-O11 dynamic evo
Laptop: Macbook Air | Apple M1

Permalänk
Medlem
Skrivet av programmering123:

Tack så mkt men har inte fått lära mig debugga och kollar runt men förstår mig inte riktigt hur man gör det

Det är väldigt enkelt, bara att sätta en brytpunkt där du vill att programmet ska stanna och sen kan du stega igen det rad för rad och se vad alla variabler har för värde. Se t.ex. denna korta introduktion. Gör dig själv en tjänst och lär dig hur det fungerar, det är det mest användbara verktyget du har för att förstå vad din kod faktiskt gör.

Använd för övrigt gärna code-taggar när du postar kod, så behålls indenteringen och gör det enklare för oss att läsa den:
[code]
Kod här
[/code]

Permalänk
Medlem

Första delen av koden fungerar, men du har många oanvända variabler och Console.ReadLine():s som gör programmet synnerligen svåranvänt. Först blir man ombedd att skriva in en temperatur, men det första man skriver används inte utan det är andra värdet man matar in som du faktiskt beräknar något på sedan. Håll koden så ren som möjligt för att göra det enkelt för dig att förstå och hitta de programmeringslogiska felen utan att bli bländad av massa överflödigt bôs.

float maxtemperaturefahr = 170.6f; float correcttemperaturefahr = 167f; // används aldrig float mintemperaturefahr = 163.4f; float fahrenheit = 167; // används aldrig Console.Write("Skriv in temp in Fahr: "); string nr = Console.ReadLine(); // används aldrig float userinfahr = Convert.ToSingle(Console.ReadLine()); // tänkte du kanske använda nr här? float celsius = FahrenheitToCelsisus(userinfahr); Console.WriteLine(" The temperature in Fahr " + celsius + " grader i celsius"); string nr1 = Console.ReadLine(); // används aldrig

Loopen har ett stort problem och ett mindre stort problem. Det stora är att användaren aldrig får en chans att ange en ny temperatur, vilket innebär att programmet kommer fastna i loopen för evigt om den först inmatade temperaturen är utanför intervallet. Om du flyttar din befintliga kod för att ta in och hantera användarinput så att den körs i början av varje loop får användaren en chans att rätta sig.

Det lilla problemet är villkoret userinfahr > mintemperaturefahr. Det ser ut som att du egentligen tänkte skriva maxtemperaturefahr där. Just nu avslutas loopen enbart om userinfahr är exakt 163,4 °F, men du vill väl att den ska avslutas om userinfahr är mellan 163,4 och 170,6 °F?

do { // input från användaren if (userinfahr > maxtemperaturefahr) { Console.WriteLine(" To High! Turn down"); } else if (userinfahr < mintemperaturefahr) { Console.WriteLine(" To low! Turn up "); Console.ReadLine(); // är du säker på att du vill ha den här? } } while (userinfahr < mintemperaturefahr || userinfahr > mintemperaturefahr); // maxtemperaturefahr

Slutligen bör du jobba på din kodstruktur. Indenteringen försvann i trådstarten då du inte använde [code][/code]-taggar runt den, men även korrekt indenterad är den svårläst eftersom du använder nyrader för generöst på vissa ställen. Som exempel är det onödigt svårläst när if-nyckelordet är separerat från villkorsuttrycket:

if (userinfahr > maxtemperaturefahr) { Console.WriteLine(" To High! Turn down"); }

Det blir mycket lättare att läsa om man skriver behåller allt på samma rad:

if (userinfahr > maxtemperaturefahr) { Console.WriteLine(" To High! Turn down"); }

På samma sätt bör...

static void Main(string[] args) {

...skrivas som...

static void Main(string[] args) {

...för att det ska bli tydligt att blocket ({}) hör ihop med funktionshuvudet (static void Main(string[] args)). Återigen samma sak för while-uttrycket som ligger långt nedanför tillhörande block.

Nyrader för att dela upp kod i ett block är dock inget fel på och det använder du redan på ett bra sätt (variabeldeklarationer, användarinput och beräkningar i ditt fall). Det är även acceptabelt att inleda och avsluta ett block med en nyrad för att uppnå mer lättläst kod. Detta används främst för stora block som klassdeklarationer. För små block blir det ofta bara löjligt platskrävande och hjälper inte läsligheten.

if (userinfahr > maxtemperaturefahr) { Console.WriteLine(" To High! Turn down"); }

Visa signatur

Spela Swemantle! Du vet att du vill.

Ibland har jag fel, men då är det någon annans fel.

Permalänk

tackar så mycket för hjälpen

@LemonIllusion:

Hej! Tusen tack för all hjälp och tips, nu har jag fått den lite mer lättare att läsa och mer kompakt.
Har fortfarande problem att läsa in från användaren andra loopen else if to high!

using System;

namespace BastuuppgiftFtoC
{
class FahrtoCProgram
{
static float FahrenheitToCelsisus(float fahrenheit)

{//Gör uträkning Fto C
float celsius = ((fahrenheit - 32) * 5) / 9;
return celsius;//uträkning kommer till c

}
static void Main(string[] args)
{
//skriv temperatur i F
Console.Write("Skriv in temp in Fahr: ");
//konverterar till C och tar information från användare
float fahrenheit = Convert.ToSingle(Console.ReadLine());
float celsius = FahrenheitToCelsisus(fahrenheit);
//FtoC

{

Console.WriteLine(" It's " + celsius + " degres i celsius");

//om användaren(fahrenheit) skriver in ett tal som är mindre än (mintemperature)
//skriv ut "To Low! Turn upp"
while (true)
{
// Float variabler max och min i fahr
float maxtemperaturefahr = 170.6f;

float mintemperaturefahr = 163.4f; //mintempfahr

if (fahrenheit < mintemperaturefahr)
{
Console.WriteLine(" To Low! Turn up");
Console.ReadLine();

} // det här jag inte får själva loopen att köra när jag skriverför högt värde

else if (fahrenheit > maxtemperaturefahr)

{

Console.WriteLine(" To High! Turn Down ");

Console.ReadLine(); // får bara att den första körs, alltså To Low
// det känns som att den inte tar in indata från anvädaren

}
}
}
}
}
}

Permalänk
Medlem
Skrivet av programmering123:

@LemonIllusion:

Hej! Tusen tack för all hjälp och tips, nu har jag fått den lite mer lättare att läsa och mer kompakt.
Har fortfarande problem att läsa in från användaren andra loopen else if to high!

using System;

namespace BastuuppgiftFtoC
{
class FahrtoCProgram
{
static float FahrenheitToCelsisus(float fahrenheit)

{//Gör uträkning Fto C
float celsius = ((fahrenheit - 32) * 5) / 9;
return celsius;//uträkning kommer till c

}
static void Main(string[] args)
{
//skriv temperatur i F
Console.Write("Skriv in temp in Fahr: ");
//konverterar till C och tar information från användare
float fahrenheit = Convert.ToSingle(Console.ReadLine());
float celsius = FahrenheitToCelsisus(fahrenheit);
//FtoC

{

Console.WriteLine(" It's " + celsius + " degres i celsius");

//om användaren(fahrenheit) skriver in ett tal som är mindre än (mintemperature)
//skriv ut "To Low! Turn upp"
while (true)
{
// Float variabler max och min i fahr
float maxtemperaturefahr = 170.6f;

float mintemperaturefahr = 163.4f; //mintempfahr

if (fahrenheit < mintemperaturefahr)
{
Console.WriteLine(" To Low! Turn up");
Console.ReadLine();

} // det här jag inte får själva loopen att köra när jag skriverför högt värde

else if (fahrenheit > maxtemperaturefahr)

{

Console.WriteLine(" To High! Turn Down ");

Console.ReadLine(); // får bara att den första körs, alltså To Low
// det känns som att den inte tar in indata från anvädaren

}
}
}
}
}
}

Din sista kommentar slår spiken på huvudet. Du tar aldrig indata från användaren igen eftersom allt du gör är att köra Console.ReadLine() utan att spara det inmatade värdet. Parsa och spara den inmatade strängen precis som du gör längre upp.

Du bör också se över villkoret för while-loopen så att den slutar köra när temperaturen är rätt. Alternativt lägga in en break inuti loopen när temperaturen är rätt.

Och du bör fortfarande använda [code]kod här[/code]-taggar när du klistrar in kod för att bibehålla indentering. Jag vet inte om det är därför det blir så konstigt med nyraderna, men om du fortfarande har nyrader mellan funktionshuvuden/-kroppar och if-villkoret och tillhörande block borde du ta bort dem.

Visa signatur

Spela Swemantle! Du vet att du vill.

Ibland har jag fel, men då är det någon annans fel.

Permalänk

Bastun

@LemonIllusion:

Har nästan fått ihop allt, men nu har jag problemet med att inte loopen körs till det rätta svaret. Kan bara skriva in en gång och sen slutar det.

using System;

namespace BastuuppgiftFtoC
{
class FahrtoCProgram
{
public static float FahrenheitToCelsisus(float fahrenheit)

{//Gör uträkning Fto C
float celsius = ((fahrenheit - 32) * 5) / 9;
return celsius;//uträkning kommer till c

}

public static void Main (string[] args)
{

Console.Write("Skriv in temp in Fahr: ");

int fahrenheit = int.Parse(Console.ReadLine());

float fahrenheit1 = Convert.ToSingle(fahrenheit);

float celsius = FahrenheitToCelsisus(fahrenheit1);

fahrenheit = 176;

float maxtemperaturefahr = 170.6f + 1;

float mintemperaturefahr = 163.4f - 1;

if (fahrenheit1 < mintemperaturefahr)

{
Console.WriteLine(" Du skrev i F " + fahrenheit1 + " Det är för kallt, " + celsius + " degC");

}
else if ((fahrenheit1 >= mintemperaturefahr) && (fahrenheit1 <= maxtemperaturefahr) && (fahrenheit1 != fahrenheit))

{
Console.WriteLine("Du skrev i F " + fahrenheit1 + " Temperaturen är lagom, det blir " + celsius + " degC ");

}

else if (fahrenheit1 == fahrenheit)
{
Console.WriteLine(" Du skrev i F " + fahrenheit + " Temperaturen är perfekt, det blir " + celsius + " degC ");

}

else if (fahrenheit1 > maxtemperaturefahr)
{
Console.WriteLine(" Du skrev i F " + + fahrenheit1 + " Temperaturen är för hög, det blir " + celsius + " degC ");

}
}
}
}

[/center]

Permalänk
Medlem
Skrivet av programmering123:

@LemonIllusion:

Har nästan fått ihop allt, men nu har jag problemet med att inte loopen körs till det rätta svaret. Kan bara skriva in en gång och sen slutar det.

using System;

namespace BastuuppgiftFtoC
{
class FahrtoCProgram
{
public static float FahrenheitToCelsisus(float fahrenheit)

{//Gör uträkning Fto C
float celsius = ((fahrenheit - 32) * 5) / 9;
return celsius;//uträkning kommer till c

}

public static void Main (string[] args)
{

Console.Write("Skriv in temp in Fahr: ");

int fahrenheit = int.Parse(Console.ReadLine());

float fahrenheit1 = Convert.ToSingle(fahrenheit);

float celsius = FahrenheitToCelsisus(fahrenheit1);

fahrenheit = 176;

float maxtemperaturefahr = 170.6f + 1;

float mintemperaturefahr = 163.4f - 1;

if (fahrenheit1 < mintemperaturefahr)

{
Console.WriteLine(" Du skrev i F " + fahrenheit1 + " Det är för kallt, " + celsius + " degC");

}
else if ((fahrenheit1 >= mintemperaturefahr) && (fahrenheit1 <= maxtemperaturefahr) && (fahrenheit1 != fahrenheit))

{
Console.WriteLine("Du skrev i F " + fahrenheit1 + " Temperaturen är lagom, det blir " + celsius + " degC ");

}

else if (fahrenheit1 == fahrenheit)
{
Console.WriteLine(" Du skrev i F " + fahrenheit + " Temperaturen är perfekt, det blir " + celsius + " degC ");

}

else if (fahrenheit1 > maxtemperaturefahr)
{
Console.WriteLine(" Du skrev i F " + + fahrenheit1 + " Temperaturen är för hög, det blir " + celsius + " degC ");

}
}
}
}

[/center]

Det kan vara relaterat till att du inte har någon loop alls.

[code][/code] är fortfarande taggarna för att formatera kod vettigt.

Visa signatur

Spela Swemantle! Du vet att du vill.

Ibland har jag fel, men då är det någon annans fel.

Permalänk
Vila i frid
Skrivet av programmering123:

Kan bara skriva in en gång och sen slutar det.

Kortfattat, kan man inte formulera i ord eller tanke vad som skall lösas går det förmodligen inte heller att programmera.

Permalänk

loop och try catch

Tack så mkt för all hjälp

Nu har jag fått nästan allt fungera, vill bara att loopen ska avslutas när man skriver in rätt temperatur alltså 75 c
Och i Fahrenheit 167
och try catches när jag skriver bokstäver

namespace BastuuppgiftFtoC
{
class FahrtoCProgram
{
private static float inputuserfahrenheit;
private static float celsiusoutput;

public static float FahrenheitToCelsisus1(float fahrenheit)

{//Gör uträkning Fto C

float celsiusoutput = ((fahrenheit - 32) * 5) / 9;
return celsiusoutput;//uträkning kommer till c

}

public static void Main(string[] args)

{

float correcttemperaturcelsius = 75;
float mintemperaturecelsius = correcttemperaturcelsius - 2 ;//73 162
float maxtemperaturecelsius = correcttemperaturcelsius + 3; //75 170

do
{
Console.Write("Write down the temperature in Fahrenheit please! : ");

inputuserfahrenheit = Convert.ToInt32(Console.ReadLine());
celsiusoutput = FahrenheitToCelsisus1(inputuserfahrenheit);

if (celsiusoutput > maxtemperaturecelsius)

{
Console.WriteLine(" You wrote in Fahrenheit " + inputuserfahrenheit + " The temp to high, turn down! It's " + FahrenheitToCelsisus1(inputuserfahrenheit) + " degC");

}
if (celsiusoutput < mintemperaturecelsius)

{
Console.WriteLine(" You wrote in Fahrenheit " + inputuserfahrenheit + " Its to low, turn up! Its " + FahrenheitToCelsisus1(inputuserfahrenheit) + " deg In celsius ");

}

else if (celsiusoutput == correcttemperaturcelsius)
{

Console.WriteLine(" You wrote in Fahrenheit " + inputuserfahrenheit + " The temperature is perfect, in celsisus " + FahrenheitToCelsisus1(inputuserfahrenheit) + " deegres in C ");

}

else if (celsiusoutput >= 164 || celsiusoutput <= maxtemperaturecelsius)

{

Console.WriteLine(" You wrote in Fahrenheit " + inputuserfahrenheit + " The temperature it's good but not perfect! It's " + FahrenheitToCelsisus1(inputuserfahrenheit) + "deegres in celsisu");

try
{
inputuserfahrenheit = float.Parse(Console.ReadLine());
celsiusoutput = float.Parse(Console.ReadLine());
}
catch

{

Console.WriteLine(" Skriv nummer!");

}
}

}

while (celsiusoutput < maxtemperaturecelsius || celsiusoutput > mintemperaturecelsius || celsiusoutput != 75);

{

Console.ReadLine();
}
}
}
}

Permalänk
Medlem

Redigera och lägg koden innanför [ code] [/code] - block(utan mellanslaget i första. Fruktansvärt svårt att läsa utan

Visa signatur

Ryzen 5600X | MSI Tomahawk | GTX 3070

Permalänk
Medlem

Du kan avsluta en loop med.

break;

Visa signatur

R7-3700X, B450M Mortar MAX, 32GB DDR4 @ 3200, RTX 2080, Corsair CX650M Rev2

Permalänk
Medlem

Antingen som svarades ovan, använd Break.
Eller gör en villkorad loop, dvs en While-sats (eller Do/While). Då skapar du en flagga (en boolean som är sann eller falsk) och loopar till dess att flaggan är sann.

Om man använder en flagga så krävs en IF-sats för att sätta flaggan. En annan approach är att skippa flaggan och göra kollen direkt i While-anropet, men för att göra det tydligt för dig själv som är ny på det hela så är en flagga att föredra tycker jag.

Visa signatur

Processor: Motorola 68000 | Klockfrekvens: 7,09 Mhz (PAL) | Minne: 256 kB ROM / 512 kB RAM | Bussbredd: 24 bit | Joystick: Tac2 | Operativsystem: Amiga OS 1.3

Permalänk
Hedersmedlem

@programmering123 *Trådar sammanfogade i enlighet med §3.3 i forumreglerna*

Observera att vi inte tillåter korspostning (flera trådar om samma ämne). Detta då vi tycker det är viktigt att alla får samma chans att få sina trådar uppmärksammade.

Visa signatur

Danskjävel så krattar som en skrivare...

Permalänk

Tack för all hjälp lyckades fixa uppgiften till slut
Nu har jag problem med nästa uppgift

namespace arrays
{
class Program
{
static void Main(string[] args)
{

/* lottobollar, jag ska be användaren skriva in tio tal, har nu bara fem tal. Men ska öka sen
när jag vet att alt är korrekt. Har fått som jag vill att användaren kan skriva in sina tal och det kommer
ut var anvädaren har skrvit för tal, det jag vill nu är att jag ska försöka få talen hen skriver in
att matcha med min array. Om hen skriver rätta nummer som jag har i min array så ska ju själva if loopen komma in
(vilket jag vet att jag suger rätt hårt på med loopar)har sjukt svårt just med output så den ska starta i loopen. har en fråga om random numret, vet att själva datorn loopar numren själv
i min array, men om jag skriver 23 och datorn slumpar 20, kan man fixa att de kommer i loopen så jag får rätt?
Så output, rando och loop är mitt problem...
Hoppas ni förstår vad jag menar
*/

Console.WriteLine("Skriv in tal 1");
int userguess1 = int.Parse((Console.ReadLine()));// ber anvädaren skriva in önskade tal från ett till fem

Console.WriteLine("Skriv in tal 2");

int userguess2 = int.Parse((Console.ReadLine()));

Console.WriteLine("Skriv in tal 3");
int userguess3 = int.Parse((Console.ReadLine()));

Console.WriteLine("Skriv in tal 4");
int userguess4 = int.Parse((Console.ReadLine()));

Console.WriteLine("Skriv in tal 5");
int userguess5 = int.Parse((Console.ReadLine()));

// Skapar vektor
int[] boll = new int[5];

// tilldela vektorn element olika värde genom index:
boll[0] = 20;
boll[1] = 8;
boll[2] = 25;
boll[3] = 6;
boll[4] = 23;

for (int i = 0; i < boll.Length; i++)

{

Console.WriteLine(" Du skrev " + userguess1 + ", " + userguess2 + ", " + userguess3 + ", " + userguess4 + " och talet " + userguess5);

Random random = new Random();
int number = random.Next(boll.Length);
System.Console.WriteLine("Slumptal är " + boll[number]);

{
userguess1 = (boll[0]);
userguess2 = (boll[1]);
userguess3 = (boll[2]);
userguess4 = (boll[3]);
userguess5 = (boll[4]);

if (userguess1 == number)

if (userguess2 == number)
if (userguess3 == number)
if (userguess4 == number)
if (userguess5 == number)

{
Console.WriteLine("Härligt du vann!");

}

else
{
Console.WriteLine("Tyvärr, fel. Bättre lycka nästa gång!");
}

Console.ReadKey();
}

Permalänk
Vila i frid
Skrivet av programmering123:

men om jag skriver 23 och datorn slumpar 20, kan man fixa att de kommer i loopen så jag får rätt?

Det är HELT omöjligt!

Lixom, man lär sig genom att göra fel, göra om och göra rätt, inte att fråga efter "färdiga" lösningar. "userguess" som array är lite flexiblare och möjligen även en variabel "bool winner = false" i början som blir true vid jackpott dvs förståelse över vad som ska hända.

Pseudo-kod eller flow chart kan du skippa om du kan överblicka hela problemet och kan säga "så här skall det göras".

Permalänk
Skrivet av hasenfrasen:

Det är HELT omöjligt!

Lixom, man lär sig genom att göra fel, göra om och göra rätt, inte att fråga efter "färdiga" lösningar. "userguess" som array är lite flexiblare och möjligen även en variabel "bool winner = false" i början som blir true vid jackpott dvs förståelse över vad som ska hända.

Pseudo-kod eller flow chart kan du skippa om du kan överblicka hela problemet och kan säga "så här skall det göras".

Nja fast de var inte fråga om färdiga lösningar utan om de går att göra

Skickades från m.sweclockers.com

Permalänk
Skrivet av programmering123:

Nja fast de var inte fråga om färdiga lösningar utan om de går att göra

Skickades från m.sweclockers.com

Men tack!!!

Permalänk

Läskback

vill att loopen fortsätter tills userinput är == 25 och att den säger att den är full backen min alltså
så om den är högre än 25 så ska de stå du måste minska med dryck, hur många drycker vill du tabort? (vilket jag fått)
men när jag ska skriva in andar gången så återgår det till menyn igen

case 1:

bool yes = 0;
Console.WriteLine(" Du valde att lägga till Coca-Cola ");
Console.WriteLine(" Hur många vill du lägga till?");
string cocacola = "Coca-Cola";
int userinput = int.Parse(Console.ReadLine());
Console.WriteLine(" Du valde " + userinput + " stycken" + " " + cocacola + "");

do
{
for (int i = 0; i < userinput; i--)
{

antal_flaskor++;

}
yes = true;
if (userinput == 25)
{
Console.WriteLine(" Backen är nu full och det är 25 stycken flaskor i backen");

}
yes = false;
if (userinput > 25)

{
Console.WriteLine(" I Läslabacken ryms det bara 25 drycker, du måste tabort dricka");
Console.WriteLine(" Hur många drickor vill du tabort?");
Console.ReadKey();
userinput = int.Parse(Console.ReadLine());
}
yes = false;

if (userinput < 25)
{

Console.WriteLine(" Hur många drickor vill du lägga till?");
Console.ReadKey();
}

yes = true;
} while (userinput != 25);

break;

Permalänk
Medlem

Du tar ju aldrig bort några flaskor från variabeln?
Inte för att vara sån, men jag vet inte riktigt hur du tänkt med koden. Har du bara en sorts dricka behöver du en variabel som håller reda på antal flaskor samt en som fångar input. Whilen körs tills antal_flaskor blivit 25. Du behöver ingen for loop.
När man lägger till kör du antal_flaskor += antal_flaskor och när man tar bort antal_flaskor -= userinput
Skickades från m.sweclockers.com

Permalänk
99:e percentilen

@programmering123: Använd [code]-taggen när du klistrar in kod. Hopplöst att läsa den annars. Skriv så här:

[code]
int x = 5;
// ...
[/code]

Visa signatur

Skrivet med hjälp av Better SweClockers

Permalänk
Medlem

Man blir ju nästan lite smått förbannad när man läser detta. Du har blivit tillsagd att använda [ code ]-taggarna 7 gånger i denna tråd, men inte en enda gång har du brytt dig om att använda dem - varför?

Du kan väl iallafall försöka bry dig lite istället för att bara vara ute efter att få hjälp Försök själv läsa det du skriver, det är inte så enkelt va?

Visa signatur

NZXT H510 Flow MSI B450 Tomahawk MAX
AMD Ryzen 5800X3D RX 7900XTX Kingston Fury 64GB

Permalänk
Medlem

Är det skoluppgifter vi hjälper dig med månne?

"do { for (int i = 0; i < userinput; i--) { antal_flaskor++; } yes = true; if (userinput == 25)"

Vad händer i din loop? Eller snarare vad är villkoren för din loop.
Om du vägrar debugga (vilket många andra rekommenderat) så kan du ju alltid lägga till en utskrift i loopen t.ex. efter antal_flaskor++

Visa signatur

Ryzen 9 5950X, 32GB 3600MHz CL16, SN850 500GB SN750 2TB, B550 ROG, 3090 24 GB
Har haft dessa GPUer: Tseng ET6000, Matrox M3D, 3DFX Voodoo 1-3, nVidia Riva 128, TNT, TNT2, Geforce 256 SDR+DDR, Geforce 2mx, 3, GT 8600m, GTX460 SLI, GTX580, GTX670 SLI, 1080 ti, 2080 ti, 3090 AMD Radeon 9200, 4850 CF, 6950@70, 6870 CF, 7850 CF, R9 390, R9 Nano, Vega 64, RX 6800 XT
Lista beg. priser GPUer ESD for dummies