I want a code that can convert floating/double value into string/char array(char arr[]) and also it can be run on Boreland C++ 5.02
Here I've a code but it doesn't show all the numbers. Instead, it's showing in exponential form which I don't want!!
int main() { char* str = new char[30]; float flt = 2.4567F; sprintf(str, "%.4g", flt ); cout<<str<<endl; //Exponential form even after 6 digits without decimal return 0; }
I m working calculating stuff in files, input and output data, etc..., the question is the following: I output double numbers with:
myFIle << fixed << setprecision(10) << double;
The problem i got is that when a numer is like 193123.2 it prints like 193123.200000..., so finally, ¿how can i print it with any additional 0 that i need?.
So I have a double array, where I'm inputting float numbers to certain points in an array. Sometimes, the numbers that are printed out are completely different from what I put in.Here is the part of the code:
Code: .
while( token != NULL ) { num = atof(token); test[j][i] = num; printf( " %s, i is %d, j is %d ", token,i,j ); printf( "number is %f value test of i,j is %f
[code]....
Why the float num prints out fine, but when put into an array becomes garbage?I'm taking string values from a csv file and turning them into floats, but no problems seem to crop up there.I reset i when appropriate and increment j when needed, so I don't think my problems are from incorrect array values (though they might be)
Can you use data type double or float for an array? ie
double n[]; or float a; float m[a];
My code wont accept me changing the data type..will on accept int data type. I get the following error when I try to change the array to double or float..
3310E:C++vector.cpp[Error] invalid types 'double [1000][double]' for array subscript
I was working on float and double data types and to see the results i wrote this program:
#include <iostream> #include <iomanip> #include <fstream> using namespace std; int main() { ofstream outputF("output.txt"); double a = 1; double outcome;
[Code] ....
Well I understand the part it cannot store infinite numbers. but if you take a look at the output for example (since it is too long i just added some of the outputs)
//--------------------- for the value of : 001 1 //--------------------- for the value of : 002 0.5 //--------------------- for the value of : 003 0.3333333333333333148
[Code] ....
if you look carefully at the value "5" and "10" results. it is awkwardly abnormal. which is something i couldnt understand. also it is the same with value "20", "25", "40", "50" and so on.
Unless I'm missing something, it's now possible(ish)? A little concept is below, very rough around the edges. Still though, if this is valid by standard C++, why can't we have built-in support for float / double template parameters?
Let's say I defined a template function or a template class which is designed to take int or double. I use it for the first time with int arguments so the template is instantiated using int. During instantiation a code is actually generated. Then I use this template second time with int argument, so is it considered that it is instantiated again? Is new code generated again or compiler is using code from the the first time I used my template with int?
I am working on a code that is suppose to get vowels and consnants from a string. So far i got up to trying to get the vowels from a string. this is what i have so far:
#include <iostream> #include <string> // includes go into header using namespace std; int getword(string word); int getvowels(string word);
"A constant, like a variable, is a memory location where a value can be stored. Unlike variables, constants never change in value. You must initialize a constant when it is created. C++ has two types of constants: literal and symbolic.
A literal constant is a value typed directly into your program wherever it is needed. For example, consider the following statement:
long width = 5
This statement assigns the integer variable width the value 5. The 5 in the statement is a literal constant. You can't assign a value to 5, and its value can't be changed.
The values true and false, which are stored in bool variables, also are literal constants.
A symbolic constant is a constant represented by a name, just like a variable. The const keyword precedes the type, name, and initialization. Here's a statement that sets the point reward for killing a zombie:
const int KILL_BONUS = 5000;
Whenever a zombie is dispatched, the player's score is increased by the reward:
playerScore = playerScore + KILL_BONUS;
If you decide later to increase the reward to 10,000 points, you can change the constant KILL_BONUS and it will be reflected throughout the program. If you were to use the literal constant 5000 instead, it would be more difficult to find all the places it is used and change the value. This reduces the potential for error."
what's the difference? Here is a program to demonstrate what I'm having trouble conceptualizing.
#include <iostream> using namespace std; int main() { int width = 10, length = 10; int area = width * length; cout << "Width: " << width << endl; cout << "Length: " << length << endl; cout << "Area: " << area << endl; return 0; }
Now, why would it be harder to go in and changed a regularly defined integer than one defined with the 'const' keyword proceeding it? For example, the width and length variables. My confusion comes from the point that they seem to both simply be variables with a value assigned to them. I feel as if the process of having to change a literal constant's value is synonymous to the process of having to change a symbolic constant's.
I need to write a program in which you do the following:
Define three named constants using the appropriate data types: DEC_NUM = 65; HEX_NUM = 0x7a; LETTER = 'f';
Then display each of these constants in decimal, in hexadecimal, and as a character using cout. Your program will have a total of nine cout statements.
My assignment is to create a simple stock broker program that ask the user how much they are willing to invest and ask what company they would like to invest in. Finally it outputs how many shares the user will have based on their investment amount. My code is below. My professor said to declare symbolic constants and factor out the if else statements. Ive been struggling trying to understand constant variables. How do I use const variables to factor out the if else statements?
why strcmp() doesn't return true when comparing a string constant with a string that was acquired via a linked list. By the way, the data in the linked list was taken from a text file. Does that imply that there's a new line () character in the string from the linked list?
I'm incrementing the pointer to buffer 150 bytes beyond its reserved 50. I see testwalk, followed by bracketout, followed by bracketin printed by the overflow on buffer.
The memory locations are ordered descending from their call order. Why is this the case?
One would think that they would be written in ascending order as I call them. I can only assume that they're compiled bottom up - where could I read about this process?
I'm trying to implement a simple template array class, but when i came into the operator< i actually have to use a template :
my code is something like :
template<typename _Type, std::size_t _Size> class array { public :
[Code] ......
but i am having an error of shadows template param 'class _Type' is it w/ the name conflict between the array template parameter and the function template parameter ?
Error1error C2955: 'DoubleLinkedListInterface' : use of class template requires template argument listdoublelinkedlist.h10 Error2error C2244: 'DoubleLinkedList<T>::DoubleLinkedList' : unable to match function definition to an existing declaration doublelinkedlist.cpp7
Error3 .cpperror C2244: 'DoubleLinkedList<T>::~DoubleLinkedList' : unable to match function definition to an existing declaration 12
.h
#pragma once #include "DoubleLinkedListInterface.h" #include "Node.h" #include <iostream>
I have a generic template class with another template in one of its types. Now I want to specialize one of its methods for a particular (template) class, which leads to a compile error, however.
GCC ends with: :35:27: error: type/value mismatch at argument 2 in template parameter list for ‘template<class Type, template<class> class O> class Foo’ :35:27: error: expected a class template, got ‘Obj2<Type>’
What is wrong with the specialization? Can it even be achieved and how (if so)?
how I want the code to look. Only problem is it doesn't work (Line 11). I have some experience with templates but I'm not a pro.
Basically I want the "Channels<3>" to be a type that I can use to specify a Cable with similar to vector<float/int> it would be Cable<Channels<2 or 3>>.
What have I messed up with the syntax?
#include <iostream> #include <vector> using namespace std;