Visual C++ :: Creating Containers That Respond To User Actions?
Oct 16, 2013
I am looking for direction on what topic I should be reading up on. I am new to C++ and Windows MFC.
This is my real world problem, in the context of the application user. (these term do not refer to OPP concepts)
I want to create shapes (containers) in an application that will respond and collect other objects;
Imagine a Windows frame, containing several 2 dimensional squares. I want to be able to drag and drop marbles into the squares,and have the square retain and display the marbles in the square, in the order that they were dropped in.
How do I create the shapes, and how will the square sense when a marble is over it?
How would I create irregular shapes (a combination of lines and curves) that would be responsive to the marbles?
View 2 Replies
ADVERTISEMENT
May 1, 2013
Write a user-friendly C++ program that allows a user to select repeatedly an operation to be performed from a displayed menu of actions. The menu includes the following items:
1. Simple Statistics
2. Vector Addition
3. Dot Product
4. Exit
The menu actions are described by the following points:
Simple Statistics: This action includes finding the average, and standard deviation of a list of data items. The option should allow the user to specify the name of a file from which the data are read into an array. All the results of this option are displayed on the screen.
Vector Addition: This action allows the user to enter the name of a file from which two vectors, V1 and V2, of equal size N are read. Accordingly, the two vectors are added, and displayed along with the resultant vector on the screen. Your program should check that the two added vectors are of the same size. Otherwise, the program should display a message and allow the user to make another choice from the menu.
Dot Product: This action is similar to the Vector Addition in terms of input, output, and checking validity of the vector operands.
Exit: This action terminates the program.
Your program should include at least the following functions:
1. A function, called ReadVector(), which reads a vector of any size from a given file name, and returns the vector and its size to the caller. The function prototype is defined as follows:
void ReadVector(double V[], int &size, ifstream infile);
2. A function, called DisplayMenu(), which displays the menu and returns the user’s choice as an integer value between 1 and 4. The function prototype is defined as follows:
int DisplayMenu (void);
3. A function, called VectorAdd(), which performs the addition of two vectors, A and B, and returns the resultant vector, C. The function prototype is defined as follows:
void VectorAdd(const double A[], const double B[], double C[], int size);
The sum of two vectors, A = (a1, a2, …, an) and B = (b1, b2, …, bn) of size n, is defined as: C = A + B.
Where, C = (c1, c2, …, cn), and ci = ai + bi, for1 i n .
4. A function, called DotProduct(), which performs the dot product of two vectors, A and B, and returns the result. The function prototype is defined as follows:
void DotProduct(const double A[], const double B[], int size, double &result);
The dot-product of two vectors A = (a1, a2, …, an) and B = (b1, b2, …, bn) of size n is defined as
n n
n
i
i i b a ....... b a b a b a B . A
1 1 2 2
1
5. A function, called Simple_Stat(), which finds the maximum, minimum, average, and standard deviation of a list of data items passed to it by a one-dimensional array. The function returns the average and standard deviation values. The function prototype is defined as follows:
void Simple_Stat(const double list[], int size, double &average, double
&std_dev);
View 1 Replies
View Related
Mar 4, 2014
I'm trying to implement keyboard controls to move a sphere(Player) with respond to keypress. Currently, when I press any key my character will move to the right by 0.1. How can I move my character with w(up),a(left),s(down),d(right) in their respective directions using respond to keypress?
Code:
class Player {
private:
double x, y;
public:
Player(double a, double b){x=a;y=b;}
void respondtokeypress(char a)
[Code] ....
View 8 Replies
View Related
Jan 2, 2014
I have a problem in a c++ project. I have created a .dll file and hooked to an .exe
I want this .dll to make a ping or to send a message like hello somewhere, and IF ping or message doesn't receive an answer that's means the user has suspended-terminated this dll from the exe then the exe will close. How can i do that?
View 11 Replies
View Related
Nov 26, 2013
I want the phrase "BUY TICKET" to trigger something, i'm thinking an if statement, and then assign the number after the phrase to another variable. There will also be other commands entered from the input file such as "BUY RAFFLE' "TOTAL REVENUE" on the following lines. Sounds like I need to compare a string(?) to a constant phrase, and if they match have it run the specific code?
Code:
//scan in from file
fscanf(ifp, "%c", &input);
if (input == 'BUY TICKET'){
//Run this
}
How to do it using the tools in C.
View 4 Replies
View Related
Jul 29, 2013
I'm tying to create a program that evaluates all possible actions for a certain problem.
So what i'm basically trying to do is to create a sequence of actions, evaluate them to check if it's the best sequence, change the sequence, evaluate again and so on until all possible scenarios are exhausted, leaving the best one in the end.
My approach to this at first was to create a tree of all possible options and then evaluate each branch. Since there are a lot of possible cases i ran out of memory while the program was still creating the tree. I changed this to create just a branch, evaluate it and then modify it.
I was still getting memory problems. I declared a class tNode and declared a vector<tNode*> branch. Then i created all the nodes i needed for that branch with branch.push_back( new tNode() ). When i wanted to modify the branch i simply used branch.pop_back() and again a branch.push_back( new tNode() ). I figured i was getting the problem because although i clear the vector, i don't actually clear the reference in memory. Is this correct? If so, how can i actually delete the memory space and not just the pointer in the vector?
View 6 Replies
View Related
Mar 6, 2015
What C command responds to a keyboard hit? I want to exit in an orderly manner from a continuous loop when a key is pressed.
View 5 Replies
View Related
Oct 17, 2012
I am studying the creation of classes in C + +. When executing the code below the method LEN class String2 not work.
code ----------------------------------------------------------------------------------------------
#include <iostream>
#include <string.h>
using namespace std;
[Code]......
View 4 Replies
View Related
Aug 25, 2014
i'm using DataGridView and the sorting operation,by clicking the column header, is working fine , but when i add the drag and drop operation it doesn't respond . i think it can be fixed by disabling the drag and drop for the headers, but i just couldn't find a way to do that.
View 7 Replies
View Related
Aug 14, 2014
At the moment I am making program that will use a 2d selection of "cells" to make a "map" of sorts. However, the size will not be known until run time.
I figured using an array would good, because once the size is chosen it won't be changed. However I can't create an array without using a constant.
So the first question is, can I create a constant at run-time with a user entered value that can then be used for an array size? If so, how?
Otherwise, what are my options to achieve this? I know vectors can be used, but A, my compiler keeps giving me problems even when C&P some code bits (yes I even remembered to #include and such) and B, I noticed that vectors reserve extra memory for when the size changes but this is bad (well my dinky little program won't notice, but trying to set good habits as I learn, so I'm keeping it in mind) as I don't need and don't want to allow the size to change after creation.
Which leads to number three, if I do have to use vectors, how can I prevent any accidental size changes after the initial size is determined?
View 4 Replies
View Related
Feb 21, 2014
I've been working on a project that involves storing pointers to dynamically allocated class objects in an STL list, but trying to run it something's going wrong.
list<Actor*>::iterator it;
for(it = m_actors.begin() ; it != m_actors.end() ; ++it)
{
delete *it;
[Code]....
But it seems like that has a memory leak. Does pop_front() just call the destructor for the object, or will it delete a dynamically allocated chunk of memory? If not, how can I do that deletion to avoid a memory leak?
View 4 Replies
View Related
Feb 14, 2015
Im trying to create a function that searches my array for a specific string, and then displays that string and the other content associated with it. I'm basically searching for a keyword within an array that has multiple strings with in each element.
View 4 Replies
View Related
Mar 6, 2015
I want to create a game that will test the attention and mind flexibility of the user. So the challenge is The user will be given 50 rounds, and each round should generate a random combination of text and words.Then the user must Press 'Y' if the UPPER CASE text spells out a color that match the BACKGROUND. But if the text are in LOWERCASE the user must press 'N'.(Note: you can change the keys to any key from the keyboard if you wish to)
Then I also want my program to record the high score each time the program prompts the user if he/she wishes to play again.
I also want to control the combinations by NOT allowing the text color and background color to be the same.
I also want the combination to generate an AVERAGE of 50% correct combination and 50% wrong combinations. The I want to use is only Red, Blue and Green
HIGH SCORE Determinants:
1. Accuracy ( (Number of corrects / 50 ) * 100% ) - The higher the better.
2. Time in seconds (Time Ended - Time Started) - the lower the better.
Computation for high score: 10 000 * ( (Accuracy) - (2 x total Attempts - Time) )
View 6 Replies
View Related
Oct 7, 2013
The output I'm getting here just counts every letter in the sentence and counts them as vowels. I'm trying to make the user defined function return the amount of vowels within the sentence.
#include <iostream>
#include <iomanip>
#include <cmath>
[Code].....
View 4 Replies
View Related
Apr 8, 2013
I am trying to write a loop that will iterate through a char array in C and pull the IP addresses and test them to see if they respond. My ultimate goal is to have the first one that responds returned in the function, but the loop is not running correctly. It will run through right the first time, but then will start over again.
Code:
const char * getServer(char *svrList) {
char *srList;
srList = strtok(svrList, " ," );
printf("Contents of srList b4 loop: %s
", srList);
printf("Server List: %s
", svrList);
[Code] ....
Code output:
Contents of srList b4 loop: 1.1.1.1
Server List: 1.1.1.1
result is "1.1.1.1"
Hitting else loop
Contents of srList in else: 2.2.2.2
result is "2.2.2.2"
result is "2.2.2.2"
Contents of srList b4 loop: 1.1.1.1
Server List: 1.1.1.1
result is "1.1.1.1"
Hitting else loop
Contents of srList in else: (null)
View 14 Replies
View Related
Jul 1, 2012
I need to create function Sum() that calculates sum between two containers. Code below work fine except function Sum between two containers...
How I should re - write my code that everything work fine.
Condition of exercise is : "Also create a Sum() function that calculates the sum between two iterators. The function then uses the template argument for the iterator type and accepts two iterators, the start- and end iterator"
1>------ Build started: Project: HP2_ex2_iter, Configuration: Debug Win32 ------
1> main.cpp
1>c:all myс++ha level 7solutionlevel 7 homework overview of the standard template libraryhp2_ex2_itermain.cpp(47): error C2275: 'C1' : illegal use of this type as an expression
[Code]...
View 5 Replies
View Related
Jul 18, 2012
So i made an STL compatible container.And to make this work I had to make my own iterator (derived from std::iterator).
What is the portable (if any) and "well behaved" thing to do in case of usage anomalies.such as iterating an iterator too far, or passing an invalid index to a operator[]
Looking at how VC++ does things in something like std::array or std::vector.
Code:
iterator_type& operator+=(difference_type offset)
{// increment by integer
#if _ITERATOR_DEBUG_LEVEL == 2
if (size < index + offset)
{// report error
[Code] .....
lots of names starting with underscores, so it's implementation specific. Is there even a "well behaved" thing to do ? Or is any such work always going to be compiler specific?
View 2 Replies
View Related
Oct 27, 2012
I have a situation where I have two identical storage containers:
Code:
////////////// multiplatform version
union _SOVector3 {
struct { float x, y, z; };
struct { float r, g, b; };
float v[3];
[Code] .....
SOVector3 is part of a namespace with specialized functions that are generic and intended for multiplatform usage.
GLKVector3 is dedicated to the Mac and has its own set of functions.
But what I want to do is freely interchange the storage between these two namespaces. Such as like this:
Code:
start = clock();
SOVector4 myVec4 = SOVector4Make(1.0f, 3.0, 6.0f, 1.0);
SOMatrix4 myMat4 = SOMatrix4Identity;
for (uint i=0; i<100000; ++i ) {
[Code] ....
But I am getting errors when I typecast this.
View 1 Replies
View Related
Apr 23, 2013
In class we were asked to create a C++ BTree program that would allow a user to input the following data types and then store said data in a .txt file:
0. ID 8 bytes
1. First name 30 char
2. Last Name 30 char
3. Street Address one 30 char
4. Street Adress two 30 char
5. City 30 char
6. State 20 char
7. Zip 10 char
8. Country 30 char
(I'm not particularly asking for full code, pseudo code would also be great). I had a great deal of my work done, unfortunately, the computer I was working on crashed, corrupting my files.
View 4 Replies
View Related
Dec 31, 2012
I'm new to c++ and I want to create an infinite sheet on which a user could be able to write notes and place images. Any GUI library that I could use to do that?
View 2 Replies
View Related
Apr 6, 2014
I am currently having problems creating a loop that will allow my user to choose to return to the beginning of the program or quit.
#include <iostream>
using namespace std;
int main() {
int j;
do {float a;
cout << "+----Welcome to Basic Operations----+
| Select Your Operation |
[Code] .....
I have not yet finished designing the interface for a couple of the operations, but right now i am hung up on trying to return to the beginning. I believe it is because the j was defined inside do and isn't carried out of the do statement for while.
View 13 Replies
View Related
Feb 19, 2013
How do i read a specific part of a file? I am trying to create a game that reads the prices of an object inputted by the user from a file. This is the code i have so far
#include <iostream>
#include <fstream>
using namespace std;
int main () {
ifstream infile;
infile.open ("Objects.txt", ifstream::in);
[Code] ....
The file contains this :
Example objects
( ) store items
(item) (purchase value)/(sell value)
Grocery Store Items
Fish 5 7
Vegetables 10 15
Drinks 20 30
Weapon Store Items
Pistol 300 375
Rifle 400 500
Ammunition 20 30
View 4 Replies
View Related
Jun 25, 2013
#include <iostream>
#include <vector>
using namespace std;
int main() {
int * ptr;
vector<int> data;
data.resize( 1000 );
[Code] ....
So I need container that doesn't rellocate their address, It doesn't need to be like vector that everything is in a single pointer such as
int * a = new int[2000];
I have a pointer pointing to a member of a container and it needs to remain valid... doing
vector<int *> Array;
// allocating
for( int i = 0; i < 1000; ++ i ){
Code] ...
Waste of time, allocating them and deallocate them seem to take some time too
a List is also not efficient enough because I access them based on index
It is not a int it is pointing to but a texture, for the sake of simpler example I pick int
So is there a container that doesn't change member address and allocate when it needs to expand ?
View 3 Replies
View Related
Mar 5, 2013
I need manipulating a set of containers. I created a vector that contained vectors of objects:
std::vector< std::vector<Terrain> > mapArray(num1, std::vector<Terrain>(num2));
where num1 and num2 are arbitrary numbers. and Terrain is the class of objects I'm trying to store.
I want to be able to use push_back on both the main vector and the vectors within the mapArray vector but I'm unsure of how to target the inner vectors with push_back. How to dynamically store a 2D array of objects.
View 10 Replies
View Related
Feb 21, 2014
I'm trying to create a program that allows the user to enter an unknown number of income and expense amounts. The program has to us see a while loop and display the income total, expense total, and total profit or loss. I've got it really close, but I'm doing the loop wrong. It counts the sentinel value (-1) towards the total, instead of just ending like it is supposed to.
#include <iostream>
using namespace std;
int main() {
//declare variables
double incomeInput;
double expenseInput;
double incomeTotal=0;
double expenseTotal=0;
[code]....
View 5 Replies
View Related
Mar 14, 2012
Suppose I'm writing a program designed to simulate a large company. I'm interested in tracking each company employee by the location where they work. This company has perhaps a thousand different locations:
class Employee {
public:
AccessorFunction1(); // does something
AccessorFunction2(); // does something different
AccessorFunction3(); // does something completely different
protected:
// Some data
[code]....
Once employees are created and pointers to them are saved in the proper Location vector, I write an accessor function, OrganizeLocation(), designed to do a number of operations on a given vector. The problem is, I have maybe a thousand vectors. How do I call this function and specify which vector I want?
Currently, I'm using this clunky solution:
void Company::OrganizeLocation(int a){
switch(a) {
case 1: {
for(unsigned int i=0; i<LocationA.size(); i++) {
LocationA[i]->AccessorFunction1();
LocationA[i]->AccessorFunction2();
LocationA[i]->AccessorFunction3();
[code]....
The key point here is that whichever vector I choose to operate upon, I'll do the exact same procedure every time. I hate this solution because it results in very long and repetitive code not to mention its very error-prone when you re-editing all those "LocationA 's into "LocationB/C/D/etc."
void Company::OrganizeLocation( string $WhichOne$ ){
for(unsigned int i=0; i<LocationA.size(); i++) {
Location$WhichOne$[i]->AccessorFunction1();
Location$WhichOne$[i]->AccessorFunction2();
Location$WhichOne$[i]->AccessorFunction3();
}
Or, if it can't be done in C++, is there a better design approach? Ultimately I need the Company object to hold multiple vectors but use one compact accessor function to perform operations on just one of them.
View 5 Replies
View Related