-
March 22nd, 2013, 10:23 PM
#1
English to Pig Latin translator
Working on an English to Pig Latin translator. When I click Translate I am getting:
System.Windows.Forms.TextBox.Text: System.Windows.Forms.TextBox.Text:Syst..using System;
Here's the code I have so far, any help narrowing this down would be greatly appreciated.
Code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace CSA_164_Midterm
{
public partial class frmTranslator : Form
{
public frmTranslator()
{
InitializeComponent();
}
private void btnTranslation_Click(object sender, EventArgs e)
{
string english = Convert.ToString(txtInput.Text);
string pigLatin = "";
string firstLetter;
string restOfWord;
string vowels = "AEIOUaeiou";
int letterPos;
foreach (string word in english.Split())
{
firstLetter = word.Substring(0,1);
restOfWord = word.Substring(1,word.Length - 1);
letterPos = vowels.IndexOf(firstLetter);
if (letterPos == -1)
{
pigLatin = restOfWord + firstLetter + "ay";
}
else
{
pigLatin = word + "way";
}
txtTranslation.Text = txtTranslation.ToString();
txtInput.Focus();
}
}
private void btnClear_Click(object sender, EventArgs e)
{
txtInput.Text = "";
txtTranslation.Text = "";
}
private void btnExit_Click(object sender, EventArgs e)
{
this.Close();
}
}
}
-
March 24th, 2013, 06:03 PM
#2
Re: English to Pig Latin translator
Ok, so I have gotten further in this, but now it is just translating the last word I enter in the English box. Any general ideas of why this isn't working? I'm guessing I am not loading the translated words correctly. Thanks for looking.
Code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace CSA_164_Midterm
{
public partial class frmTranslator : Form
{
public frmTranslator()
{
InitializeComponent();
}
private void btnTranslation_Click(object sender, EventArgs e)
{
string english = Convert.ToString(txtInput.Text);
string pigLatin = "";
string firstLetter;
string restOfWord;
string vowels = "AEIOUaeiou";
int letterPos;
foreach (string word in english.Split())
{
firstLetter = word.Substring(0,1);
restOfWord = word.Substring(1,word.Length - 1);
letterPos = vowels.IndexOf(firstLetter);
if (letterPos == -1)
{
pigLatin = restOfWord + firstLetter + "ay";
}
else
{
pigLatin = word + "way";
}
txtTranslation.Text = pigLatin;
txtInput.Focus();
}
}
private void btnClear_Click(object sender, EventArgs e)
{
txtInput.Text = "";
txtTranslation.Text = "";
}
private void btnExit_Click(object sender, EventArgs e)
{
this.Close();
}
}
}
-
March 25th, 2013, 03:13 PM
#3
Re: English to Pig Latin translator
try this
Code:
if (letterPos == -1)
{
pigLatin = pigLatin + " " + restOfWord + firstLetter + "ay";
}
else
{
pigLatin = pigLatin + " " + word + "way";
}
Curt
-
March 26th, 2013, 12:33 AM
#4
Re: English to Pig Latin translator
If I am looking at the code correctly then the issue is within your foreach loop.
Code:
// The loop extracts each word from the text box to translate it into pig latin
foreach (string word in english.Split())
{
firstLetter = word.Substring(0,1);
restOfWord = word.Substring(1,word.Length - 1);
letterPos = vowels.IndexOf(firstLetter);
// Check for condition and set pigLatin variable to correct phrase
if (letterPos == -1)
{
pigLatin = restOfWord + firstLetter + "ay";
}
else
{
pigLatin = word + "way";
}
// Replaces text in txtTranslation with word stored in variable pigLatin
txtTranslation.Text = pigLatin;
txtInput.Focus();
}
If you look at
Code:
txtTranslation.Text = pigLatin;
You can see that it sets the translated word into the text box. The issue is not that it is only translating the last word but it replaces the previous word. If you want the whole sentence you have to append the new text into the text box.
I may be wrong since I just took a brief overlook at the code. If it still causing an issue I'll look it over when I have a bit more time on my hands.
Last edited by Ubiquitous; March 26th, 2013 at 12:35 AM.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|