Jump to content
xisto Community
Sign in to follow this  
khosro_php

Simple C++ Programs. simple programs for beginners.

Recommended Posts

Friends do remember this at the begginnig stage of learning C++ . this is regarding the virtual methods.When you have a virtual method, calling it will always call the most derived version of the method. You could however write a method for JSWidget like this:JSWidget::BaseUpdate(){ Widget::Update();}and then call jswidget->BaseUpdate().

Share this post


Link to post
Share on other sites

Hi all,I am working on a C++ program that converts a decimal to a fraction, finds the lowest common multiple, multiplies the numerator by the denominator, then reduces the fraction again so the fraction will be 'numerator/1'.I am using this code in a larger program to change a floating point slope value to a whole value for slope-intercept equations and standard form equations.The program will run but I tested almost 500 numbers and 20 numbers made the program crash (it stalled and did not finish the equation, I had to close the terminal and open it up again... )These 20 numbers I had problems with:2.36, 7.36, 1.11, 1.001, 1.66, 1.88, 2.22, 2.13, 3.24, 3,26, 3.32, 3.43, 3.49, 3.51, 3.57, 3.68, 3.74, 3.76, 3.82(I am sure there are more...)I have tried c-style casting and dynamic and static casting to try to resolve this issue. Can someone help me out and point out why these certain numbers make the program crash and offer a possible sloution?I tried debugging this program on gdb and keep on getting this frustrating message..(gdb) break 16No line 16 in file "init.c".(gdb)Here is the program's code:

//example.cc#include <iostream>#include "reduce.h"#include "decimal-to-fraction.h"using namespace std;int main(){   double deci;   double n, d;   while(1) {       cout << "Enter a decimal to convert to a fraction ('0' to quit): ";       cin >> deci;       cin.ignore(INT_MAX, '\n');       if(!deci) exit(0);       dec_to_frac(deci, n, d);       if (n * d != n){           cout << '\n' << deci << " = " << n << '/' << d << "\n\n";           cout<<'\n' << d << " x " << n;           n = d * n;           cout<< " = " << n << "\n\n";           cout<<'\n' << n << '/' << d;           reduce(n, d);           cout << " = " << n << '/' << d << "\n\n";           cout<<'\n' << n << "\n\n";       }       else           cout<<'\n' << deci<< "\n\n";   }   return 0;}#ifndef _REDUCE_H_#error You must include "reduce.h" before this file#endif /* def _REDUCE_H_ */#ifndef _DECIMAL_TO_FRACTION_H_#define _DECIMAL_TO_FRACTION_H_void dec_to_frac(double decimal, double &numerator, double &denominator){   //numerator = static_cast<int >(decimal);   //numerator = (int )decimal;   numerator = decimal;   denominator = 1;   while(numerator != (int)numerator) {       numerator *= 10;       denominator *= 10;   }   reduce(numerator, denominator);}#endif /* def _DECIMAL_TO_FRACTION_H_ */#ifndef _REDUCE_H_#define _REDUCE_H_void reduce(double &numer, double &denom){   int i;   for(i=2; i<=numer; ++i) {       if( ((numer/i) == ((int )(numer/i))) && ((denom/i) == ((int)(denom/i))) ) {           numer /= i;           denom /= i;           --i;       }   }}#endif /* def _REDUCE_H_ */

Share this post


Link to post
Share on other sites

Friends those who are good in c++ please help me in this problem if u have suggestions let me know it...I have two classes, call them class1 and class2. In my main(), I declare a new class object: class2 stepping_action = new class2;stepping_action has a variable called "contained" that is a boolean. What I need to do is change the value of this variable from within class1. When I try, it tells me that stepping_action is not in the right scope. I have tried declaring stepping_action outside of the main but I still get the same error.How can I change this variable from class1?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

Terms of Use | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.