Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Uitdaging: Methoden | Structs & Enumerators
C# Verder dan de Basis

bookUitdaging: Methoden

De code bevat een struct genaamd Cypher die in feite een soort Caesar-cijfer voorstelt.

Note
Opmerking

Het Caesar-cijfer is een methode voor tekstcodering die berichten onleesbaar maakt door elke letter een vast aantal posities in het alfabet of ASCII-tekens te verschuiven. Bijvoorbeeld, als elk teken in "HelloWorld" met 7 posities wordt verschoven volgens de ASCII-tabel, ontstaat "Olssv^vysk." Het is vergelijkbaar met een geheime code waarbij elke letter wordt vervangen door een andere letter een bepaald aantal stappen verderop. Dit kan worden gezien als een eenvoudige manier om berichten of tekst te verbergen.

Meer informatie over het Caesar-cijfer is te vinden op de Wikipedia-pagina, maar dit is niet noodzakelijk voor het oplossen van deze oefenopgave.

Lees de code en vul de lege plekken in zodat deze correct werkt. Het uiteindelijke programma hoort als volgt te functioneren:

  1. De methode setText zet de meegegeven tekst om in gecodeerde tekst en slaat deze op in het veld text. Deze methode neemt één argument van het type string met de naam text, en de methode geeft geen waarde terug;
  2. rawText retourneert de inhoud van het veld text. Deze methode neemt geen argumenten;
  3. decodedText decodeert de inhoud van het veld text en retourneert het resultaat. Ook deze methode neemt geen argumenten.
index.cs

index.cs

copy
1234567891011121314151617181920212223242526272829303132333435363738394041424344
using System; struct Cypher { public string text; ___ { string encodedText = ""; foreach(char chr in text) encodedText += (char) (chr + 7); ___ = encodedText; } public string rawText() { ___ } ___ { string decodedText = ""; foreach (char chr in this.text) decodedText += (char)(chr - 7); ___ } } class ConsoleApp { static void Main(string[] args) { Cypher text1 = new Cypher(); text1.setText("This is an example sentence."); Console.WriteLine(text1.rawText()); Console.WriteLine(text1.decodedText()); } }
  1. Het is goede praktijk om het sleutelwoord this te gebruiken wanneer je verwijst naar de velden van de struct.
  2. Je gebruikt het sleutelwoord void als returnwaarde wanneer de methode geen waarde teruggeeft.
index.cs

index.cs

copy
1234567891011121314151617181920212223242526272829303132333435363738394041424344
using System; struct Cypher { public string text; public void setText(string text) { string encodedText = ""; foreach (char chr in text) encodedText += (char)(chr + 7); this.text = encodedText; } public string rawText() { return this.text; } public string decodedText() { string decodedText = ""; foreach (char chr in this.text) decodedText += (char)(chr - 7); return decodedText; } } class ConsoleApp { static void Main(string[] args) { Cypher text1 = new Cypher(); text1.setText("This is an example sentence."); Console.WriteLine(text1.rawText()); Console.WriteLine(text1.decodedText()); } }
Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 7

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Suggested prompts:

Can you show me the code that needs to be filled in?

What are the blanks that need to be completed in the code?

Can you explain how the encoding and decoding should work in this context?

Awesome!

Completion rate improved to 2.04

bookUitdaging: Methoden

Veeg om het menu te tonen

De code bevat een struct genaamd Cypher die in feite een soort Caesar-cijfer voorstelt.

Note
Opmerking

Het Caesar-cijfer is een methode voor tekstcodering die berichten onleesbaar maakt door elke letter een vast aantal posities in het alfabet of ASCII-tekens te verschuiven. Bijvoorbeeld, als elk teken in "HelloWorld" met 7 posities wordt verschoven volgens de ASCII-tabel, ontstaat "Olssv^vysk." Het is vergelijkbaar met een geheime code waarbij elke letter wordt vervangen door een andere letter een bepaald aantal stappen verderop. Dit kan worden gezien als een eenvoudige manier om berichten of tekst te verbergen.

Meer informatie over het Caesar-cijfer is te vinden op de Wikipedia-pagina, maar dit is niet noodzakelijk voor het oplossen van deze oefenopgave.

Lees de code en vul de lege plekken in zodat deze correct werkt. Het uiteindelijke programma hoort als volgt te functioneren:

  1. De methode setText zet de meegegeven tekst om in gecodeerde tekst en slaat deze op in het veld text. Deze methode neemt één argument van het type string met de naam text, en de methode geeft geen waarde terug;
  2. rawText retourneert de inhoud van het veld text. Deze methode neemt geen argumenten;
  3. decodedText decodeert de inhoud van het veld text en retourneert het resultaat. Ook deze methode neemt geen argumenten.
index.cs

index.cs

copy
1234567891011121314151617181920212223242526272829303132333435363738394041424344
using System; struct Cypher { public string text; ___ { string encodedText = ""; foreach(char chr in text) encodedText += (char) (chr + 7); ___ = encodedText; } public string rawText() { ___ } ___ { string decodedText = ""; foreach (char chr in this.text) decodedText += (char)(chr - 7); ___ } } class ConsoleApp { static void Main(string[] args) { Cypher text1 = new Cypher(); text1.setText("This is an example sentence."); Console.WriteLine(text1.rawText()); Console.WriteLine(text1.decodedText()); } }
  1. Het is goede praktijk om het sleutelwoord this te gebruiken wanneer je verwijst naar de velden van de struct.
  2. Je gebruikt het sleutelwoord void als returnwaarde wanneer de methode geen waarde teruggeeft.
index.cs

index.cs

copy
1234567891011121314151617181920212223242526272829303132333435363738394041424344
using System; struct Cypher { public string text; public void setText(string text) { string encodedText = ""; foreach (char chr in text) encodedText += (char)(chr + 7); this.text = encodedText; } public string rawText() { return this.text; } public string decodedText() { string decodedText = ""; foreach (char chr in this.text) decodedText += (char)(chr - 7); return decodedText; } } class ConsoleApp { static void Main(string[] args) { Cypher text1 = new Cypher(); text1.setText("This is an example sentence."); Console.WriteLine(text1.rawText()); Console.WriteLine(text1.decodedText()); } }
Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 7
some-alt