我是用vc++6.0编译的,编译出错,出错内容写在最下面这是一个学生成绩管理系统代码,我文件新建工程选的是win32 console Application,文件选的是c++source File 请问是这样设置的吗?
#include "stdafx.h"
//类声明,用于描述成绩管理系统的显示及控制
class CBaDialog :
{
public:
OnEdit(); //编辑学生信息
OnFind(); //查找学生信息
OnSelchangeCombo1(); //修改学生信息
OnAdd(); //添加学生信息
OnDelect(); //删除学生信息
OnAll(); //显示全部信息
DoDataExchange(); //数据输入与输出的交换
}
//主程序
void CBaDialog::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
}
BEGIN_MESSAGE_MAP(CBaDialog, CDialog)
END_MESSAGE_MAP()
BOOL CBaDialog::OnInitDialog()
{
CDialog::OnInitDialog();
CDRecordset m_Set(&theApp.m_DB);
CBRecordset m_bSet(&theApp.m_DB);
CTRecordset m_tSet(&theApp.m_DB);
unsigned i=0;
CODBCFieldInfo Info;
m_Set.Open(AFX_DB_USE_DEFAULT_TYPE,"一班STUDENT");
m_ListCtrlx.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
for( i=0;i <m_Set.m_nFields;i++)
{
m_Set.GetODBCFieldInfo(i,Info);
m_ListCtrlx.InsertColumn(i,Info.m_strName,LVCFMT_LEFT,70);
}
m_Set.Close();
m_bSet.Open(AFX_DB_USE_DEFAULT_TYPE,"一班OBJECT");
m_ListCtrlb.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
for( i=0;i <m_bSet.m_nFields;i++)
{
m_bSet.GetODBCFieldInfo(i,Info);
m_ListCtrlb.InsertColumn(i,Info.m_strName,LVCFMT_LEFT,80);
}
m_bSet.Close();
m_ListCtrll.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
m_ListCtrll.InsertColumn(0,_T("科目"),LVCFMT_IMAGE|LVCFMT_LEFT);
m_ListCtrll.InsertColumn(1,"任课老师");
for(i=0;i <2;i++)
m_ListCtrll.SetColumnWidth(i,80);
m_cob.SetCurSel(0);
this->Enable(FALSE);
m_Timer=SetTimer(1,2,NULL);
m_bIsAsc=TRUE;
m_bS=TRUE;
GetModuleFileName(NULL,sPath.GetBufferSetLength(MAX_PATH+1),MAX_PATH);
sPath.ReleaseBuffer ();
int nPos;
nPos=sPath.ReverseFind ('\\');
sPath=sPath.Left (nPos);
nPos=sPath.ReverseFind('\\');
sPath=sPath.Left (nPos);
lpszFile = sPath + "\\tect.txt";
CFile aFile;
CFileFind fFind;
BOOL bSuccess;
bSuccess=fFind.FindFile( lpszFile);
if(!bSuccess)
aFile.Open( lpszFile,CFile::modeCreate);
else
{
aFile.Open( lpszFile,CFile::modeReadWrite);
CArchive arr(&aFile,CArchive::load);
Serialize( arr);
if(m_Three=="三班")
m_cob.AddString(m_Three);
if(m_Four=="四班")
m_cob.AddString(m_Four);
if(m_Five=="五班")
m_cob.AddString(m_Five);
if(m_Six=="六班")
m_cob.AddString(m_Six);
if(m_Seven=="七班")
m_cob.AddString(m_Seven);
if(m_Eight=="八班")
m_cob.AddString(m_Eight);
}
aFile.Close();
return TRUE; //返回 TRUE
// 除外: OCX 性质页面应返回 false
}
void CBaDialog::OnAdd() // TODO: 添加你的操作告示代码
{
Selec=TRUE;
CAddialog dlg;
if(dlg.DoModal()==IDOK)
{
CString str=this->Select();
if(str=="一班")
{
if(dlg.m_nxue>=200||dlg.m_nxue <100)
{
AfxMessageBox("一班学号在100—200之间");
m_Set.Close();
m_bSet.Close();
return;
}
}
else if(str=="二班")
{
if(dlg.m_nxue <200||dlg.m_nxue>=300)
{
AfxMessageBox("二班学号在200—300之间");
m_Set.Close();
m_bSet.Close();
return;
}
}
m_Set.AddNew();
m_nRecordCount+=1;
m_Set.m_column1=dlg.m_nxue;
m_Set.m_column2=dlg.m_strName;
m_Set.m_column3=dlg.m_fmaths;
m_Set.m_column4=dlg.m_fphysical;
m_Set.m_column5=dlg.m_fchemistry;
m_Set.m_column6=dlg.m_fenglish;
m_Set.m_column7=dlg.m_fpolitic; m_Set.m_column8=dlg.m_fmaths+dlg.m_fphysical+dlg.m_fchemistry+dlg.m_fenglish+dlg.m_fpolitic;
m_Set.m_column9=(float)(m_Set.m_column8/5);
this->Equal();
m_Set.Update(); //Update()一定放在Equal()后
m_Set.MoveFirst();
if(m_Set.m_column1==0)
{
m_Set.Delete();
m_Set.Requery();
}
m_Set.Requery();
this->Xuan();
}
}
void CBaDialog::OnDelect()
// TODO: 在这添加你的控制告示操作代码
{
CDelectDialog dlg;
Selec=FALSE;
if(dlg.DoModal()==IDOK)
{
if(dlg.m_nPass!=1234)
AfxMessageBox("密码不正确!你没有权限删除记录");
else
{
this->Select();
m_Set.MoveFirst();
BOOL sel=FALSE;
do
{
if(m_Set.m_column1!=dlg.m_nxue)
m_Set.MoveNext();
else
{
m_nRecordCount-=1;
sel=TRUE;
m_bSet.MoveFirst();
this->Equal();
m_Set.Delete();
m_Set.Requery();
break;
}
}while(!m_Set.IsEOF());
if(sel==FALSE)
{
AfxMessageBox("没有此记录");
return;
}
else
this->Xuan();
}
} }
void CBaDialog::OnFind()
// TODO: 在这添加你的控制告示操作代码
{
CFinDialog dlg;
if( dlg.DoModal()==IDOK)
{
this->Select();
m_bSet.Close();
if(dlg.m_Getstring2==">=")
m_Set.m_strFilter.Format("[%s]>=%.2f",dlg.m_Getstring1,dlg.m_find);
if(dlg.m_Getstring2=="=")
m_Set.m_strFilter.Format("[%s]=%.2f",dlg.m_Getstring1,dlg.m_find);
if(dlg.m_Getstring2==" <=")
m_Set.m_strFilter.Format("[%s] <=%.2f",dlg.m_Getstring1,dlg.m_find);
m_ListCtrlx.DeleteAllItems();
m_Set.Requery();
if(m_Set.IsEOF())
{
AfxMessageBox("没有符合条件的记录");
m_Set.Close();
return ;
}
else
this->Show();
}
}
void CBaDialog::OnAll()
{
// TODO: 添加你的控制告示操作代码
this->Select();
m_bSet.Close();
m_Set.m_strFilter.Empty();
m_Set.Requery();
m_ListCtrlx.DeleteAllItems();
this->Show();
}
void CBaDialog::OnEdit()
{
// TODO: 在这添加你的控制告示操作代码
CEditDialog dlg;
if(dlg.DoModal()==IDOK)
{
if(strcmp(dlg.m_pass,"1234")!=0)
AfxMessageBox("你没有权限更改记录!请重输入密码:");
else
{
this->Select();
m_Set.m_strFilter.Format("[学号]=%d",dlg.m_xue);
m_Set.Requery();
if(m_Set.IsEOF())
AfxMessageBox("没有此记录");
else
{
for(int i=0;i <5;i++)
{
float p=0,q=0;
if(i==0)
{
p=dlg.m_fmaths;
q=m_Set.m_column3;
}
if(i==1)
{
p=dlg.m_fphysical;
q=m_Set.m_column4;
}
if(i==2)
{
p=dlg.m_fchemistry;
q=m_Set.m_column5;
}
if(i==3)
{
p=dlg.m_fenglish;
q=m_Set.m_column6;
}
if(i==4)
{
p=dlg.m_fpolitic;
q=m_Set.m_column7;
}
m_bSet.Edit();
m_bSet.m_column2=m_bSet.m_column2+p-q;
m_bSet.m_column3=m_bSet.m_column2/m_nRecordCount;
if(p>=60 && q <60)
m_bSet.m_column4+=1;
if(p <60 && q>=60)
m_bSet.m_column4-=1;
if(p>=80 && q <80)
m_bSet.m_column5+=1;
if(p <80 && q>=80)
m_bSet.m_column5-=1;
m_bSet.Update();
if(!m_bSet.IsEOF())
m_bSet.MoveNext();
else
break;
}
m_Set.Edit();
m_Set.m_column2=dlg.m_strName;
m_Set.m_column3=dlg.m_fmaths;
m_Set.m_column4=dlg.m_fphysical;
m_Set.m_column5=dlg.m_fchemistry;
m_Set.m_column6=dlg.m_fenglish;
m_Set.m_column7=dlg.m_fpolitic;
m_Set.m_column8=dlg.m_fmaths+dlg.m_fphysical+dlg.m_fchemistry+dlg.m_fenglish+dlg.m_fpolitic;
m_Set.m_column9=(float)(m_Set.m_column8/5);
m_Set.Update();
}
m_Set.m_strFilter.Empty();
m_bSet.Close();
m_Set.Close();
m_ListCtrlx.DeleteAllItems();
m_ListCtrlb.DeleteAllItems();
this->Select();
this->Show();
this->display();
}
}
}
aFile.Close();
}
以下是出错提示:
-------------------Configuration: rr - Win32 Debug--------------------
Compiling...
rrr.cpp
d:\vc++ 6.0\msdev98\myprojects\rr\rrr.cpp(1) : fatal error C1083: Cannot open include file: 'stdafx.h': No such file or directory
执行 cl.exe 时出错. rrr.obj - 1 error(s), 0 warning(s)
#include "stdafx.h"
//类声明,用于描述成绩管理系统的显示及控制
class CBaDialog :
{
public:
OnEdit(); //编辑学生信息
OnFind(); //查找学生信息
OnSelchangeCombo1(); //修改学生信息
OnAdd(); //添加学生信息
OnDelect(); //删除学生信息
OnAll(); //显示全部信息
DoDataExchange(); //数据输入与输出的交换
}
//主程序
void CBaDialog::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
}
BEGIN_MESSAGE_MAP(CBaDialog, CDialog)
END_MESSAGE_MAP()
BOOL CBaDialog::OnInitDialog()
{
CDialog::OnInitDialog();
CDRecordset m_Set(&theApp.m_DB);
CBRecordset m_bSet(&theApp.m_DB);
CTRecordset m_tSet(&theApp.m_DB);
unsigned i=0;
CODBCFieldInfo Info;
m_Set.Open(AFX_DB_USE_DEFAULT_TYPE,"一班STUDENT");
m_ListCtrlx.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
for( i=0;i <m_Set.m_nFields;i++)
{
m_Set.GetODBCFieldInfo(i,Info);
m_ListCtrlx.InsertColumn(i,Info.m_strName,LVCFMT_LEFT,70);
}
m_Set.Close();
m_bSet.Open(AFX_DB_USE_DEFAULT_TYPE,"一班OBJECT");
m_ListCtrlb.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
for( i=0;i <m_bSet.m_nFields;i++)
{
m_bSet.GetODBCFieldInfo(i,Info);
m_ListCtrlb.InsertColumn(i,Info.m_strName,LVCFMT_LEFT,80);
}
m_bSet.Close();
m_ListCtrll.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
m_ListCtrll.InsertColumn(0,_T("科目"),LVCFMT_IMAGE|LVCFMT_LEFT);
m_ListCtrll.InsertColumn(1,"任课老师");
for(i=0;i <2;i++)
m_ListCtrll.SetColumnWidth(i,80);
m_cob.SetCurSel(0);
this->Enable(FALSE);
m_Timer=SetTimer(1,2,NULL);
m_bIsAsc=TRUE;
m_bS=TRUE;
GetModuleFileName(NULL,sPath.GetBufferSetLength(MAX_PATH+1),MAX_PATH);
sPath.ReleaseBuffer ();
int nPos;
nPos=sPath.ReverseFind ('\\');
sPath=sPath.Left (nPos);
nPos=sPath.ReverseFind('\\');
sPath=sPath.Left (nPos);
lpszFile = sPath + "\\tect.txt";
CFile aFile;
CFileFind fFind;
BOOL bSuccess;
bSuccess=fFind.FindFile( lpszFile);
if(!bSuccess)
aFile.Open( lpszFile,CFile::modeCreate);
else
{
aFile.Open( lpszFile,CFile::modeReadWrite);
CArchive arr(&aFile,CArchive::load);
Serialize( arr);
if(m_Three=="三班")
m_cob.AddString(m_Three);
if(m_Four=="四班")
m_cob.AddString(m_Four);
if(m_Five=="五班")
m_cob.AddString(m_Five);
if(m_Six=="六班")
m_cob.AddString(m_Six);
if(m_Seven=="七班")
m_cob.AddString(m_Seven);
if(m_Eight=="八班")
m_cob.AddString(m_Eight);
}
aFile.Close();
return TRUE; //返回 TRUE
// 除外: OCX 性质页面应返回 false
}
void CBaDialog::OnAdd() // TODO: 添加你的操作告示代码
{
Selec=TRUE;
CAddialog dlg;
if(dlg.DoModal()==IDOK)
{
CString str=this->Select();
if(str=="一班")
{
if(dlg.m_nxue>=200||dlg.m_nxue <100)
{
AfxMessageBox("一班学号在100—200之间");
m_Set.Close();
m_bSet.Close();
return;
}
}
else if(str=="二班")
{
if(dlg.m_nxue <200||dlg.m_nxue>=300)
{
AfxMessageBox("二班学号在200—300之间");
m_Set.Close();
m_bSet.Close();
return;
}
}
m_Set.AddNew();
m_nRecordCount+=1;
m_Set.m_column1=dlg.m_nxue;
m_Set.m_column2=dlg.m_strName;
m_Set.m_column3=dlg.m_fmaths;
m_Set.m_column4=dlg.m_fphysical;
m_Set.m_column5=dlg.m_fchemistry;
m_Set.m_column6=dlg.m_fenglish;
m_Set.m_column7=dlg.m_fpolitic; m_Set.m_column8=dlg.m_fmaths+dlg.m_fphysical+dlg.m_fchemistry+dlg.m_fenglish+dlg.m_fpolitic;
m_Set.m_column9=(float)(m_Set.m_column8/5);
this->Equal();
m_Set.Update(); //Update()一定放在Equal()后
m_Set.MoveFirst();
if(m_Set.m_column1==0)
{
m_Set.Delete();
m_Set.Requery();
}
m_Set.Requery();
this->Xuan();
}
}
void CBaDialog::OnDelect()
// TODO: 在这添加你的控制告示操作代码
{
CDelectDialog dlg;
Selec=FALSE;
if(dlg.DoModal()==IDOK)
{
if(dlg.m_nPass!=1234)
AfxMessageBox("密码不正确!你没有权限删除记录");
else
{
this->Select();
m_Set.MoveFirst();
BOOL sel=FALSE;
do
{
if(m_Set.m_column1!=dlg.m_nxue)
m_Set.MoveNext();
else
{
m_nRecordCount-=1;
sel=TRUE;
m_bSet.MoveFirst();
this->Equal();
m_Set.Delete();
m_Set.Requery();
break;
}
}while(!m_Set.IsEOF());
if(sel==FALSE)
{
AfxMessageBox("没有此记录");
return;
}
else
this->Xuan();
}
} }
void CBaDialog::OnFind()
// TODO: 在这添加你的控制告示操作代码
{
CFinDialog dlg;
if( dlg.DoModal()==IDOK)
{
this->Select();
m_bSet.Close();
if(dlg.m_Getstring2==">=")
m_Set.m_strFilter.Format("[%s]>=%.2f",dlg.m_Getstring1,dlg.m_find);
if(dlg.m_Getstring2=="=")
m_Set.m_strFilter.Format("[%s]=%.2f",dlg.m_Getstring1,dlg.m_find);
if(dlg.m_Getstring2==" <=")
m_Set.m_strFilter.Format("[%s] <=%.2f",dlg.m_Getstring1,dlg.m_find);
m_ListCtrlx.DeleteAllItems();
m_Set.Requery();
if(m_Set.IsEOF())
{
AfxMessageBox("没有符合条件的记录");
m_Set.Close();
return ;
}
else
this->Show();
}
}
void CBaDialog::OnAll()
{
// TODO: 添加你的控制告示操作代码
this->Select();
m_bSet.Close();
m_Set.m_strFilter.Empty();
m_Set.Requery();
m_ListCtrlx.DeleteAllItems();
this->Show();
}
void CBaDialog::OnEdit()
{
// TODO: 在这添加你的控制告示操作代码
CEditDialog dlg;
if(dlg.DoModal()==IDOK)
{
if(strcmp(dlg.m_pass,"1234")!=0)
AfxMessageBox("你没有权限更改记录!请重输入密码:");
else
{
this->Select();
m_Set.m_strFilter.Format("[学号]=%d",dlg.m_xue);
m_Set.Requery();
if(m_Set.IsEOF())
AfxMessageBox("没有此记录");
else
{
for(int i=0;i <5;i++)
{
float p=0,q=0;
if(i==0)
{
p=dlg.m_fmaths;
q=m_Set.m_column3;
}
if(i==1)
{
p=dlg.m_fphysical;
q=m_Set.m_column4;
}
if(i==2)
{
p=dlg.m_fchemistry;
q=m_Set.m_column5;
}
if(i==3)
{
p=dlg.m_fenglish;
q=m_Set.m_column6;
}
if(i==4)
{
p=dlg.m_fpolitic;
q=m_Set.m_column7;
}
m_bSet.Edit();
m_bSet.m_column2=m_bSet.m_column2+p-q;
m_bSet.m_column3=m_bSet.m_column2/m_nRecordCount;
if(p>=60 && q <60)
m_bSet.m_column4+=1;
if(p <60 && q>=60)
m_bSet.m_column4-=1;
if(p>=80 && q <80)
m_bSet.m_column5+=1;
if(p <80 && q>=80)
m_bSet.m_column5-=1;
m_bSet.Update();
if(!m_bSet.IsEOF())
m_bSet.MoveNext();
else
break;
}
m_Set.Edit();
m_Set.m_column2=dlg.m_strName;
m_Set.m_column3=dlg.m_fmaths;
m_Set.m_column4=dlg.m_fphysical;
m_Set.m_column5=dlg.m_fchemistry;
m_Set.m_column6=dlg.m_fenglish;
m_Set.m_column7=dlg.m_fpolitic;
m_Set.m_column8=dlg.m_fmaths+dlg.m_fphysical+dlg.m_fchemistry+dlg.m_fenglish+dlg.m_fpolitic;
m_Set.m_column9=(float)(m_Set.m_column8/5);
m_Set.Update();
}
m_Set.m_strFilter.Empty();
m_bSet.Close();
m_Set.Close();
m_ListCtrlx.DeleteAllItems();
m_ListCtrlb.DeleteAllItems();
this->Select();
this->Show();
this->display();
}
}
}
aFile.Close();
}
以下是出错提示:
-------------------Configuration: rr - Win32 Debug--------------------
Compiling...
rrr.cpp
d:\vc++ 6.0\msdev98\myprojects\rr\rrr.cpp(1) : fatal error C1083: Cannot open include file: 'stdafx.h': No such file or directory
执行 cl.exe 时出错. rrr.obj - 1 error(s), 0 warning(s)
END_MESSAGE_MAP()
显然是MFC工程,选MFC应用程序。
这个选的不对。选MFC AppWizard(exe)