班级:网络Z091
学号:094552
姓名:李丹
一、
1.
2.
二、
1.
2.
三、
1. 实验目的 掌握数据库的基本知识、ODBC程序设计 掌握列表框和组合框控件 实验内容 在VC++6.0中编写程序 数据库应用程序基本设计和购物表设计 编程序 数据库
步骤:设置->控制面板->管理工具->数据源->添加->MicroSoft Access Driver(*mdb) 选择(刚建好的数据库)、数据源名(comp)
定义的变量:CCompanySet m_set;(CCompanySet自己添加的类,基类为CRecordSet)CListCtrl m_list;
CString m_chax;
⑴初始化:
void CCompanyView::OnInitialUpdate
{
m_list.InsertColumn(0,"num");
m_list.InsertColumn(1,"sex");
m_list.InsertColumn(2,"age");
m_list.InsertColumn(3,"wage");
m_list.SetColumnWidth(0,100);
m_list.SetColumnWidth(1,100);
m_list.SetColumnWidth(2,100);
m_list.SetColumnWidth(3,100);
CString sql="select * from comp";
m_set.Open(AFX_DB_USE_DEFAULT_TYPE,sql);//打开记录集
int i=0;
while(!m_set.IsEOF)
{
m_list.InsertItem(i,m_set.m_num);
m_list.SetItemText(i,1,m_set.m_sex);
CString str;
str.Format("%d",m_set.m_age);
m_list.SetItemText(i,2,str);
m_list.SetItemText(i,3,m_set.m_wage);
m_set.MoveNext;
i++;
}
m_set.Close;
}
⑵“添加”调出新对话框(IDD_DIALOG1)
创建一个新类CCompDlg,并添加头文件”include"CompDlg.h"”
及成员变量(CString m_num; int m_sex; CString m_wage; int m_age;)
void CCompanyView::OnAdd
{
CCompDlg dlg;
if(dlg.DoModal==IDOK)
{
m_set.Open(AFX_DB_USE_DEFAULT_TYPE,NULL); m_set.AddNew;
m_set.m_num=dlg.m_num;
if(dlg.m_sex==0)
m_set.m_sex="男";
else
m_set.m_sex="女";
m_set.m_age=dlg.m_age;
m_set.m_wage =dlg.m_wage;
m_set.Update;
m_set.Close;
}
}
⑶“删除”
void CCompanyView::OnDel
{
int i=m_list.GetSelectionMark;
if(i<0)
this->MessageBox("先选取记录");
else
{
CString xnum1;
char xnum[10];
int x=m_list.GetItemText(i,0,xnum,10);
xnum1.Format("%s",xnum);
CString sql="select * from comp where num='"+xnum1+"'"; m_set.Open(AFX_DB_USE_DEFAULT_TYPE,sql); m_set.Delete;
m_set.Close;
}
}
⑷“浏览”
void CCompanyView::OnScan
{
m_list.DeleteAllItems;
CString sql="select * from
comp";
m_set.Open(AFX_DB_USE_DEFAULT_TYPE,sql);int i=0;
while(!m_set.IsEOF)
m_list.InsertItem(i,m_set.m_num);
m_list.SetItemText(i,1,m_set.m_sex);
CString str;
str.Format("%d",m_set.m_age);
m_list.SetItemText(i,2,str);
m_list.SetItemText(i,3,m_set.m_wage);
m_set.MoveNext;
i++;
}
m_set.Close;
}
⑸“修改”
void CCompanyView::OnEdit
{
CCompDlg dlg;
int i=m_list.GetSelectionMark;
if(i<0)
{
this->MessageBox("先选取记录");
return;
}
CString xnum0,xnum1;
char xnum[10];
int x=m_list.GetItemText(i,0,xnum,10);
xnum1.Format("%s",xnum);
dlg.m_num=xnum1;
xnum0=xnum1;
CString str="select * from comp where num='"+xnum0+"'"; m_set.Open(AFX_DB_USE_DEFAULT_TYPE,str);dlg.m_num=m_set.m_num;
dlg.m_age=m_set.m_age;
dlg.m_wage=m_set.m_wage;
if(m_set.m_sex=="男")
dlg.m_sex=0;
else
dlg.m_sex=1;
dlg.DoModal;
m_set.Edit;
m_set.m_num=dlg.m_num;
m_set.m_age=dlg.m_age;
m_set.m_wage=dlg.m_wage;
if(dlg.m_sex==0)
m_set.m_sex="男";
m_set.m_sex ="女";
m_set.Update;
m_set.Close;
}
⑹“查询”
void CCompanyView::OnQuery
{
this->UpdateData;
CString sql;
sql="select * from comp where num='"+m_chax+"'"; m_set.Open(AFX_DB_USE_DEFAULT_TYPE,sql); m_set.Requery ;
if(m_set.IsEOF)
{
AfxMessageBox("ERROR");
return ;
}
m_list.DeleteAllItems;
int i=0;
while(!m_set.IsEOF)
{
m_list.InsertItem(i,m_set.m_num);
m_list.SetItemText(i,1,m_set.m_sex);
CString str;
str.Format("%d",m_set.m_age);
m_list.SetItemText(i,2,str);
m_list.SetItemText(i,3,m_set.m_wage);
m_set.MoveNext;
i++;
}
m_set.Close;
}
2. 购物表设计
添加了两个结构体
struct GoodsType
{
char * type;
char * name;
int price;
}goods={
"日常用品","牙刷",2,
"日常用品","牙膏",3,
"日常用品","毛巾",5,
VC++实验报告
班号:0904101
学号:090410123
姓名:仲维祎
实验一VC++开发环境的熟悉和C++基础知识实验
一、实验目的
1. 掌握C++语言的特点。
2. 掌握C++的各种数据类型及基本运算。
3. 掌握C++各种控制结构及使用技巧。
4. 掌握C++的函数、数组、指针的相关概念和使用方法。
5. 灵活运用C++相关基础知识进行综合程序设计。
6. 回顾面向过程程序设计方法。
7. 熟悉Visual C++的开发环境
8.掌握用应用程序向导创建一个控制台应用项目的方法。
9.掌握源代码文件的新建、打开、保存和关闭等基本操作。
10.掌握Visual C++项目的编译、连接和执行。
11.掌握代码简单语法错误修正和调试的一般过程。
二、实验知识点概念
注意C++中同C的不同之处,包括数据类型,输入输出等相关的差异。
三、实验题目
1. 采用插入排序法,输入10个整数按升序排序后输出。要求编写一个通用的插入排序函数,它带有三个参数,第一个参数是含有n个元素的数组,这n个元素已按升序排序;第二个参数给出当前数组中元素个数;第三个参数是要插入的整数。该函数的功能是将一个整数插入到数组中,然后进行排序。另外还需要一个用于输出数组元素的函数,要求每一行输出5个元素。
2. 有5个学生,每个学生的数据结构包括学号、姓名、年龄、C++成绩,数学成绩和英语成绩、总平均分,从键盘输入5个学生的学号、姓名、3门课的成绩,计算3门课的总平均分,最后将5个学生的数据输出。要求各个功能用函数实现。
3. 对程序加入断点简单调试。
四、程序思路
五、程序源代码
1:代码如下
#include
using namespace std;
void (char iArray,int nCount,int nNumber)
{
int i=nCount-1,j=0;
char *iArray2;
iArray2=iArray;
*(iArray2+nCount)=nNumber;//多分配一个空间给传入数据 for(i;i>=0;i--)
{
if(nCount==1)
*iArray=nNumber;
if (*(iArray2+i)<*(iArray+i+1))
{
j=*(iArray2+i);
iArray2[i]=iArray2[i+1];
iArray2[i+1]=j;
}
}
cout<<"the array is ";
for(i=0;i<nCount;i++)
{cout<<a[i]<<" ";}
}
int main
{
char a[80]={0},i,sArray=0;
for(i=0;i<10;i++)
{
cout<<"please type into numbers"<<endl;
cin>>a[i];
if (a[i]<=999999&&a[i]>=0)
{
(a,sArray+1,a[i]);
sArray++;
}
}
return 1;
}
2:代码如下:
#include
using namespace std;
class InfStud
{
public:
int id;
char name[20];
int age;
int cpp;
int math;
int eng;
void print;
int all;
};
int InfStud::all
{
int all;
all=math+cpp+eng;
return all;
};
void InfStud::print
{
cout<<"the id is "<<" "<<id<<" "
<<"the name is"<<" "<<name<<" "
<<"the age is "<<" "<<age<<" "
<<"the cpp is"<<" "<<cpp<<" "
<<"the eng is"<<" "<<eng<<" "
<<"the math is"<<" "<<math<<" "
<<"the all is"<<" "<<all<<" "
<<"the avg is"<<" "<<all/3<<endl;
};
void main
{
InfStud student[5];
int i=0,j;
for(i;i<=4;i++)
{ cout<<"type the id name age c++ eng math in"<>student[i].id>>student[i].name>>student[i].age>>student[i].cpp>>student[i].eng>>student[i].math; }