Schoolopdracht

Status
Niet open voor verdere reacties.

Qwimble

Gebruiker
Lid geworden
2 jan 2009
Berichten
14
- Maak een console-applicatie die vraagt om een getal. Maak daarna het scherm schoon. Geef vervolgens de tafel van dit getal met een koptekst er boven. Bijv. getal is 6. Op basisscholen is er veel vraag naar deze applicatie.
Tafel van 6:
=========
1 * 6 = 6
2 * 6 = 12
3 * 6 = 18
...
...
10 * 6 = 60

Voor deze vraag heb ik het volgende gemaakt:

Module Module1
Code:
    Sub Main()

        Dim getal As Integer
        Dim keer As Integer
        Dim antwoord As Integer = getal * keer

        Console.WriteLine("Geef getal")
        getal = Console.ReadLine
        Console.Clear()
        Do While keer < 11

            Console.WriteLine("De tafel van " & getal)

            Console.WriteLine(keer & "* " & getal & "=" & antwoord)
            antwoord = getal * keer
            keer = keer + 1
        Loop

        antwoord = Console.ReadLine

    End Sub

End Module

Maar wanneer ik het programma laat lopen, krijg ik hetvolgende:

Knipsel.PNG

Hij loopt dus zegmaar 1 achter... hoe krijg ik dit gelijk?

Alvast bedankt!

Groeten Arend
 
Laatst bewerkt door een moderator:
Er zit een kleine denkfout in je logica. Je vermenigvuldigt namelijk voordat je de variabele "keer" met 1 verhoogt. Wissel de statements

Code:
keer = keer + 1

en

Code:
antwoord = getal * keer

om en je probleem zal opgelost zijn.

[EDIT]
En overigens zou ik

Code:
Console.WriteLine("De tafel van " & getal)

buiten de loop halen, dan staat het er gewoon éénmaal boven, zoals ook in de opdrachtbeschrijving staat.
[/EDIT]
 
Laatst bewerkt:
Bedankt! Gelukt :)

@Mod: hou hem eerst svp even open, heb waarschijnlijk nog wel meer vragen..
 
Ik kom er bij de volgende vraag niet uit:

Maak een programma dat een zin leest en daarna deze in hoofdletters op het scherm afdrukt. Geef daarna aan hoelang de zin is, hoeveel leestekens de zin bevat (spatie, komma, puntkomma, dubbele punt en vraag- en uitroepteken) en aangeeft hoeveel letters de zin bevat. Gebruik hiervoor commando substring met lengte 1 en voor de positie een tellertje.

Dit heb ik tot nu toe (het aantal leestekens dus, heb geen idee wat ik moet gebruiken om de zin in hoofdletters op te schrijven en om de letters te tellen):

Code:
Module Module1

    Dim zin As String = Nothing

    Sub Main()
        Console.WriteLine("Schrijf een zin")
        zin = Console.ReadLine()
        Console.WriteLine()
        Console.WriteLine(zin.Length.ToString())
        Console.WriteLine(zin.
        Console.ReadLine()

    End Sub

End Module

Iemand het antwoord?
 
Beetje meer uitzoeken zou je wel mogen doen.

Commando substring zie ik nog nergens staan (daarmee kun je teken voor teken in een variabele zetten, vergelijken met je leestekens en dan maar tellen)
Daarnaast ís hoofdletters van een string maken opzich niet heel moeilijk te vinden met google. Maar goed, "ucase" is de term die je nodig gaat hebben

Er zijn wel regels aan schoolopdrachten hier op het forum gesteld....
 
Laatst bewerkt:
@Qwimble geef eerst maar eens aan wat je allemaal zelf gedaan heb. Dat betekent niet het blind kopieren en plakken van een code, maar daadwerkelijk aangeven wat je gedaan heb. Lukt dat niet dan gaat deze dicht.
 
Je schat mijn niveau echt te hoog in... snap er echt helemaal niks van. Snap niet wat je met substring, ucase en met die variabelen bedoelt...
Zoeken op google vind ik moeilijk, omdat ik niet goed weet waar ik naar moet zoeken...
Ken deze site: http://www.vbvoorbeelden.be/index.html, maar geen idee waar ik daar moet zoeken...

Ben al wat verder, heb nu dit:

Code:
Module Module1

    Dim zin As String = Nothing

    Sub Main()
        Console.WriteLine("Schrijf een zin")
        zin = Console.ReadLine()
        Console.WriteLine()
        Console.WriteLine("De zin in hoofdletters: " & zin.ToUpper())
        Console.WriteLine("De zin is zoveel tekens lang: " & zin.Length.ToString())

        Console.ReadLine()

    End Sub

End Module
 
Dus je snapt er niets van en de helpers moeten jouw schoolopdracht maken. Dat is niet de bedoeling.
 
@huijb; ik probeer op internet tutorials te vinden over de dingen die bij mij van toepassing zijn, maar dat is moeilijk (onvindbaar?).
Bovendien zit ik steeds met Visual Basics te klooien...

Zou niet weten wat ik nog meer moet doen...
 
Misschien is het iets te hoog gegrepen voor je. Heb je enig idee wat de code die je hier plaatst precies inhoud? Dat lijkt mij de basis en van daaruit kan je verder. Maar als je dat niet snapt is het verstandig om je daar eerst in te verdiepen.
 
Als je er zoveel problemen mee hebt, kunnen wij je op zijn minste de goede richting op sturen...:)

