77范文网 - 专业文章范例文档资料分享平台

C++实验三类的定义及使用

来源:网络收集 时间:2018-11-21 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

实 验 报 告 专业:计算机科学与技术 班级: 学号: 姓名: 课程名称:C++面向对象程序设计教程 201 -201 学年度 第 学期 课程类别:必修 实验时间:2 年 月 日 实验名称:实验三 类的定义及使用实验目的和要求: 目的: (1) 熟悉类的定义格式与类中成员的访问; (2) 熟悉成员函数的定义及调用; (3) 掌握对象的定义及使用。 (4) 理解public、private和protected这三种属性成员的访问方式。 要求: (1) 程序格式规范,程序运行正确; (2) 算法要求缜密、严谨、复杂度小等; (3) 认真书写实验报告,如实填写各项实验内容,尤其是调试信息; (4) 完成任务后,继续验证其他程序(书或资料上的)。 实验软硬件要求: (1) 计算机一台 (2) VC++6.0开发环境 实验内容、实验过程、所遇问题及其解决方法 (1) 定义一个类,要求:能完成计算三角形的面积和结果输出的操作; (2) 定义一个类,分别统计一串字符的大写字母、小写字母、空格、数字和其他字符的个数。 (3) 定义一个类,要求:能计算一个n×n数据方阵的两条对角线元素之和。 (4) 定义一个描述学生基本情况的类,数据成员包括姓名,学号,操作系统、计算机网络和数据库原理等课程成绩。成员函数包括设置姓名、学号和三门课程的成绩、输出数据、以及求每个学生的平均成绩。 (5) 定义一个日期类,要求:能设置日期;能以“年/月/日”格式输出日期;能对某日期进行加一天的操作;能对某日期进行减一天的操作。(选做) 实验总结及心得体会: 通过本次实验,我熟悉了类的定义格式与类中成员的访问以及学会了成员函数的定义及调用,并且掌握了对象的定义及使用、理解了public、private和protected这三种属性成员的访问方式。 评定成绩: 批阅教师: 年 月 日

附录:实验源程序及实验结果

(1) 定义一个类,要求:能完成计算三角形的面积和结果输出的操作;

#include #include #include

using namespace std; double a,b,c; class Triangle { public: double Area() { double s=(a+b+c)/2; return sqrt(s*(s-a)*(s-b)*(s-c)); }; void Input() { cin>>a>>b>>c; }}; void main()

{ Triangle t1; t1.Input(); if(a+b<=c||b+c<=a||a+c<=b)

cout<<\不能构成三角形\else cout<

(2) 定义一个类,分别统计一串字符的大写字母、小写字母、空格、数字和其他字符的个数。 #include #include using namespace std; class CStrCount {public:

void CountCharByType(const char *s);};

void CStrCount::CountCharByType(const char *s) { int i=0; int ch=0,CH=0,num=0,blank=0,other=0; while(s[i]!='\\0')

{ if('0'<=s[i] &&s[i]<='9') { num++; i++; continue; } if('b'<=s[i] && s[i]<='z') {ch++; i++; continue; } if('A'<=s[i] && s[i]<='Z') { CH++; i++; continue; } if(s[i]==' ') { blank++; i++; continue; } other++; i++; } cout<<\数字个数:\ cout<<\小写字母个数:\ cout<<\大写字母个数:\ cout<<\空格个数:\ cout<<\其它字符个数:\}

int main()

{ CStrCount st; char s[100];

cout << \请输入一组ASCII字符串:\ gets(s);

st.CountCharByType(s); return 0; }

(3) 定义一个类,要求:能计算一个n×n数据方阵的两条对角线元素之和。#include using namespace std; class juzheng {

private: int n,sum; public:

int set(int n); }; int juzheng::set(int n)

