Beste tweakers,
het is de eerste keer dat ik hier in deze categorie iets post, maar ik zit met een probleem waar ik niet direct op een oplossing kan op vinden. Ik moet een console applicatie maken in de taal C# met het programma Visual Studio Ultimate 2012.
Ik ben student eerste jaar Toegepaste Informatica (met als keuzetraject: Computer & Cybercrime Professional) op Howest in Brugge (een van de enigste scholen die deze richting aanbieden
) en wij moeten moeten oefeningen maken en die dan online indienen op spoj.com. Dat is een soort van controle site met een compiler die je code laat uitvoeren en de antwoorden controleert met het antwoord van de docent.
De opdracht:
Vraag met een C# programma de hoogte (of basis) van een rechthoekige gelijkbenige driehoek. Beeld deze vervolgens af met '*' symbolen. De driehoek is rechts uitgelijnd aan de rand van het scherm en begint met de basis en loopt naar de beneden in een punt. Na het afdrukken neem je een nieuwe lijn.
Als iemand een negatief getal of nul opgeeft dan blijf je aandringen op strikt een positief getal.
Invoer
Een geheel getal (int) als basis (of hoogte) . Je blijft een getal opvragen tot je een geheel getal hebt dat strikt positief is.
Uitvoer
De gelijkbenige rechthoekige driehoek is rechts uitgelijnd met de basis bovenaan en een top onderaan, gevolgd door een nieuwe lijn.
Voorbeeld
Invoer:
-3
0
5
Uitvoer:
(alleen begint hij wel links in het consolevenster ipv rechts, maar anders lijnt hij links uit hier in deze post en dan klopt de code niet meer
(basis = hoogte = 5, neem een nieuwe lijn na het afdrukken van de driehoek!)
Is een redelijk simpel programmatje, I know, maar je met van ergens starten
Mijn code:
using System;
class Program
{
static void Main(string[] args)
{
int getal = int.Parse(Console.ReadLine());
while (getal < 1)
{
getal = int.Parse(Console.ReadLine());
}
int teller1 = 1;
int teller2 = 1;
while (teller1 <= getal)
{
while(teller2 <= teller1)
{
Console.Write("*");
teller2++;
}
teller1++;
teller2 = 1;
Console.Write("");
}
Console.ReadKey();
}
}
Het probleem:
Als ik eerst een negatief getal of 0 invoer, blijft hij vragen naar een nieuw getal voor dat hij het programma uitvoert. Klopt. Maar als ik dan een positief getal invoer, dan slaat hij 6 regels over die leeg zijn en staat daar de cursor weer te pinken (de Console.ReadKey() commando). Maar als ik direct bij het uitvoeren van het programma een positief getal invoer, dan toont hij wel mooi de sterretjes.
Hopelijk staat dit in het juiste onderdeel.
Anyway, alvast bedankt voor elke hulp!
het is de eerste keer dat ik hier in deze categorie iets post, maar ik zit met een probleem waar ik niet direct op een oplossing kan op vinden. Ik moet een console applicatie maken in de taal C# met het programma Visual Studio Ultimate 2012.
Ik ben student eerste jaar Toegepaste Informatica (met als keuzetraject: Computer & Cybercrime Professional) op Howest in Brugge (een van de enigste scholen die deze richting aanbieden
De opdracht:
Vraag met een C# programma de hoogte (of basis) van een rechthoekige gelijkbenige driehoek. Beeld deze vervolgens af met '*' symbolen. De driehoek is rechts uitgelijnd aan de rand van het scherm en begint met de basis en loopt naar de beneden in een punt. Na het afdrukken neem je een nieuwe lijn.
Als iemand een negatief getal of nul opgeeft dan blijf je aandringen op strikt een positief getal.
Invoer
Een geheel getal (int) als basis (of hoogte) . Je blijft een getal opvragen tot je een geheel getal hebt dat strikt positief is.
Uitvoer
De gelijkbenige rechthoekige driehoek is rechts uitgelijnd met de basis bovenaan en een top onderaan, gevolgd door een nieuwe lijn.
Voorbeeld
Invoer:
-3
0
5
Uitvoer:
*****
****
***
**
*
****
***
**
*
(alleen begint hij wel links in het consolevenster ipv rechts, maar anders lijnt hij links uit hier in deze post en dan klopt de code niet meer

(basis = hoogte = 5, neem een nieuwe lijn na het afdrukken van de driehoek!)
Is een redelijk simpel programmatje, I know, maar je met van ergens starten
Mijn code:
using System;
class Program
{
static void Main(string[] args)
{
int getal = int.Parse(Console.ReadLine());
while (getal < 1)
{
getal = int.Parse(Console.ReadLine());
}
int teller1 = 1;
int teller2 = 1;
while (teller1 <= getal)
{
while(teller2 <= teller1)
{
Console.Write("*");
teller2++;
}
teller1++;
teller2 = 1;
Console.Write("");
}
Console.ReadKey();
}
}
Het probleem:
Als ik eerst een negatief getal of 0 invoer, blijft hij vragen naar een nieuw getal voor dat hij het programma uitvoert. Klopt. Maar als ik dan een positief getal invoer, dan slaat hij 6 regels over die leeg zijn en staat daar de cursor weer te pinken (de Console.ReadKey() commando). Maar als ik direct bij het uitvoeren van het programma een positief getal invoer, dan toont hij wel mooi de sterretjes.
Hopelijk staat dit in het juiste onderdeel.
Anyway, alvast bedankt voor elke hulp!
Al doende leert men, al draaiende keert men.