Tekst centreren

Status
Niet open voor verdere reacties.

BlackRedThunder

Gebruiker
Lid geworden
7 okt 2008
Berichten
36
Goeiedag

ik heb in volgende code een eenvoudig programmatje gemaakt waarin 2 waarden worden vergeleken met elkaar. Met count.width(getal) kan ik de vraag veranderen van positie.
Kun je dit ipv bij iedere count ook 1 maal schrijven?
En hoe kan ik de tekst die je invoert in je dosvenster centreren?

Alvast bedankt

Code:
#include <iostream>
#include <string>

using namespace std;

int main()
{
	string Wachtwoord, WachtwoordBevestigen;

	cout.width(40);
	cout << "Geef uw wachtwoord op" << endl;
	getline(cin, Wachtwoord);

	cout.width(40);
	cout << "Bevestig uw wachtwoord" << endl;
	getline (cin, WachtwoordBevestigen);

	if (Wachtwoord == WachtwoordBevestigen)
	{
		cout.width(40);
		cout << "Inloggen voltooid" << endl;
	}
	else
	{
		cout.width(40);
		cout << "Inloggen mislukt" << endl;
	}

	cout.width(40);
	cout << "Druk op <ENTER> om het programma af te sluiten" << endl;
	cin.get();
	return(0);
	
}
 
Je kunt altijd nog een functie schrijven die het voor je doet:

Code:
void msg(const std::string& s)
{
    std::cout.width(40);
    std::cout << s;
}
 
Je kunt altijd nog een functie schrijven die het voor je doet:

Code:
void msg(const std::string& s)
{
    std::cout.width(40);
    std::cout << s;
}

Had ik nog niet aan gedacht, sorry hiervoor, maar ik ben er maar nog 2 dagen mee bezig ;)
voor wat staat die '& s' in
Code:
void msg(const std::string& s)
en die 's' in
Code:
cout << s;
 
voor wat staat die '& s' in
Code:
void msg(const std::string& s)
en die 's' in
Code:
cout << s;

Wanneer je een normale functie hebt met argumenten, zonder de '&' of '*' operator, dan wordt er een kopie van de variabele gemaakt. Wanneer je een '&' of een '*' gebruikt(by reference), dan wordt er geen kopie gemaakt maar gebruik je de variabele 'echt'.

Een voorbeeld is misschien wat makkelijker:

Code:
void plus_tienA(int i)
{
    i++; // i + 1
}

void plus_tienB(int& i)
{
    i++;
}

int main()
{
    int i = 5, j = 5;
    plus_tienA(i);
    plus_tienB(j);

    std::cout << "i: " <<  i << "\nj: " << j << '\n';
   return 0;
}

Omdat er bij de functie plus_tienA een kopie wordt gemaakt van de variabele, hebben de bewerkingen dus geen effect op de variabele die gebruikt wordt om de functie aan te roepen. Bij de functie plus_tienB hebben de handelingen wel effect op de variabele zelf, en daardoor is de uitkomst van dit programma dat de variabele 'i' gelijk is aan 5, en dat variabele 'j' gelijk is aan 6.

En de 's' bij 'std::cout << s' is de variabele die gebruikt is. (zie de parameter van de functie)

Maar als je net twee dagen bezig bent dan kun je ook nog niet veel weten. Doe het lekker rustig aan, en het komt vanzelf wel goed. In elk geval veel succes met het leren van de taal. :)
 
Wanneer je een normale functie hebt met argumenten, zonder de '&' of '*' operator, dan wordt er een kopie van de variabele gemaakt. Wanneer je een '&' of een '*' gebruikt(by reference), dan wordt er geen kopie gemaakt maar gebruik je de variabele 'echt'.

Een voorbeeld is misschien wat makkelijker:

Code:
void plus_tienA(int i)
{
    i++; // i + 1
}

void plus_tienB(int& i)
{
    i++;
}

int main()
{
    int i = 5, j = 5;
    plus_tienA(i);
    plus_tienB(j);

    std::cout << "i: " <<  i << "\nj: " << j << '\n';
   return 0;
}

Omdat er bij de functie plus_tienA een kopie wordt gemaakt van de variabele, hebben de bewerkingen dus geen effect op de variabele die gebruikt wordt om de functie aan te roepen. Bij de functie plus_tienB hebben de handelingen wel effect op de variabele zelf, en daardoor is de uitkomst van dit programma dat de variabele 'i' gelijk is aan 5, en dat variabele 'j' gelijk is aan 6.

En de 's' bij 'std::cout << s' is de variabele die gebruikt is. (zie de parameter van de functie)

Maar als je net twee dagen bezig bent dan kun je ook nog niet veel weten. Doe het lekker rustig aan, en het komt vanzelf wel goed. In elk geval veel succes met het leren van de taal. :)

bedankt :) In plaats van handleidingen op internet t leren , heb ik een boek van iemand geleend over c++; en ik moet zeggen, het gaat nu veel vlotter :D
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan