944,085 Members | Top Members by Rank

Ad:
  • C++ Discussion Thread
  • Unsolved
  • Views: 2059
  • C++ RSS
Sep 15th, 2006
1

Basic doubt

Expand Post »
I'm doing a dialog application in C++ to calculate something, but I want the result to be with 2 decimal number, how to do this?

here is the function:

C++ Syntax (Toggle Plain Text)
  1. void CCalculatorDlg::Oncalc()
  2. {
  3. // TODO: Add your control notification handler code here
  4.  
  5. UpdateData(TRUE);
  6.  
  7. if ((m_amostras >= 1) && (m_elementos >= 1) && (m_click == true))
  8. {
  9. if (m_interno)
  10. m_total = (19.8522+(3.99038*(m_elementos-1))+((1.74579+((m_elementos-1)*0.1496))*(m_amostras-1))) + (2.5*m_preparacao);
  11. else if (m_externo)
  12. {
  13. if (m_amostras < 11)
  14. m_total = (19.9519+(19.9519*(m_elementos-1))+((19.9519+((m_elementos-1)*2.494))*(m_amostras-1)))+(5*m_preparacao);
  15.  
  16. if (m_amostras > 10)
  17. m_total = (19.9519+(19.9519*(m_elementos-1))+(((19.9519+((m_elementos-1)*2.494))*(9))+((9.98+((m_elementos-1)*2.494))*(m_amostras-10))))+(5*m_preparacao);
  18. }
  19. }
  20. else
  21. {
  22. if ((m_amostras < 1) || (m_elementos < 1))
  23. MessageBox("Tem que especificar pelo menos uma amostra e um elemento!");
  24.  
  25. if (!m_click)
  26. MessageBox("Tem que especificar o tipo de cliente!");
  27. }
  28.  
  29. UpdateData(FALSE);
  30.  
  31. }

I want the variable m_total to show with 2 decimal numbers, like, p.e. x,yz.

Thanks
Similar Threads
Reputation Points: 21
Solved Threads: 0
Junior Poster in Training
gampalu is offline Offline
78 posts
since Mar 2006
Sep 15th, 2006
1

Re: Basic doubt

Reputation Points: 197
Solved Threads: 12
Junior Poster
Grunt is offline Offline
147 posts
since Jul 2006
Sep 15th, 2006
0

Re: Basic doubt

But I'm not using cout... The variable m_total is shown at the dialog box in an edit box...
Last edited by gampalu; Sep 15th, 2006 at 8:13 am.
Reputation Points: 21
Solved Threads: 0
Junior Poster in Training
gampalu is offline Offline
78 posts
since Mar 2006
Sep 15th, 2006
0

Re: Basic doubt

you will have to format the string before it is displayed in the dialog box. If you are using MFC, then use CString's Format() method, for exaple
C++ Syntax (Toggle Plain Text)
  1. CString text;
  2. float number = 12.123456;
  3. text.Format("%.2f", number);
  4. GetDialogItem(IDC_EDI1)->SetWindowText(text);


If you are not using MFC, then use standard C sprintf() function
C++ Syntax (Toggle Plain Text)
  1. char text[20];
  2. float number = 12.123456;
  3. sprintf(text,"%.2f", number);
  4. GetDialogItem(IDC_EDI1)->SetWindowText(text);
Sponsor
Team Colleague
Featured Poster
Reputation Points: 5608
Solved Threads: 2282
Retired and Enjoying Life
Ancient Dragon is offline Offline
21,957 posts
since Aug 2005
Sep 15th, 2006
0

Re: Basic doubt

I'm using MFC and I tried your exmeple but I get this:

C++ Syntax (Toggle Plain Text)
  1. --------------------Configuration: calculator - Win32 Release--------------------
  2. Compiling...
  3. calculatorDlg.cpp
  4. D:\vários\mail\calculator\calculatorDlg.cpp(201) : error C2065: 'GetDialogItem' : undeclared identifier
  5. D:\vários\mail\calculator\calculatorDlg.cpp(201) : error C2227: left of '->SetWindowTextA' must point to class/struct/union
  6. Error executing cl.exe.
  7.  
  8. calculator.exe - 2 error(s), 0 warning(s)

Can you figure out why?
thanks
Reputation Points: 21
Solved Threads: 0
Junior Poster in Training
gampalu is offline Offline
78 posts
since Mar 2006
Sep 15th, 2006
0

Re: Basic doubt

Sorry about the mistake. Should have been GetDlgItem

Alternatively, if you used ClassWizard to assign a CString variable to the edit control, then you don't need to call GetDlgItem() but use that variable instead, then call UpdateData(FALSE) to update the edit control.

If you are new to MFC and you are using VC++ 6.0 compiler you might want to read the Microsoft Scribble tutorial, which will show you how to do all that neat stuff.
Sponsor
Team Colleague
Featured Poster
Reputation Points: 5608
Solved Threads: 2282
Retired and Enjoying Life
Ancient Dragon is offline Offline
21,957 posts
since Aug 2005
Sep 15th, 2006
0

Re: Basic doubt

Sorry about the mistake. Should have been GetDlgItem

Alternatively, if you used ClassWizard to assign a CString variable to the edit control, then you don't need to call GetDlgItem() but use that variable instead, then call UpdateData(FALSE) to update the edit control.
I've used the alternative you gave me and it works
thanks for your attention.

Quote ...
If you are new to MFC and you are using VC++ 6.0 compiler you might want to read the Microsoft Scribble tutorial, which will show you how to do all that neat stuff.
This link it's in my bookmarks :cheesy:
thanks again
Reputation Points: 21
Solved Threads: 0
Junior Poster in Training
gampalu is offline Offline
78 posts
since Mar 2006

This thread is more than three months old

No one has posted to this discussion for at least three months. Please let old threads die and do not reply to them unless you feel you have something new and valuable to contribute that absolutely must be added to make the discussion complete. Otherwise, please start a new thread in this forum instead.
Message:
Previous Thread in C++ Forum Timeline: Need help,my C++ calc
Next Thread in C++ Forum Timeline: A function which will transfer the data from a file to STL( vector or map) object.





About Us | Contact Us | Advertise | Acceptable Use Policy
Forum Index | Build Custom RSS Feed


Follow us on Twitter


© 2011 DaniWeb® LLC