Problemen met inlezen van vectors en een nieuwe waarde inplaatsen gaat niet

Status
Niet open voor verdere reacties.

techno76

Nieuwe gebruiker
Lid geworden
29 sep 2007
Berichten
2
Hallo iedereen

Terug van weggeweest ik heb nu mijn computer teryg en kan zo vlot zien als de vragen zijn beantwoord of niet, sorry daarvoor maar dit zal niet meer gebeuren

Ik heb een oefening gemaakt tracht hem te compileren en krijg rare fouten kan iemand eens nazien wat hier fout is gegaan misschien iets vergeten weet het niet meer snap er niks meer van dat het niet werkt

Kan mij iemand helpen om die code de fout eruit te halen?

Code:
/*
1) Schrijf een functie die alle exemplaren van een bepaalde letter in een string vervangt door een andere letter. 
Het prototype van de functie is:

void vervang( string& s, char bron, char doel);

Voorbeeld:
string str ("staal");
vervang (str, 'a', 'e');
cout << str <<endl;

De uitvoer is: steel

Maak bij het schrijven van deze functie gebruik van een iterator, maar niet van de functies find() en replace().

Maak vervolgens nog een functie vervang2() die hetzelfde doet als de eerste functie maar maak nu gebruik 
van de functie find() en replace().

void vervang2( string& s, char bron, char doel);


#include <iostream>
#include <iomanip>
#include <string>


using namespace std;

void maakBufferLeeg();
void vervang( string& s, char bron, char doel);
void vervang2( string& s, char bron, char doel);


int main()
{
	string naam;
	char b ='e'; //bron character
	char d ='a'; //doel character
	cout<< "Voer een string in: ";
	getline (cin, naam);
	//maakBufferLeeg();
	cout << "Dit is de ingevoerde string: " <<naam<<endl;
	cout << "In die string zal " <<b<<" vervangen worden door "<<d<<"."<<endl;
	vervang2 ( naam, b,d);			//welke methode ga je gebruiken?
	cout << "Dit is de uiteindelijk omgevormde string: "<<endl;
	cout << naam <<endl;
	cout << "Druk op enter om het programma te verlaten."<<endl;
	cin.get();
    return 0;
}

	void vervang( string& s, char bron, char doel)
	{	
		string::iterator pos;
			for (pos = s.begin(); pos != s.end() ; ++pos){
				if ( *pos==bron){
					*pos=doel;
				}
			}
	}

	void vervang2( string& s, char bron, char doel)
	{
		string temp;
		temp=doel;
		s.replace(s.find( bron ), 1 , temp);  // replace (positie, hoeveel karakters moeten aangepast worden, wat in de plaats)
	}

	void maakBufferLeeg(){
		string temp;
		getline(cin, temp);
	}

Dat is mijn oplossing
 
Je begint je programma met commentaar ( /* )
maar je geeft niet aan waar het commentaar eindigt ( */ ).
Ik denk dat je die commentaar afsluiting net vóór je #include opdrachten moet zetten, omdat klaarblijkelijk daar je programma-code echt begint.
Uitleg

Misschien ligt daar de fout? (Verder kan ik je niet helpen, ben geen c++ programmeur).

Succes,

Tijs.
 
Laatst bewerkt:
Hallo

Heb het ondertussen wel gevonden, van die commentaar dat wist ik maar van dat andere heb ik één uur zitten op zoeken
 
Je probleem is dus opgelost?

Dan graag klikken op Vraag is opgelost, in het vakje Status van de vraag, rechtsonderaan de pagina.

Tijs.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan