C++程序设计实验报告自考本科.docx
- 文档编号:10460887
- 上传时间:2023-02-13
- 格式:DOCX
- 页数:13
- 大小:30.67KB
C++程序设计实验报告自考本科.docx
《C++程序设计实验报告自考本科.docx》由会员分享,可在线阅读,更多相关《C++程序设计实验报告自考本科.docx(13页珍藏版)》请在冰豆网上搜索。
C++程序设计实验报告自考本科
河南省高等教育自学考试
计算机及其应用专业
(本科段)
C++程序设计
实验考核报告
姓名准考证号所属地市
实验地点实验日期2014.10.12
实验总成绩指导教师签名
实验单位(实验室)意见:
主考院校审核意见:
2014年10月12日
河南科技大学
2014年
目录
一、实验报告要求----------------------------------------------------------------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); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 程序设计 实验 报告 自考 本科