Begin eens met kijken naar 'string functions': http://msdn.microsoft.com/en-us/library/dd789093.aspx
Voor de substring had je zelf dit ook wel even kunnen vinden: http://msdn.microsoft.com/en-us/library/aka44szs.aspx

Verder ben ik het ook eens met huijb, het is niet de bedoeling dat wij jouw code gaan schrijven en je mag zelf ook wel wat meer inzet tonen. 'Visual Basic Substring' intypen op google was jou ook nog wel gelukt en daar waren vast ook wel resultaten geweest die je had kunnen gebruiken.

Succes. MartinJM


[edit]
Die site die je kent is misschien wel handig omdat je dan sneller klaar bent met je huiswerk, maar als je de code niet snapt heeft het niet echt veel zin. Dat is namelijk het hele punt van huiswerk: dat je het snapt.
[/edit]
 
Laatst bewerkt:
Ja snap wel wat de code inhoud.
Wil alleen graag weten wat er achter Console.WriteLine(zin.??? moet komen te staan om het aantal letters te tellen.
 
Bedankt Martin! Daar kan ik tenminste wat mee :).

Vond steeds wel wat op de Microsoft site, maar dat was voor Excel...
 
Maar begrijp je wel wat Console.WriteLine betekent? En voor het overige verwijs ik je naar de links van MartinJM. Het komt er op neer dat je veel moet lezen. Kom je er dan niet uit dan staat Helpmij en de helpers klaar om je verder te helpen.
 
Met Console.WriteLine laat je het programma iets schrijven, en met Console.ReadLine laat je het lezen.

?
 
Die dingen die je vind voor excel kunnen wel degelijk van nut zijn. Dat lijkt namelijk vrij veel op visual basic... Vooral dingen als de lengte van de tekst meten enz.

Voor de dingen die je niet helemaal snapt zou ik zeggen: Google is your friend. Als je er dan nog niet uitkomt (Maar wel goed hebt gezocht!), dan kan je het nog eens hier vragen.

MartinJM
 
Maak een programma dat een zin leest en daarna deze in hoofdletters op het scherm afdrukt. Geef daarna aan hoelang de zin is, hoeveel leestekens de zin bevat (spatie, komma, puntkomma, dubbele punt en vraag- en uitroepteken) en aangeeft hoeveel letters de zin bevat. Gebruik hiervoor commando substring met lengte 1 en voor de positie een tellertje.

Ik zal je eens op weg proberen te helpen.

Gebruik Ucase voor het hoofdlettergebruik.
Syntax: Ucase(string)

Leestekens kun je waarschijnlijk beter tegelijk tellen met het tellen van alle letters.

[cpp]Dim leestekens As Char() = {" ",",",".","!", "?", ":", ";"} ''// Array van leestekens
For Each ch As Char In zin ''//ga door alle tekens uit de zin
If leestekens.Contains(ch) Then ''//Tel leestekens
''//Tel sowieso gewone tekens
Next[/cpp]
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan