Solved

How do I make my app calculate 1+1 in Function.cpp and then display the result using classes?

Posted on 2011-03-03
2
528 Views
Last Modified: 2013-12-14
I would ultimately like to create a simple dialog-based app that does a simple calculation, like adding 1+1, and  displays the result in a text box.  The caveat is, that I would like the calculation performed in a separate .cpp file (Functions.cpp) so that I can isolate the calculation part of the program from everything else.  So, I did the following:

1.   Created an MFC dialog-based application in VS2008 called "FirstApp".  The files FirstApp.cpp and FirstAppDlg.cpp were created (along with their respective header files).  

2.  Using the Resource View tab, I inserted a button dialog called IDC_BUTTON1.  This is the button to be pushed.

3.  Then I Inserted an edit control dialog called IDC_EDIT1. This is where the results of 1+1 is to be displayed.  Added a variable (value) called m_strEdit1 of type String to the control.

4. I created Functions.cpp and Functions.h (no code in there yet)

5. Double clicked on the button dialog and inserted the code below

Question: How do make it so that I when I click on Button1 the program goes to Function.cpp to calculate 1+1..and then displays the result "2" in the Edit Control?  I plan on adding more complex calculation functions and using more variables soon...so I would like to use classes in the solution.  
// FirstAppDlg.cpp
void CFirstAppDlg::OnBnClickedButton1()
{
 UpdateData( TRUE ); // get text from edit control into 'm_strEdit1'
 m_strEdit1 = intToString( addInts( 1, 1 ) );
 UpdateData( FALSE ); // put the text from 'm_strEdit1' to the edit control
}


// function.h
#pragma once

int      addInts( int x, int y );
CString  intToString( int x );


// function.cpp
#include "stdafx.h"
#include "function.h"

int addInts( int x, int y )
{
 return x + y;
}

CString intToString( int x )
{
 CString strText;
 strText.Format( "%d", x );
 return strText;
}

Open in new window

0
Comment
Question by:shaolinfunk
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
2 Comments
 
LVL 34

Accepted Solution

by:
sarabande earned 500 total points
ID: 35026182
if you want classes, you may add

class Calculator
{
public:
     int add(int operand1, int operand2);

};

to functions.h.

implement Calculator::add in functions.cpp

then you would use it like

void OnBtnClicked()
{
    // get both values to add and convert to integer
   ...

   Calculator calc;
   int r = calc.add(operand1, operand2);

   // convert r to string and show it on screen
   ...

Sara
}
0
 
LVL 1

Author Closing Comment

by:shaolinfunk
ID: 35026262
Many, many thanks!  I see what you did there....and I got my program to compile on the 1st try.  Thanks for helping me create my first working class!
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
computer science syllabus 3 118
Unable to start eclipse ? 17 177
c++  placing data into a form and an editbox 5 50
Winapi.Windows.hpp problem 7 47
C++ Properties One feature missing from standard C++ that you will find in many other Object Oriented Programming languages is something called a Property (http://www.experts-exchange.com/Programming/Languages/CPP/A_3912-Object-Properties-in-C.ht…
This article shows you how to optimize memory allocations in C++ using placement new. Applicable especially to usecases dealing with creation of large number of objects. A brief on problem: Lets take example problem for simplicity: - I have a G…
The viewer will learn how to use and create keystrokes in Netbeans IDE 8.0 for Windows.
The viewer will be introduced to the member functions push_back and pop_back of the vector class. The video will teach the difference between the two as well as how to use each one along with its functionality.

710 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question