{ int a[100][100]; int z; z=n*n; cout<<\请输入矩阵的\个元素:\ int i,j,sum=0; for(i=0;i>a[i][j];

cout<<\输出这个方阵\for(i=0;i for(i=0;i

if(i==j||i+j==n-1) sum=a[i][j]+sum;} for(i=0;i

if(i==j&&i+j==n-1) sum=sum+a[i][j]; }

return sum; } int main(){ int n,sum=0;

cout<<\请输入矩阵的阶:\cin>>n; juzheng a; sum=a.set(n);

cout<<\该方阵的两条对角线的元素之和为:\cout<

(4) 定义一个描述学生基本情况的类,数据成员包括姓名,学号,操作系统、计算机网络和数据库原理等课程成绩。成员函数包括设置姓名、学号和三门课程的成绩、输出数据、以及求每个学生的平均成绩。

#include class student { private:

char name[20]; char numb[20];

int OS,network,database; double aver; public:

void get_student()

{ cout<<\请输入姓名:\ cin>>name;

cout<<\请输入学号:\ cin>>numb;

cout<<\请依次输入操作系统、计算机网络和数据库原理三门课成绩:\ cin>>OS>>network>>database; cout<

aver=(double)(OS+network+database)/3; }

void show_student()

{ cout<<\姓名:\ cout<<\学号:\

cout<<\操作系统成绩:\

cout<<\计算机网络成绩:\ cout<<\数据库原理成绩:\ cout<<\平均分:\ cout<

{ student A;

A.get_student(); A.show_student(); return 0; }

(5) 定义一个日期类,要求:能设置日期;能以“年/月/日”格式输出日期;能对某日期进行加一天的操作;能对某日期进行减一天的操作。(选做)

#include using namespace std; class data {private: int y; int m; int d; public:

int set(int y,int m,int d); int add(int y,int m,int d); int jian(int y,int m,int d); };

int data::set(int y,int m,int d)

{cout<

int data::add(int y,int m,int d)

{ if(y%4==0&&y0!=0||y@0==0) { if(m==1||m==3||m==5||m==7||m==8||m==10) {if(d==31){ m=m+1; d=1;} else d=d+1; } else if(m==4||m==6||m==9||m==11) {if(d==30){ m=m+1; d=1;} else d=d+1;} else if(m==2) {if(d==29){ m=m+1; d=1;} else d=d+1; } else {if(d==31){ y=y+1; m=1; d=1;} else d=d+1; } } else {

if(m==1||m==3||m==5||m==7||m==8||m==10) {if(d==31){ m=m+1; d=1;}

else d=d+1;

} else if(m==4||m==6||m==9||m==11) {if(d==30){ m=m+1; d=1;} else d=d+1; } else if(m==2) {if(d==28){ m=m+1; d=1;} else d=d+1; } else {if(d==31){ y=y+1; m=1; d=1;} else d=d+1; } }

cout<

int data::jian(int y,int m,int d)

{ if(y%4==0&&y0!=0||y@0==0) {

if(m==2||m==4||m==6||m==8||m==9||m==11) {if(d==1){ m=m-1; d=31;} else d=d-1; } else if(m==5||m==7||m==10||m==12) {if(d==1){ m=m-1; d=30;} else d=d-1; } else if(m==3) {if(d==1){ m=m-1; d=29;} else d=d-1; }

else {if(d==1){ y=y-1; m=12; d=31;} } } else {

if(m==2||m==4||m==6||m==8||m==9||m==11) {if(d==1){ m=m-1; d=31;} else d=d-1; } else if(m==5||m==7||m==10||m==12) {if(d==1){ m=m-1; d=30;} else d=d-1; } else if(m==3) {if(d==1){ m=m-1;d=28;} else d=d-1; } else {if(d==1){ y=y-1; m=12; d=31;} } }

cout<

cout<<\请输入年y 月m 日d\

cin>>y>>m>>d; data t; t.set(y,m,d); for(i=1;i<=3;i++){ cout<<\进行加一天运算:\ cout<<\进行减一天运算:\ cout<<\ cout<<\请输入选择:\ cin>>choice; if(choice==0) break; switch(choice){ case 1:data v; v.add(y,m,d);break; case 2:data z; z.jian(y,m,d);break; } } return 0; }

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库C++实验三类的定义及使用在线全文阅读。

C++实验三类的定义及使用.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/293539.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: