C# Woordenboek/Bibliotheek

Status
Niet open voor verdere reacties.

goldenassasin

Gebruiker
Lid geworden
19 feb 2014
Berichten
5
Hallo beste leden.

Ik ben dit jaar gestart met een opleiding als applicatieontwikkelaar, maar ik zit nu met 2 opdrachten vast van de 50 en ik kom er maar niet uit.
Ik hoop dat jullie me willen helpen en dat jullie het niet te moeilijk maken kwa woorden die jullie zouden gebruiken. :P.

Bij opdracht 1 word 1 tekstbox en 1 button gebruikt.
opdracht 1
Woordenboek
Maak een array dat paren van equivalente Nederlands en Engelse woorden bevat. Voer dan een Nederlands woord in, zoek zijn Engelse equivalent ( wat betekent het woord equivalent?)
Zorg ervoor dat je controleert of het woord in het “woordenboek” staat.

Bij opdracht 2 word 1 tekstbox en 1 button gebruikt.
opdracht 2
Bibliotheek
Elk lid van de bibliotheek heeft een unieke gebruikerscode, een geheel getal. Als iemand een boek wil lenen wordt gecontroleerd of deze code geldig is.
Schrijf een programma dat een tabel met gebruikerscode doorzoekt om een specifieke code te vinden. Het programma moet een boodschap laten zien die aangeeft of de code al dan niet geldig is.


Het zou echt heel er fijn zijn, want ik zat er al een beetje mee te sjoemelen.
En dit leek mij niet echt het goede.

Bij opdracht 1 had ik dit tot nu toe, maar er klopt geen zak van :
[cpp]
string[] tabel = this.txtOpdracht1.Text.Split('\0');
tabel = new string[8] {"Leren", "Praten", "Lopen", "Rennen", "Slapen", "Computeren", "Maken", "Woordenboek" };

txtOpdracht1.Text = tabel.ToString();

string[] tabel2 = new string[8] {"Learning", "Talking", "Walking", "Running", "Sleeping", "Computing", "Making", "Dictionary"};

txtOpdracht1.Text = tabel2.ToString();
[/cpp]
Hoe moet ik dus dat als ik in de tekstbox Leren intypt, dat er Learning uitkomt.
Dus het benoemen van arrays.


Groetjes,

goldenassasin
 
Laatst bewerkt door een moderator:
Ik heb niet het idee dat er nog maar enige werkende vorm van logica in je programma zit.

De oplossing is eigenlijke erg eenvoudig. Het is hier niet de bedoeling dat we je huiswerk gaan maken, maar om je even verder te helpen...

Een array in .net framework heeft een methode genaamd indexOf(). Hiermee kun je in een array zoeken of een bepaalde waarde daarin voorkomt, dit geeft dan de index terug. Wanneer dit niet bestaat binnen de array geeft dit de waarde -1 terug.

Met die index kun je uit de tweede array de bijhorende waarde vinden, maar pas op. als je niet opvangt dat de ingevoerde waarde niet in de eerste array staat, en je krijgt een -1 als index, en je probeert uit de tweede array de waarden te krijgen achter -1, dan krijg je een outofboundsexception( of iets in die richting). Vang dat dus op om problemen te voorkomen, en geef bijv terug aan de gebruiker dat het nederlandse woord niet kan worden gevonden. :)

hier staat de uitleg over die methode in c#: http://msdn.microsoft.com/en-us/library/system.array.indexof(v=vs.110).aspx
 
Laatst bewerkt:
Hallo Roy,
Bedankt voor het andwoorden op mijn vraag.
Sorry voor dit, maar dit heb ik niet gedaan zodat jullie mijn huiswerk kunnen gaan maken.
Ik wil vraag alleen wat uitleg, maar mijn school legt het anders uit.
Kan ik anders verder praten met jou op Skype? Ik zag dat je Skype had.

Dan laat ik via screenshare zien hoe mijn code eruit ziet.

Groetjes,

goldenassasin
 
Kun je overweg met die uitleg die ik zojuist heb gegeven? Je zou me eventueel op skype kunnen toevoegen, maar vanavond laat zou ik pas kunnen meekijken.
 
Nou eigenlijk niet, want ik heb het anders uitgelegt gekregen en heel weinig uitgelegt gekregen.

Ik wil een PowerPoint invoegen, maar dat lukt blijkbaar niet.
Ik heb je toegevoegt op Skype. Ik kan je daar wel sturen van wat ik heb gekregen kwa informatie om die opgaves te maken.

Groeten,

Goldenassasin
 
Je hebt niet het uitgelegd gekregen, je hebt één van de x aantal mogelijke uitwerkingen uitgelegd gekregen. je kan ook met allerlei loopjes te werk gaan, maar gebruik maken van functies die al voor je zijn geschreven is toch ook gewoon in orde?
 
Ja, maar ik begrijp niet hoe ik het uitgelegt heb gekregen. Het was onduidelijk.
Daarom wou ik bijvoorbeeld jou die PowerPoint sturen, zodat ik het uitgelegt kon krijgen.
Op internet staat alles wel, maar niet op de manier dat ik zou moeten snappen.
 
Even de simpele vraag, waarom doe je:
string[] tabel = this.txtOpdracht1.Text.Split('\0');

kan je niet beter gelijk dit doen:
string[] tabel = new string[8] {"Leren", "Praten", "Lopen", "Rennen", "Slapen", "Computeren", "Maken", "Woordenboek" };

textOpdracht1 is een textbox?


Ik neem aan dat je in de textbox een waarde in kan voeren bijvoorbeeld "Leren" en dat er in een ander veld "Learning" komt?
Zoals RoyB3 zegt je kan de index gebruiken:
tabel2[Array.IndexOf(tabel, "Maken")];

maar ik denk dat het doel van de opdracht is om juist gebruik te maken van een loop, maar goed dat is aan jezelf.
Zoals Roy ook al aangaf zet het wel met een try/catch neer :)

Good luck
 
Try catch vind ik niet de oplossing, dat is het probleem opvangen. Maar voorkomen is beter dan genezen, dus meer iets van:

Code:
String text = "Leren";                                   //Hier moet de input komen, "leren" bijv vervangen door txtOpdracht1.Text, noem ook control's naar waar zo voor zijn.
String[] woordenboekNL = new String[8] {"Leren", "Praten", "Lopen", "Rennen", "Slapen", "Computeren", "Maken", "Woordenboek" };      //noem ook objecten/variablen naar waar ze voor bedoelt zijn.
String[] woordenboekEN = new String[8] {"Learning", "Talking", "Walking", "Running", "Sleeping", "Computing", "Making", "Dictionary"}; //noem ook objecten/variablen naar waar ze voor bedoelt zijn.
int i = Array.IndexOf(woordenboekNL, text); //Wanneer het woord niet bestaat word i : -1
String resultaat = "woord niet gevonden";    // Alvast een standaard bericht, scheelt weer een (if)else statement.
if( i > -1)                                                   //Als het woord bestaat dan is de index 0 of hoger, 0 is het eerste object in de array.
{                                                               //omdat er maar 1 regel code in de if statement staat mogen de brackets in principe weg, maar voor de duidelijkheid laat ik ze er maar even bij staan.
  resultaat = woordenboekEN[i];                 // hier wordt resultaat de waarde uit het engelse woordenboek array die op dezelfde index staat waar het nederlandse woord stond in de nederlandse woordenboek array.
}
 
Bedankt voor alle hulp! Jullie hebben me goed vooruit geholpen. Op school werd dit namelijk niet zo uitgelegt.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan