|
You are to create a Windows application that contains a single form. The form will have three controls, a textbox, a button displaying the text “Parse” and a suitable UI control, preferably scrollable, used to display the results. After entering the text and clicking the Parse button, the program should output the number of times each letter in the alphabet occurs in the textbox. Case sensitivity is not required.
For example, if the user enters “baaad” as the text and hits the Parse Button, the result control should display:
There are 3 A's
There are 1 B's
There are 0 C's
There are 1 D's
There are 0 E's
There are 0 F's
etc...
This my my homework assignment.. Lol First let me say that im Lost!!!!!
I think i figured out how to get the correct count out of the text ive entered in the first textbox... But i dont know how to get it to correctly display "There are 3 A's" etc... in the result control...
Thank You in Advance
|
|
|
|
|
If you're struggling with this .. you need to find another course to do. This isn't a homework help board! Give it a try yourself and ask spefic questions but to give you a hint have a look at listbox and how to clear and add items!
|
|
|
|
|
Chris Maunder wrote: For those new to message boards please try to follow a few simple rules when posting your question.
Choose the correct forum for your message. Posting a VB.NET question in the C++ forum will end in tears.
Be specific! Don't ask "can someone send me the code to create an application that does 'X'. Pinpoint exactly what it is you need help with.
Keep the subject line brief, but descriptive. eg "File Serialization problem"
Keep the question as brief as possible. If you have to include code, include the smallest snippet of code you can.
If you are posting source code with your question, place it inside <pre></pre> tags, or click the "Ignore HTML tags in this message" check box.
Be courteous and DON'T SHOUT. Everyone here helps because they enjoy helping others, not because it's their job.
Please do not post links to your question in one forum from another, unrelated forum (such as the lounge). It will be deleted.
Do not be abusive, offensive, inappropriate or harass anyone on the boards. Doing so will get you kicked off and banned. Play nice.
If you have a school or university assignment, assume that your teacher or lecturer is also reading these forums.
No advertising or soliciting.
We reserve the right to move your posts to a more appropriate forum or to delete anything deemed inappropriate or illegal.
cheers,
Chris Maunder
CodeProject.com : C++ MVP
Need any more help?
Panic, Chaos, Destruction.
My work here is done.
|
|
|
|
|
I think it's cool that he's explicit about it being homework, and that we give some general pointers. We obviously should not give him copy and paste code.
Christian Graus
Driven to the arms of OSX by Vista.
"I am new to programming world. I have been learning c# for about past four weeks. I am quite acquainted with the fundamentals of c#. Now I have to work on a project which converts given flat files to XML using the XML serialization method" - SK64 ( but the forums have stuff like this posted every day )
|
|
|
|
|
Well, we don't want to do your homework for you. You can use foreach to step over the characters in a string, and then you can count characters from there. I would use a dictionary that maps characters to numbers to do that.
Christian Graus
Driven to the arms of OSX by Vista.
"I am new to programming world. I have been learning c# for about past four weeks. I am quite acquainted with the fundamentals of c#. Now I have to work on a project which converts given flat files to XML using the XML serialization method" - SK64 ( but the forums have stuff like this posted every day )
|
|
|
|
|
Ok, this is homework, so I'll give you no code example!
for each character (c) in the string increment a count in an array of 26 integers depending on which letter of the alphabet it is.
Then go around a loop 26 times, writing "there are {n} {c}'s" where {n} is the integer from the array, and {c} is the letter.
Write these into a text box which will accept multiple lines, and you are done.
No trees were harmed in the sending of this message; however, a significant number of electrons were slightly inconvenienced.
This message is made of fully recyclable Zeros and Ones
|
|
|
|
|
First lemme preface this by saying im new to the whole forum thing so i apologize if i didnt present this in a correct manner...
and secondly im not trying to weasel my way out of an assignment i really want to learn visual C#... i just have a project due today that for family reasons im just finishing up...
So if i had to ask 1 question:
From inside my button function how do i get multiple lines of text to show in a textbox......
because if i do multiple lines of "textbox1.text =" it'll just keep changing its contents
|
|
|
|
|
textbox1.Text += (Environment.NewLine + myNewLineOfText);
DaveBTW, in software, hope and pray is not a viable strategy. (Luc Pattyn) Visual Basic is not used by normal people so we're not covering it here. (Uncyclopedia) Why are you using VB6? Do you hate yourself? (Christian Graus)
|
|
|
|
|
Mo Chips wrote: i figured out how to get the correct count
That's the harder part done...
Mo Chips wrote: i dont know how to get it to correctly display ... in the result control
What control are you using to display the result? How do you have the result in memory - in an array, a dictionary, a list or just a count variable for each letter?
Another thought is how are you handling upper/lower case letters? Is it going to be used for non standard characters or digits etc...
This is part of the art of programming. Predicting and handling scenarios that could possibly cause your code to fail.
DaveBTW, in software, hope and pray is not a viable strategy. (Luc Pattyn) Visual Basic is not used by normal people so we're not covering it here. (Uncyclopedia) Why are you using VB6? Do you hate yourself? (Christian Graus)
|
|
|
|
|
IM familiar with C so I have a count set up for each letter... Ive done all this in the button function..
Im not familiar with any Visual Programming Languages so the prob im having is on the buttonclick event having the reults show in a textboxt... i know i should use "textbox.text =" but i dont know the code to have the multiple counts i have in memory to show in that textbox
|
|
|
|
|
I've shown you how to append to the text above.
I'd be tempted to use a ListBox for this and just add a new Item for each one, for two reasons.
1. It's easier
2. It's not editable by the end user.
There are other issues with updating strings that way too - if you want to persist with a TextBox, consider using a StringBuilder and calling its ToString method to update the text box just before you return from the method.
DaveBTW, in software, hope and pray is not a viable strategy. (Luc Pattyn) Visual Basic is not used by normal people so we're not covering it here. (Uncyclopedia) Why are you using VB6? Do you hate yourself? (Christian Graus)
|
|
|
|
|
Thanx Davey.... Im going to try the listbox.. Like i said ive NEVER used any Visual C# before so all i know is textbox thru watching youtube videos lol...
To be honest this program im doing is to get accepted into a class to learn Visual C#.. By completing this satisfactory Ill get the opportunity to learn the Language for free.. With this recession going on free always sounds good.....
so Im just tryna feel my way thru with trial and error.. if this was Pascal i would have been finished lol but i guess u can see how outdated i am
|
|
|
|
|
textbox2.Clear();
string input = textbox1.Text;
for(int i = 1; i <= 26; i++)
{
char letter = (char)(64 + i);
int count = 0;
foreach(char c in input)
{
if(char.ToUpper(c) == letter)
count++;
}
textbox2.AppendText("There are " + count + " " + letter + "'s" + Environment.NewLine);
}
...this can be called from you button event handler... easy
Life goes very fast. Tomorrow, today is already yesterday.
modified on Tuesday, May 12, 2009 10:20 AM
|
|
|
|
|
First off the idea is to give points as it is homework and second I would look at your solution again as it's messy. You end up doing 26 loops over the length of the string!
Think of a different way, use a list or dictionary.
|
|
|
|
|
hopingToCode wrote: First off the idea is to give points as it is homework
what else can demonstrate a solution as good as an example?
hopingToCode wrote: I would look at your solution again
So if you would look at my solution again then you must like it
hopingToCode wrote: You end up doing 26 loops over the length of the string!
Guess what, I wrote it so I already know its not the best solution, the point was it was short code to exemplify a possible solution
Life goes very fast. Tomorrow, today is already yesterday.
|
|
|
|
|
To be honest this program im doing is to get accepted into a class to learn Visual C# so its technically not a homework assignment because im not in a class.....
By completing this satisfactory I'll get the opportunity to learn the Language for free.. With this recession going on free always sounds good.....
Ive never coded in visual C#.... ive done some Pascal and C in HS ive just been tryna teach myself because i came across this opportunity to be taught the Language for Free...
I really appreciate everyone's help... but if someone will tell me how to keep my reults from being displayed on one line ill be the happiest guy on the planet
|
|
|
|
|
Mo Chips wrote: how to keep my reults from being displayed on one line
If you use a ListBox as suggested earlier then assuming your ListBox is called listBoxResults and your text is in a string called yourResultString then:
listBoxResults.Items.Add(yourResultString); Doesn't get much easier.
DaveBTW, in software, hope and pray is not a viable strategy. (Luc Pattyn) Visual Basic is not used by normal people so we're not covering it here. (Uncyclopedia) Why are you using VB6? Do you hate yourself? (Christian Graus)
|
|
|
|
|
I understand what you're saying but it's also bad to get into bad programming habits, so better to optimism as much as possible.
I just had a go at doing it and it took me about 10 min
|
|
|
|
|
Its displaying the results all on oneline... how do i get it on seperate lines??
|
|
|
|
|
sorry... see the edited code.
But adding a new line in a string is something you should know before doing anything like this... so if you are willing to learn as you said then you should go to whomever set the homework and ask for some good book/websites for the basics.
...or you could use a listView then you wouldnt need the newlines
Life goes very fast. Tomorrow, today is already yesterday.
|
|
|
|
|
Hi there,
Is there a way to have the TabControl on a WinForm without showing the Tab header?
Kind regards,
Jr
|
|
|
|
|
Yes, use a panel!
Bob
Ashfield Consultants Ltd
Proud to be a 2009 Code Project MVP
|
|
|
|
|
Why would you want to?? You could just use different panels!
|
|
|
|
|
I think Ashfield and hopingtocode are (understandably) confused as to why you want to do this. If you created a TabControl without a tab header, how is the user going to select the tab division they want to veiw?
What are you trying to achieve?
No trees were harmed in the sending of this message; however, a significant number of electrons were slightly inconvenienced.
This message is made of fully recyclable Zeros and Ones
|
|
|
|
|
Well, I'm trying to create a wizard like interface. I will then add a Next and Previous button and provide the user with the ability to navigate through the pages.
|
|
|
|