问一个关于c++的编程问题,请高手指点哪里出错了,怎么改

[复制链接]
查看11 | 回复4 | 2011-8-25 03:45:29 | 显示全部楼层 |阅读模式
程序
// Dlgbingli.cpp : implementation file
//
#include "stdafx.h"
#include "Hospital.h"
#include "Dlgbingli.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CDlgbingli dialog
CDlgbingli::CDlgbingli(CWnd* pParent /*=NULL*/)
        : CDialog(CDlgbingli::IDD, pParent)
{
        //{{AFX_DATA_INIT(CDlgbingli)
        m_number = _T("");
        //}}AFX_DATA_INIT
}
void CDlgbingli::DoDataExchange(CDataExchange* pDX)
{
        CDialog::DoDataExchange(pDX);
        //{{AFX_DATA_MAP(CDlgbingli)
        DDX_Control(pDX, IDC_LIST3, m_List);
        DDX_Text(pDX, IDC_EDIT1, m_number);
        //}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CDlgbingli, CDialog)
        //{{AFX_MSG_MAP(CDlgbingli)
        //}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CDlgbingli message handlers
BOOL CDlgbingli::OnInitDialog()
{
        CDialog::OnInitDialog();
       
        // TODO: Add extra initialization here
        LV_COLUMN lvc;
        char *display[7]={"检查号","姓名","日期","性别","年龄","方式","诊断病例"};
        lvc.mask=LVCF_FMT|LVCF_TEXT|LVCF_SUBITEM|LVCF_WIDTH;
        lvc.fmt=LVCFMT_LEFT;
        lvc.cx=80;
        for(int i=0;im_strFilter="number=?";
        pset->Open();
        pset->number=m_number;
        pset->Requery();
        CString str1;
        if(!pset->IsEOF())
        {
                char buffer[256];
                LV_ITEM lvi;
                lvi.mask=LVIF_TEXT;
                lvi.iSubItem=0;
                int i=0;
                m_List.InsertItem(i,LPCTSTR(pset->m_number),0);
                m_List.SetItemText(i,1,LPCTSTR(pset->m_name));
                str1=pset->m_date.Format("%x");
                m_List.SetItemText(i,2,str1);
                m_List.SetItemText(i,3,LPCTSTR(pset->m_sex));

m_List.SetItemText(i,4,LPCTSTR(ltoa(pset->m_age,buffer,10)));
       
m_List.SetItemText(i,5,LPCTSTR(pset->m_zy));

m_List.SetItemText(i,6,LPCTSTR(pset->m_mode));
                m_List.SetItemText(i,7,LPCTSTR(pset->m_bl));
                pset->Close();
        }
        else
        {
       
        CDialog::OnOK();
AfxMessageBox("对不起,没有相关记录!");
        }
}

回复

使用道具 举报

千问 | 2011-8-25 03:45:29 | 显示全部楼层
应该是你编的时候没注意,小问题:void printt(int a) {int q=128;
for(int i=1;i<=8;i++){ cout<<a/b; a=a%b; b=b/2;
}cout<<" ."; }这个函数有问题。你的b初值为0,可能是你敲错了,把b改为q吧。void printt(int a) {int q=128;for(int i=1;i<=8;i++){ cout<<a/q; a=a%q; q=q/2;}co...
回复

使用道具 举报

千问 | 2011-8-25 03:45:29 | 显示全部楼层
1.主要是你函数里的b,c,e没初始化。定义的时候初始化为0就行了。2.有个逻辑错误。||两边少括号。比如我输入'[' 也会被认为是字母的。...
回复

使用道具 举报

千问 | 2011-8-25 03:45:29 | 显示全部楼层
跟楼主一样,看不明白...
回复

使用道具 举报

千问 | 2011-8-25 03:45:29 | 显示全部楼层
太多了。不好看。...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行