适用场景:编程教学实验准备、软件开发环境配置学习
本文要点:插入排序算法实现、学生信息结构体设计、代码调试操作执行
行文逻辑:掌握数据类型→编写控制结构→调试程序代码
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
{cout<
}
int main
{
char a[80]={0},i,sarray=0;
for(i=0;i<10;i++)
{
cout<<"please type into numbers"<
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 "<<" "<
<<"the name is"<<" "<
<<"the age is "<<" "<
<<"the cpp is"<<" "<
<<"the eng is"<<" "<
<<"the math is"<<" "<
<<"the all is"<<" "<
<<"the avg is"<<" "<
};
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; }
适用场景:vc++6.0程序设计、数据库操作实施
本文要点:列表框控件应用、购物表数据结构设计、odbc数据源配置
行文逻辑:设置数据源→初始化界面→添加记录→删除记录→查询记录
实验报告
班级:网络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,