total.cpp
上传用户:hbzqs18
上传日期:2021-03-04
资源大小:46k
文件大小:2k
源码类别:

家庭/个人应用

开发平台:

Visual C++

  1. // total.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "学生家庭经济情况调查系统.h"
  5. #include "total.h"
  6. #include "fstream.h"
  7. #ifdef _DEBUG
  8. #define new DEBUG_NEW
  9. #undef THIS_FILE
  10. static char THIS_FILE[] = __FILE__;
  11. #endif
  12. /////////////////////////////////////////////////////////////////////////////
  13. // total dialog
  14. total::total(CWnd* pParent /*=NULL*/)
  15. : CDialog(total::IDD, pParent)
  16. {
  17. //{{AFX_DATA_INIT(total)
  18. //}}AFX_DATA_INIT
  19. }
  20. void total::DoDataExchange(CDataExchange* pDX)
  21. {
  22. CDialog::DoDataExchange(pDX);
  23. //{{AFX_DATA_MAP(total)
  24. //}}AFX_DATA_MAP
  25. }
  26. BEGIN_MESSAGE_MAP(total, CDialog)
  27. //{{AFX_MSG_MAP(total)
  28. ON_WM_PAINT()
  29. //}}AFX_MSG_MAP
  30. END_MESSAGE_MAP()
  31. /////////////////////////////////////////////////////////////////////////////
  32. // total message handlers
  33. BOOL total::OnInitDialog() 
  34. {
  35. CDialog::OnInitDialog();
  36. // TODO: Add extra initialization here
  37. AnalysisData();
  38. return TRUE;  // return TRUE unless you set the focus to a control
  39.               // EXCEPTION: OCX Property Pages should return FALSE
  40. }
  41. void total::AnalysisData()
  42. {
  43. CString str;
  44. int high=0,low=0;
  45. ifstream inf;
  46.     inf.open("student.dat",ios::nocreate|ios::in);
  47. char    stunum[10];
  48. char    jiguan[20];
  49. int     income;
  50. int     members;
  51. while(true){
  52. inf.get(stunum,10,' ');
  53. stunum[9]=0;
  54. inf.seekg(1,ios::cur);
  55. inf>>jiguan;
  56. inf.seekg(1,ios::cur);
  57.     inf>>income;
  58. if(income >= 500)
  59.    high++;
  60.         else 
  61.    low++;
  62. inf.seekg(1,ios::cur);
  63. inf>>members;
  64. if(inf.eof())break;
  65. inf.seekg(2,ios::cur);
  66. }
  67. inf.close();
  68.     
  69.     char buf[MAX_PATH];
  70. int total = low+high;
  71. float lowPart = (float)low/total;
  72. float highPart = (float)high/total;
  73. sprintf(buf,"人均月收入小于500元人数:%d,比例:%d%%",low, (int)(lowPart*100) );
  74. SetDlgItemText(IDC_RADIO1,buf);
  75. sprintf(buf,"人均月收入大于等于500元人数:%d,比例:%d%%",high,(int)(highPart*100) );
  76.     SetDlgItemText(IDC_RADIO2,buf);
  77. }
  78. void total::OnPaint() 
  79. {
  80. CPaintDC dc(this); // device context for painting
  81. // TODO: Add your message handler code here
  82. AnalysisData();
  83. // Do not call CDialog::OnPaint() for painting messages
  84. }