C++程序设计实验报告自考本科.docx

上传人:b****4 文档编号:24650355 上传时间:2023-05-29 格式:DOCX 页数:13 大小:30.66KB
下载 相关 举报
C++程序设计实验报告自考本科.docx_第1页
第1页 / 共13页
C++程序设计实验报告自考本科.docx_第2页
第2页 / 共13页
C++程序设计实验报告自考本科.docx_第3页
第3页 / 共13页
C++程序设计实验报告自考本科.docx_第4页
第4页 / 共13页
C++程序设计实验报告自考本科.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

C++程序设计实验报告自考本科.docx

《C++程序设计实验报告自考本科.docx》由会员分享,可在线阅读,更多相关《C++程序设计实验报告自考本科.docx(13页珍藏版)》请在冰豆网上搜索。

C++程序设计实验报告自考本科.docx

C++程序设计实验报告自考本科

河南省高等教育自学考试

计算机及其应用专业

(本科段)

C++程序设计

实验考核报告

 

姓名sdfsd准考证号sdfdf所属地市dfsf

实验地点实验日期

实验总成绩指导教师签名

实验单位(实验室)意见:

主考院校审核意见:

年月日

河南科技大学

2010年

目录

一、实验报告要求----------------------------------------------------------------1

二、C++程序初步----------------------------------------------------------------2

三、建立自己的栈---------------------------------------------------------------5

四、日期显示---------------------------------------------------------------------8

实验报告要求

1、实验报告应包括以下内容:

(1)、程序清单

(2)、实验结果

(3)分析与讨论

2、实验报告应写明实验名称、班号、实验者姓名、学号、将实验报告整理装订好,按指导教师规定的时间上交。

基本实验方法

本实验环节要求学生能够顺利完成C++课程的实验操作

实验所用器件、设备的简单介绍

所有实验使用Windows、Linnux操作系统

实验一C++程序设计初步

一、实验学时:

2学时

二、实验目的:

·通过本实验让学生掌握基本的编辑、编译和运行程序的方法及C++的基本知识。

·理解封装和数据隐藏的软件工程概念。

·能够建立C++的抽象数据类型

·理解怎样建立、使用和撤销类型的对象。

·能够控制对类的数据成员和成员函数的访问。

·动态分配内存。

三、实验设备:

本实验在Windows或linux操作系统下,运行VC++6.0语言。

四、C++程序初步

1、C++程序和语句

(1)预处理命令。

如#include命令和#define命令。

(2)声明部分。

如对数据类型和函数的声明,以及对变量的定义。

(3)函数。

包括函数首部和函数体,在函数体中包含着若干声明语句和执行语句。

2、C++的输入与输出

C++的输入输出是用“流”(stream)的方式实现的。

C++通过流进行的输入输出操作如下图所示。

程序

插入

输出流

提取

输入流

3、程序清单

typedefstructCStashTag{

intsize;//Sizeofeachspace

intquantity;//Numberofstoragespaces

intnext;//Nextemptyspace

}CStash;

#include“CLib.h“//包含库的接口

#include

#include

#include

#include

usingnamespacestd;

