Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Programmeren

[c++]automatische spaties

Pouja
3 antwoorden
  • Beste mensen van Computer Totaal,

    Ik ben net een paar weken bezig met c++ en ik was bezig met een programma waarin ik een 2 kolommen wil laten zien.
    De gebruiker geeft zelf aan welke gegevens er in de kolommen komen.
    Maar wanneer ik het kolom wordt weergegeven zit niet het 2e kolom onder elkaar.

    Want ik schrijf een for functie:
    [code:1:8fb6e20b4b]for(int a_1;a_1<5;a_1++)
    {
    for(int a_2;a_2;a_2++)
    {
    cout<<struct_dier[a_1][a_2].soort<<" "<<struct_dier[a_1][a_2].naam<<endl;
    }
    }
    [/code:1:8fb6e20b4b]

    Hierbij is struct_dier een tweedimensionale array, met string soort en string naam

    Zoals je ziet is het aantal spatie na 'soort' gelijk. Hierbij komt de tweede rijtje niet keurig onder elkaar.

    En ik heb geprobeert om een functie te schrijven die het woord grote herkent en het juiste aantal spatie weergeeft. Maar je mag niet dit doen van VS2005
    [code:1:8fb6e20b4b]cout<<aantal_spatie(a_1)<<endl;[/code:1:8fb6e20b4b]

    Waarbij aantal_spatie een void functie.

    Ik hoop dat iemand mijn probleem begrijpt.

    Bvd.

    Pouja
  • Ik heb de probleem opgelost, ik snap niet dat ik het meteen zag.

    Ik heb het zo opgelost:
    [code:1:52fbf916e7]cout<<"tekst…….";aantal_spatie(waarde);cout<<"vervolg tekst…"<<endl;
    [/code:1:52fbf916e7]
  • [quote:54a943b95a="Pouja"]Zoals je ziet is het aantal spatie na 'soort' gelijk. Hierbij komt de tweede rijtje niet keurig onder elkaar.

    En ik heb geprobeert om een functie te schrijven die het woord grote herkent en het juiste aantal spatie weergeeft. Maar je mag niet dit doen van VS2005
    [code:1:54a943b95a]cout<<aantal_spatie(a_1)<<endl;[/code:1:54a943b95a]

    Waarbij aantal_spatie een void functie.[/quote:54a943b95a]Deze oplossing zou moeten werken als u aantal_spatie een functie maakt die een char* of std::string teruggeeft met als inhoud een aantal spaties en het nul karakter.

    Maar er is een betere methode om twee kolommen onder elkaar te krijgen. Hiervoor kunt u gebruik maken van de functies in het header-bestand <iomanip>. Hieronder staat een voorbeeld:[code:1:54a943b95a]std::cout << "Tekst 9" << " " << "Kolom 2 van tekst 9" << std::endl;
    std::cout << "Tekst 10" << " " << "Kolom 2 van tekst 10" << std::endl << std::endl;

    std::cout << std::left << std::setw( 10 ) << "Tekst 9" << " " << std::left << std::setw( 21 ) << "Kolom 2 van tekst 9" << std::endl;
    std::cout << std::left << std::setw( 10 ) << "Tekst 10" << " " << std::left << std::setw( 21 ) << "Kolom 2 van tekst 10" << std::endl;[/code:1:54a943b95a][i:54a943b95a]std::setw()[/i:54a943b95a] bepaald de breedte van de kolom, [i:54a943b95a]std::left[/i:54a943b95a] zorgt ervoor dat de kolom links wordt uitgelijnd.

    Indien u [code:1:54a943b95a]using namespace std;[/code:1:54a943b95a] gebruikt kunt u [i:54a943b95a]std::[/i:54a943b95a] weghalen.

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.