1. #1
    mattias112's Avatar
    Registered
    07/05/09
    Location
    3200 Aarschot
    Posts
    44
    iTrader
    0
    Mentioned
    0 Post(s)

    teken laten zakken in C++

    hey,
    ik wil een heel simpel functietje make waar ik een teken laat zakken tot 10 regels, ik doe dit, zoals iedereen zou doen wss met een for loop, maar ik krijg op de 10 regels allemaal het teken, dit kan ik voorkomen denk ik door het teken te schrijven, dan endl; , en daarna het tekentje op de eerste lijn terug te verwijderen, maar hoe doe ik dit?
    dank
    no votes  

  2. #2
    Gurdt's Avatar
    Registered
    21/08/08
    Location
    Hasselt
    Posts
    2,653
    iTrader
    8 (100%)
    Mentioned
    0 Post(s)
    Reputation
    5/46
    Wa is nu eigenlijk uw vraag?
    Gij wilt een teken laten zakken tot 10 regels? Dat slaat toch op niks??

    Ik zal dan maar een antwoord geven zoals ik DENK dat gij bedoelt:

    Code:
    void f()
    {
        for(int i = 1; i <= 10; ++i
        {
            system("cls"); //maak het scherm terug leeg
            for(int j = 1; j < i; ++j)
                printf("\n");
            printf("UWTEKEN");
        }
    }
    Bovenstaande code zal eerst ne tekst uitprinten op de 1e regel van uw console.
    Dan alles terug wegdoen en printen op de 2e regel. Dan de 3e regel enzovoort...
    no votes  

  3. #3
    MorGo7h's Avatar
    Registered
    08/03/06
    Location
    .
    Posts
    9,439
    iTrader
    29 (100%)
    Mentioned
    0 Post(s)
    Reputation
    1/217
    Quote Originally Posted by Gurdt View Post
    This quote is hidden because you are ignoring this member. Show
    Wa is nu eigenlijk uw vraag?
    Gij wilt een teken laten zakken tot 10 regels? Dat slaat toch op niks??

    Ik zal dan maar een antwoord geven zoals ik DENK dat gij bedoelt:

    Code:
    void f()
    {
        for(int i = 1; i <= 10; ++i
        {
            system("cls"); //maak het scherm terug leeg
            for(int j = 1; j < i; ++j)
                printf("\n");
            printf("UWTEKEN");
        }
    }
    Bovenstaande code zal eerst ne tekst uitprinten op de 1e regel van uw console.
    Dan alles terug wegdoen en printen op de 2e regel. Dan de 3e regel enzovoort...
    Ist ni simpeler om het teken gwn af te drukken na de forlus?

    Code:
    void f()
    {
        for(int i = 1; i <= 10; ++i
        {
                printf("\n");
        }
    
        printf("UWTEKEN");
    }
    Fractal Design R6 -- Intel Core i7 8700k @ 5.0Ghz -- Asus Hero X -- Corsair Vengeance 16GB -- MSI Gaming X 1080 TI @ 2040Mhz/1000mV-- Corsair RM850x (2018) -- Custom water loop
    Samsung 970 EVO 500GB -- Samsung 850 EVO 500GB -- Seagate Barracuda ST500DM002 -- Acer XB271HU (165hz 1440p IPS)
    Corsair K70 -- Zowie FK2 -- Steelseries QcK heavy -- Sennheiser HD598 + Modmic 4.0
    no votes  

  4. #4

    Registered
    30/09/02
    Location
    Mariakerke
    Posts
    554
    iTrader
    1 (100%)
    Mentioned
    0 Post(s)
    Reputation
    2/2
    Quote Originally Posted by MorGo7h View Post
    This quote is hidden because you are ignoring this member. Show
    Ist ni simpeler om het teken gwn af te drukken na de forlus?

    Code:
    void f()
    {
        for(int i = 1; i <= 10; ++i
        {
                printf("\n");
        }
    
        printf("UWTEKEN");
    }
    Dat geeft niet hetzelfde effect. Bij jou gaat het teken 1 maal verschijnen op de laatste regel. Bij de eerste code zal het teken 10 keer verschijnen, telkens een regel lager.
    no votes  

  5. #5
    MorGo7h's Avatar
    Registered
    08/03/06
    Location
    .
    Posts
    9,439
    iTrader
    29 (100%)
    Mentioned
    0 Post(s)
    Reputation
    1/217
    Quote Originally Posted by mattias112 View Post
    This quote is hidden because you are ignoring this member. Show
    hey,
    ik wil een heel simpel functietje make waar ik een teken laat zakken tot 10 regels, ik doe dit, zoals iedereen zou doen wss met een for loop, maar ik krijg op de 10 regels allemaal het teken, dit kan ik voorkomen denk ik door het teken te schrijven, dan endl; , en daarna het tekentje op de eerste lijn terug te verwijderen, maar hoe doe ik dit?
    dank
    Dit komt omdat uw teken ook afgeprint wordt in uw lus. Zorgen dat het teken pas na de enter wordt afgedrukt, dus gewoon die printlijn buiten uw luske zetten.
    Zie vb hier boven.
    Fractal Design R6 -- Intel Core i7 8700k @ 5.0Ghz -- Asus Hero X -- Corsair Vengeance 16GB -- MSI Gaming X 1080 TI @ 2040Mhz/1000mV-- Corsair RM850x (2018) -- Custom water loop
    Samsung 970 EVO 500GB -- Samsung 850 EVO 500GB -- Seagate Barracuda ST500DM002 -- Acer XB271HU (165hz 1440p IPS)
    Corsair K70 -- Zowie FK2 -- Steelseries QcK heavy -- Sennheiser HD598 + Modmic 4.0
    no votes  

  6. #6
    Gurdt's Avatar
    Registered
    21/08/08
    Location
    Hasselt
    Posts
    2,653
    iTrader
    8 (100%)
    Mentioned
    0 Post(s)
    Reputation
    5/46
    Morgo: uw voorbeeldje voldoet niet
    Last edited by Hourences; 16-02-2010 at 21:59. Reason: "mongo" komt verkeerd over... - changed
    no votes  

  7. #7
    MorGo7h's Avatar
    Registered
    08/03/06
    Location
    .
    Posts
    9,439
    iTrader
    29 (100%)
    Mentioned
    0 Post(s)
    Reputation
    1/217
    Quote Originally Posted by Krueger View Post
    This quote is hidden because you are ignoring this member. Show
    Dat geeft niet hetzelfde effect. Bij jou gaat het teken 1 maal verschijnen op de laatste regel. Bij de eerste code zal het teken 10 keer verschijnen, telkens een regel lager.
    Dat vraagt TS toch? Want nu krijgt het teken op iedere lijn zegt ie.
    Last edited by MorGo7h; 16-02-2010 at 20:59.
    Fractal Design R6 -- Intel Core i7 8700k @ 5.0Ghz -- Asus Hero X -- Corsair Vengeance 16GB -- MSI Gaming X 1080 TI @ 2040Mhz/1000mV-- Corsair RM850x (2018) -- Custom water loop
    Samsung 970 EVO 500GB -- Samsung 850 EVO 500GB -- Seagate Barracuda ST500DM002 -- Acer XB271HU (165hz 1440p IPS)
    Corsair K70 -- Zowie FK2 -- Steelseries QcK heavy -- Sennheiser HD598 + Modmic 4.0
    no votes  

  8. #8
    Gurdt's Avatar
    Registered
    21/08/08
    Location
    Hasselt
    Posts
    2,653
    iTrader
    8 (100%)
    Mentioned
    0 Post(s)
    Reputation
    5/46
    Nein, hij stelt zijn zinnen wel heel buitenlands op natuurlijk maar hij zegt ook: ik zou het kunnen oplossen door het geplaatste karakter op de vorige regel weg te doen, maar weet niet hoe.

    Dus het karakter zal wel degelijk moeten "zakken" dus lijn per lijn naar onder gaan
    no votes  

  9. #9
    Joeshoe's Avatar
    Registered
    15/03/07
    Location
    Antwerpen
    Posts
    3,274
    iTrader
    8 (100%)
    Mentioned
    0 Post(s)
    Reputation
    0/117
    Uh dat is met een simpele lus toch niet echt doenbaar? Hij wilt dus een teken op lijn 1 laten beginnen en dat stap per stap naar beneden bewegen als ik het goed begrijp.
    Een for/while lus gaat gewoon zo snel mogelijk de lus aflopen, té snel om te zien. Je gaat al met stappen per 1000 of zo (afhankelijk van de snelheid van de pc) moeten werken om dit lijn per lijn waar te nemen.

    Nu, als je dit zo wil doen kun je met een clearscreen werken.
    Eerst de eerste lijn tekenen, dan een clearscreen, dan de tweede lijn, terug clearscreen, etc.

    Om clearscreen te gebruiken:

    #include <stdlib.h>
    system ("cls");
    no votes  

  10. #10
    Gurdt's Avatar
    Registered
    21/08/08
    Location
    Hasselt
    Posts
    2,653
    iTrader
    8 (100%)
    Mentioned
    0 Post(s)
    Reputation
    5/46
    Of ge werkt met een sleep he Sherlock (die cls staat er trouwens al).

    Ik ken een kerel die iets deed in de vorm van for(int i = 1; i <= 600502323870273027; ++i) om zijn programma 6 seconden te laten wachten.
    Zelfs Indiërs doen zoiets niet :')

    Ik ken de juiste syntax en libraries niet maar je kan zoiets gebruiken als sleep(1000) om je programma 1 seconde te laten wachten.

    Een andere manier is om met een timer te werken die om de seconde een timeout zet ofzo. Opties genoeg dus!
    no votes  

  11. #11
    MorGo7h's Avatar
    Registered
    08/03/06
    Location
    .
    Posts
    9,439
    iTrader
    29 (100%)
    Mentioned
    0 Post(s)
    Reputation
    1/217
    Quote Originally Posted by Gurdt View Post
    This quote is hidden because you are ignoring this member. Show
    Nein, hij stelt zijn zinnen wel heel buitenlands op natuurlijk maar hij zegt ook: ik zou het kunnen oplossen door het geplaatste karakter op de vorige regel weg te doen, maar weet niet hoe.

    Dus het karakter zal wel degelijk moeten "zakken" dus lijn per lijn naar onder gaan
    allright, wa nutteloos lijkt me die oef
    Fractal Design R6 -- Intel Core i7 8700k @ 5.0Ghz -- Asus Hero X -- Corsair Vengeance 16GB -- MSI Gaming X 1080 TI @ 2040Mhz/1000mV-- Corsair RM850x (2018) -- Custom water loop
    Samsung 970 EVO 500GB -- Samsung 850 EVO 500GB -- Seagate Barracuda ST500DM002 -- Acer XB271HU (165hz 1440p IPS)
    Corsair K70 -- Zowie FK2 -- Steelseries QcK heavy -- Sennheiser HD598 + Modmic 4.0
    no votes  

  12. #12
    mattias112's Avatar
    Registered
    07/05/09
    Location
    3200 Aarschot
    Posts
    44
    iTrader
    0
    Mentioned
    0 Post(s)
    haha sorry mannen dat mijn vraag niet echt duidelijk was. maar wat gurdt zei bedoelde ik eigenlijk, iki zal zijn programmatje sewens eens proberen
    no votes  

  13. #13
    mattias112's Avatar
    Registered
    07/05/09
    Location
    3200 Aarschot
    Posts
    44
    iTrader
    0
    Mentioned
    0 Post(s)
    dank u het werkt
    no votes  

  14. #14
    Gurdt's Avatar
    Registered
    21/08/08
    Location
    Hasselt
    Posts
    2,653
    iTrader
    8 (100%)
    Mentioned
    0 Post(s)
    Reputation
    5/46
    Graag gedaan!
    no votes  

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Log in

Log in