intmain(){

CStashintStash,stringStash;

inti;

char*cp;

ifstreamin;

stringline;

constintbufsize=80;

initialize(&intStash,sizeof(int));//初始化

for(i=0;i<100;i++)

{add(&intStash,&i);}

for(i=0;i

{cout<<"fetch(&intStash,"<

<<*(int*)fetch(&intStash,i)<

}

initialize(&stringStash,sizeof(char)*bufsize);

in.open("CLibTest.cpp");

assert(in);

while(getline(in,line))

{add(&stringStash,line.c_str());}

i=0;

while((cp=(char*)fetch(&stringStash,i++))!

=0)

{cout<<"fetch(&stringStash,"<

<

}

cleanup(&intStash);//清除

cleanup(&stringStash);//显式清除

}

动态分配数组:

intsize;

cin>>size;

int*array=newint[size];

(二)、实验中出现的问题及解决方法

1、熟悉程序中用到的一些基本要素(常量、变量、运算符、表达式等),他们是构成程序的基本成分。

2、编写简单程序所必须掌握的一些内容。

实验二建立自己的栈

一、实验学时:

2学时

二、实验目的:

·通过本实验让学生自己建立一个连续存储的栈,使学生能够掌握类、类对象、类的构造函数和析构函数的使用。

·理解数据抽象与抽象数据类型(ADT)的表示方法。

三、实验设备:

本实验在Windows或linux操作系统下,运行VC++6.0语言。

四、建立自己的栈

1、程序清单

#include

#include

#include

#include

#defineSTACK_INIT_SIZE10

#defineSTACKINCREMENT10

#defineOK0;

#defineERROR-1;

structStack{

 char*base;

 char*top;

 intcount;

 intstacksize;  //stack表示的是当前已经分配的存储空间,以元素为单位

};

structStackhead;

//取栈顶元素

char*GetTop()

{

 structStack*S;

 char*e=(char*)malloc(sizeof(char));

  S=&head;

 if(S->base==S->top)  

 {

  printf("栈空/n");

  exit(0);

 }

 *e=*(S->top-1);    //top指向的是栈顶的下一个位置

 returne;

}

//插入元素e为新的栈顶元素

intPush(char*e)

{

 structStack*S;

 S=&head;

 if((S->top-S->base)==S->stacksize)   //如果栈满的话则追加空间

 {

  head.base=(char*)realloc(head.base,(head.stacksize+STACKINCREMENT)*sizeof(char));

  if(!

head.base)

   exit(0);

  head.top=head.base+head.stacksize;

  head.stacksize=head.stacksize+STACKINCREMENT;

 }

 *S->top++=*e;

 returnOK;

}

//当栈顶不为空时,删除栈顶元素

charPop()

{

 structStack*S;

 S=&head;

 if(S->top==S->base)

  exit(0);

 return(*--S->top);

}

voidprint()

{

 structStack*S;

 S=&head;

 char*p;

 p=(char*)malloc(sizeof(char));

 if(S->base==S->top)

 {

  printf("空栈/n");

  exit(0);

 }

 while(S->base!

=S->top)

 {

  *p=Pop();

  printf("p->%c/n",*p);

  p=(char*)malloc(sizeof(char));

  p++;

 }

}

intmain()

{

 charbuf[30],*z;

 inti,count;

 head.base=(char*)malloc(STACK_INIT_SIZE*sizeof(char));

 if(!

head.base)

  exit(0);

 head.top=head.base;

 head.stacksize=STACK_INIT_SIZE;

 head.count=0;

//构造栈

 for(i=0;i<15;i++)

 {

  scanf("%c",&buf[i]);

  getchar();

  Push(&buf[i]);

  head.count++;

 }

 printf("构造栈成功:

/n");

 print();

//读栈顶元素

 count=head.count;

 while(count)

 {

  ++head.top;

  count--;

 }

 z=GetTop();

 printf("取出的栈顶元素是:

%c/n",*z);

 print();

 count=head.count;

 while(count)

 {

  ++head.top;

  count--;

 }

//删除栈顶元素 

 printf("成功删除栈顶元素:

%c/n",Pop());

 head.count--;

 print();

 free(head.base);

 return0;

}

2、实验中出现的问题及解决的方法

(1)数据结构相关理论知识。

(2)堆栈的原理及应用。

实验三日期显示

一、实验学时:

2学时

二、实验目的:

·通过本实验让学生进一步熟悉C++的面向对象特征,掌握基本的面向对象程序设计方法。

·能够动态的建立和撤销对象。

·能够指定CONST对象和CONST成员函数。

·理解静态数据成员和静态成员函数。

·一个类可以做为其它类的成员。

三、实验设备:

本实验在Windows或linux操作系统下,运行VC++6.0语言。

四、显示日期

(一)、实验目的

面向对象程序设计的特点,类与对象的应用。

CONST对象和CONST成员函数,静态数据成员和静态成员函数的应用方法。

(二)、程序清单

#include

#include

#include"dos.h"

#include

structtime

{

intt_h;

intt_m;

intt_s;

}t;

voidmain()

{

cout<<"请调整当前时间/小时:

";

cin>>t.t_h;

cout<<"请调整当前时间/分钟:

";

cin>>t.t_m;

cout<<"请调整当前时间/秒钟:

";

cin>>t.t_s;

while

(1)

{

cout<<"当前时间为:

";

cout<

"<

"<

if(t.t_s==59&&t.t_m!

=59)

{t.t_m++;t.t_s=0;}

elseif(t.t_s==59&&t.t_m==59&&t.t_h!

=23)

{t.t_m=0;t.t_s=0;t.t_h++;}

elseif(t.t_s==59&&t.t_m==59&&t.t_h==23)

{t.t_s=0;t.t_m=0;t.t_h=0;}

elset.t_s++;

Sleep(1000);

system("cls");

}

}

(三)、实验中出现的问题及解决的方法

#include

#include

voidmain(void)

{

chardbuffer[9];

chartbuffer[9];

_strdate(dbuffer);

printf("Thecurrentdateis%s\n",dbuffer);

_strtime(tbuffer);

printf("Thecurrenttimeis%s\n",tbuffer);

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1