C++ :: Adding New String Automatically For Each Name
Sep 17, 2012
Im doing a little game, casting dices etc. The problem is that the program will ask for player 1 then if i enter a name and enter it will ask for player two and so going on until i just press enter with a empty field and then continue the game.
The problem is i don't have any clue what code bits to start studying and how i shall lay it up, feels like i need a new string declaration automatically for each name.
void replace(string oldstring, string newstring) { int stroldstringpos=b.find(oldstring); b.replace(stroldstringpos,newstring.length(),newstring); }
i have 1 error in these function that i'm confused. imagine the newstring size is more big than the oldstring, how can change the string, but only change the oldstring and add what left? see these:
I am making a program that formats a string. I want to create a new 2 dimensional string that will have many other chars and strings in it beside the original string. Then I split the string up on the newlines and return it. Adding different parts to the 2d string e.g. I need to add five _ as chars not string then I need to add different things. First I use sprintf () to add as much as possible. And then I do what to add the rest?
I am wondering if integers and unsigned integers automatically assigned to zero (0) upon declaration like so:
bool randomFunction() { int i; if (i == 0) { return true; //Will most modern compilers return true here? } else { return false; } }
I am just curious as I have always initialized my ints/unsigned ints variables. Would save me a lot of typing if I didn't have to do this all of the time.
I know that floats and doubles you still have to initialize.
template<class T> class Singleton; class Base; class Sub : public Base, public Singleton<Sub>;
I' using underlying auto pointers, that's why Singleton is a template class and Sub passes itself as a template parameter. I'm developing Singleton and Base and a public API allows anyone to add their own sub classes. I actually want a real triple hierarchy like this:
template<class T> class Singleton; class Base : public Singleton<Base>; class Sub : public Base;
So that external developers don't have to worry about templates and complexity. The problem with this is that my implementation in Singleton will now call the constructor of Base whenever I create an instance of Sub (since the template parameter is Base).I was wondering if this could be done by pre-processor macros:
template<class T> class Singleton; class Base : public Singleton<__CLASS_NAME__>; class Sub : public Base;
Where __CLASS_NAME__ is the class name that will be replaced by the pre-processor. Theoretically this should be possible, since the __PRETTY_ FUNCTION__ macro actually returns the class name. The problem is that one cannot do string-manipulation to remove the function name from __PRETTY_FUNCTION__.
how I can accomplish this so that the Sub class is not aware of inheriting from a Singleton<template> class?
When using wxWidgets, i am tempted to deallocate memory using delete in the destructor, but my program crashes on closing. I try to do something like this:
class mainwnd:public wxFrame{ public: mainwnd():wxFrame(NULL,wxID_ANY,wxT("test")){ menubar=new wxMenuBar;
Say I have an object and 10 pointers to it in several other objects of varying class types. if the object gets deleted, those pointers have to be set to null. normally I would interconnect the object's class with the classes which have pointers to it so that it can notify them it is being deleted, and they can set their pointers to null. but this also has the burden that the classes must also notify the object when THEY are deleted since the object will need a pointer to them as well. That way the object doesn't call dereference a dangling pointer when it destructs and attempts to notify the others.
Auto pointers and shared pointers are not what I'm looking for - auto pointers delete their object when they destruct, and shared pointers do the same when no more shared pointers are pointing to it. What I'm looking for is a slick method for setting all pointers to an object to null when the object destructs.
I am new to programming all together but i have been writing a program in c++ and im coming up against an issue with my array.
#include<iostream> #include<iomanip> #include<string> using namespace int main () { int a ; int b ; char answer ('Y') ;
[Code] ....
I am trying to get the program to increase say year one by 1 when the condition is met i have tried
if ( a >= 70 && a <= 100 && b == 1) {grade [0][0] = 0 + 1;}
and
for (grade[0][0] = 0 ; a >= 70 && a <= 100 && b == 1 ; grade [0][0]++) {grade [0][0]= 0 + 1 ;}
Now all that i want is that the array will take the information from int a and int b and then add 1 to the appropriate part of the array . I have tried putting it in deferent places but its not working for ether. the program will run but it will not add to the array.
I recently noticed that I don't need to include the required header files inside header files that I have written myself. As as example, GLuint is defined using typedef unsigned int GLuint; inside glew.h. If I create a sample.hpp header file and mention GLuint without including glew.h, the compiler automatically works out that there is a typedef in glew.h. However, if I mention GLuint in a source file the compiler starts to complain. I have seen this happen in VS 2010 and 2013.
Edit: I should have mentioned that I am not including any other header files so I'm not indirectly including glew.h
If we have to arrange large array structure, and we should also have to set a field which is the 'index' of elements in the structure array as:
typedef struct { int index; char [MENU_ELEMENTS_CHAR_MAX]; int value; boolean enable; } stc_MenuEntry; const stc_MenuEntry GlobMenu[] =
[Code] ....
Suppose we have a lot of row like those written before: also many structured array , and we should mantain: inserting and deleting elements, without having to worry about index error insertion, what kind of preprocess should we choose to best perform the automatic field writing? Obviously we could set properly any array field as:
Just to make the task easier, maybe to allow a 'program filter' to find and subtitute the field as required.
We should also put theese menu variable in RAM, and perform the field init, setting the index at run time, but if we want to save RAM (const attribute chosen) we must find a solution.
I thought about UNIX/LINUX OS filter like sed and awk which would maybe perform the task, before giving the source file to the building process, but I'm working on Windows environment and I don't know the appropriate tool to do this kind of work.
In my program, I create controls by deriving base objects of them I've made. These controls are then are attached within the OnCreate() function via a method I've created. For example:
Code: class tChat: public TextBox { public: void OnKeyDown(UINT &KeyCode) { if (KeyCode == VK_RETURN) { MessageBox(NULL, "Pressed enter!", NULL, 0); [Code] ....
The use of AddControl() feels quite redundant and is only their to parse a pointer to txtChat's Parent. I'm trying to see if it's possible to remove this line and automatically associate txtChat to fMain.
The user can then derive the Form and Controls and use their virtual OnEVENT functions to handle all the messages they expose.
So far my first concept is using the order-of-creation based on base-class constructor's being fired to determine which object is associated with what.
If I create a copy of a class (i.e. a Form-derived object), first the Form's constructor is fired, and then the constructor's of any class-based member-variables are fired. Is this a safe assumption? I imagine the only time this could be affected is by another thread creating the object of a Form or Control derivative?
If this assumption is true, I could save the 'this' pointer from the FormBase constructor, and then associate it with each Control via the base Control class' constructor? Then to ensure thread-safety, I could map the current FormBase pointer to the local thread id to ensure no conflict if multiply threads are creating forms at the same time?
I've created some mock-up code before trying to implement this into my main code. The following keeps track of the current Form being created by using a ThreadId-based map. When a control is created it gets the FormBase pointer based of it's ThreadId calling. The control then calls an Attach() function of it's parent Form using the pointer it just got, and parses a pointer to the control. The Form then adds the control's pointer to a list. When the Form eventually parses WM_CREATE, it automatically pulls the controls from the list and fires their virtual Create() functions to build them.
Mock-up:
Code: #include <Windows.h> #include <string> #include <map> #include <list> class FormBase;// Forward declaration class FormMap;// Forward declaration class Object {};// Base Object
[Code] ....
Is this plausible to use? I imagine C++ does not have many "guarantees" about how it creates objects and when. But I thought it would be safe that it would never create member-variables before the class of them is first created?
Given an array of angles A = [0 30 60 90 120 150 180 210 240 270 300 330 360]
Write a program that will generate the data set of angles automatically and provide three columns; sin(angle), cos(angle), tan(angle). Make this program as compact and readable as possible.
Ok I'm on a Windows machine and I'm writing a simple tool to dump and touch ttf files. It's almost done except that the command line parser is giving nightmares. how do I stop the shell from automatically converting wildcards in arguments to directory listings? (I first flatten all arguments to a single string before parsing)
So far I have managed to write the code for a simple game (resembling to "Pacman") :P. Now what I want is to move the smiley in the upper left-hand corner of the map "automatically" when the program runs and also want it to change it's direction to up or down when it touches the wall.
Also the screen is flickering when the program runs (due to re-printing the whole array?). I want to stop this flicker. Somebody suggested to use 'gotoxy' function.
Here's my code :
#include <iostream> #include <conio.h> #include <stdlib.h> using namespace std; void display (char array [10][25] , int row , int column) {
I want to create an application that starts an application and passes input to that application. I know how to start a process using the classes in System.Diagnostics, but I don't know how to pass data to the process.
For example, and this is just an example, I would like to be able to automatically start an application that requires a username and password and automatically enter the username and password. Of course, that might open the door to security vulnerabilities, but that's not the point of the exercise.
How to implement the functionality I described? Is there a general way to go about doing this or does it depend entirely on the idiosyncrasies of the application in question?
I made my header file. If cpp file with definitions is in project compiler knows it has to be linked, but if it's not compiler doesn't know. If I include standard library or boost I don't have to manually link cpps. How to do so including my header automatically links cpp? Maybe problem is with something else?I use VS 2013.
Every time I run if(color=="1") it's supposed to add 1 to redTotal. However, every time I run if(color=="1") if get 1 for redTotal every time.
(Write a program that provides the option of tallying up the results of a poll with 3 possible values. The first input to the program is the poll question; the next three inputs are the possible answers. The first answer is indicated by 1, the second by 2, the third by 3. The answers are tallied until a 0 is entered. The program should then show the results of the poll—try making a bar graph that shows the results properly scaled to fit on your screen no matter how many results were entered.)
Code: #include <iostream> #include <string> using namespace std; int main()