仓库商品检查登记管理系统_第1页
仓库商品检查登记管理系统_第2页
仓库商品检查登记管理系统_第3页
仓库商品检查登记管理系统_第4页
仓库商品检查登记管理系统_第5页
已阅读5页,还剩72页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

77/77昆明理工大学城市学院面向对象程序设计实训报告仓库商品检查登记管理系统专业:班级:姓名:学号:指导老师:2012年1月6日目录目录………………1实训的目的和任务………………3实训内容指导……3仓库商品检查登记管理系统……类设计……………流程图……………源代码……………程序运行结果……总结………………一、实训的目的和任务C++语言程序设计的实训,是教学计划中的一个有机组成部分,是培养学生综合应用所学的基础的理论,基本知识和技能,分析解决实际问题能力的重要一环,与其它教学环节紧密配合,相辅相成,是前面教学环节的继续,深入和发展。通过实训过程可在不同程度上提高调查研究,查问文献,实际应用的能力。二、实训内容指导(一)数据类型和表达式基础实训1、定义一个描述学生的结构体类型student,含有学号num、姓名name、性别sex、成绩score几个分量,再定义属于这个结构体类型的两个变量stu1、stu2。structstudent

{

intnum;/*学号*/

charname[20];/*姓名*/

charsex;/*性别*/

floatscore;/*成绩*/

};structstudentstudent1,student2;2、建立一个适于描述碗和勺子的结构体,有关的信息是:两者都有货号、价格、颜色,不同的是碗的大小用口径来表示,勺子的大小用枚举类型表示,分大、中、小三种。现有的勺子的大小是中,将其表示出来。#include<iostream>usingnamespacestd;structbowl{intNo;intprice;charcolor;floatsize;};structspoon{intNo;intprice;charcolor;struct{enum{small,medium,big}shaozi;}a;}b;voidmain(){b.a.shaozi=b.a.medium;cout<<b.a.shaozi;}3、编程实现两个整数相加。#include<iostream.h>intmain(){ intinteger1,integer2,sum; cout<<"Enterfirstinteger\n"; cin>>integer1; cout<<"Entersecondinteger\n"; cin>>integer2; sum=integer1+integer2; cout<<"Sumis"<<sum<<endl; return;}4、编程实现,输入一个三位整数,能够将它反向输出。#include<stdio.h>#include<iostream>usingnamespacestd;voidmain(){intnum;cout<<"input:";cin>>num;while(num){cout<<num%10;num/=10;}cout<<endl;}5、读程序写结果。综合实训数字互换实训。输入一个大于三位的整数,编一个程序,将它的十位数和百位数互换位置。#include<iostream>usingnamespacestd;intmain(){intx;inta[3];cin>>x;for(inti=0;i<3;i++){a[i]=x%10;x=x/10;}x=x*1000+a[0]+a[1]*100+a[2]*10;cout<<x<<endl;return1;}(二)语句和函数基础实训1、根据考试成绩的等级A、B、C和D,输出对应的百分制分数段,A对应85~100,B对应70~84,C对应60~69,D对应0~60。#definenum100inta[]=newint[num];for(inti=0;i<num;i++){if(a[i]>=85)cout<<'A';eseif(a[i]>=70)cout<<'B';elseif(a[i]>=60)cout<<'C';elsecout<<'D';}2、用for语句编程求1~100之和。#include<iostream.h>voidmain(){ intsum(0); for(inti=1;i<=100;i++) sum+=i; cout<<"sum="<<sum<<endl;}3、用for语句、while语句和递归函数三种方法计算n!。#include<iostream.h>main(){intn;intsum=1;cin<<n;for(;n>0;)sum*=n--;while(n>0)sum*=n--;intf(intx){if(x>1){x*=f(x-1);returnx;}elsereturnx;}4、用for循环编程打印图形。#include<iostream>usingnamespacestd;intmain(){for(inti=1;i<=5;i++){for(intj=1;j<=i;j++)cout<<"*";cout<<endl;}cout<<"*****"<<endl;cout<<"*"<<endl;}5、编写函数,判断一个数是否是质数。#include<iostream>

#include<cmath>

usingnamespacestd;

intmain()

{inti,j,k;

cin>>j;

k=sqrt(j);

for(i=2;i<=k;i++)

if(j%i==0)break;

if(i>k)

cout<<1;

elsecout<<0;

return0;

}9、设计一个函数,求三个数中的最大值。#include<iostream.h>intmax(int,int,int);voidmain(){ cout<<max(35,48,26)<<endl;}intmax(inta,intb,intc){ intt=max(a,b); returnmax(t,c);}10、编写程序,利用itoa函数实现整数到字符串的转换。#include<stdio.h>

int

itoa(x)

{

char

c;

c=x;

printf("%c",c);

getch();

}

int

main(void)

{

int

a;

printf("input

a

number:");

scanf("%d",&a);

itoa(a);

}11、编写程序,最多读入10个数,读入0表示结束。将读入的非零的数放在一个数组里,按从大到小的顺序排序后输出。#include<iostream>#include<iterator>#include<algorithm>#include<vector>usingnamespacestd;intmain()//主函数{vector<int>b;for(inti=0;i<10;i++){intx=0;cin>>x;if(x)b.push_back(x);elsebreak;}sort(b.begin(),b.end());copy(b.begin(),b.end(),ostream_iterator<int>(cout,""));return0;}12、将一个代表整型数的字符串转换为一个整型的数字。#include<iostream>#include<string>#include<sstream>usingnamespacestd;intmain(intargc,char*argv[]){stringstreama;stringb;inti;cin>>b;a.str(b);a>>i;cout<<i*2<<endl;return0;}综合实训(职工信息处理函数实训)职工的信息有姓名、年龄、工龄、性别、婚姻状况、级别、工资、在职否。现在要进行工资的调整,规定凡是退休职工一律增加工资50元,在职1~5级职工的工资分别增加20、40、60、80、100元。编程实现上述工资调整。要求如下:(1)分析要存放的信息,设计合适的数据结构;(2)分析要对信息进行的操作,进行处理;(3)打印程序执行前后的工资状况和级别。(三)面向对象基本概念与类实训基础实训1、读程序写结果;2、设计一个表示猫的类,包括猫的颜色、体重、年龄等数据,具有设置猫的颜色,修改和显示猫的体重、年龄等操作。设猫类的类名为Cat,猫类Cat有3个数据成员,颜色用字符串color[7],可以存放3个汉字,体重用实型数weight表示,年龄用整型数age表示,为了数据的安全性,Cat的3个数据成员全部为私有的。对猫的属性数据的设置和修改,PutColor为设置和修改颜色,PutWeight为设置和修改体重,PutAge为设置和修改年龄,它们都设置为公有函数,还要有一个1个3个参数的函数SetCat。设计Display函数输出猫的信息。#include<iostream>classCat{privateStringcolour;privateintweight;privateintage;...intgetWeight(){returnweight;}intgetAge(){returnage;}voidsetClolur(StringxClolour){colour=xCloour;}voidsetWeight(intxWeight){weight=xWeight;}voidsetAge(intxAge){age=xAge;}}设计一个表示学习成绩的类,至少包括三门课程的成绩,可以设置、显示每门课程的成绩,可以计算、显示平均成绩。classGrades{private:intMath,English,Chinese;public:Grades(){Math=English=Chinese=0;}Grades(inta,intb,intc){Math=a;English=b;Chinese=c;}intgetM(){returnMath;}intgetE(){returnEnglish;}intGetC(){returnChinese;}voidSetvalue(inta,intb,intc){Math=a;English=b;Chinese=c;}voidDisplay();floatAverage(){return(Math+English+Chinese)/3.0;}}4、设计成绩类,成绩类的数据成员,应该包括学生的学号Number[10]和姓名Name[9],假设有3门课,分别为C++程序设计语言,用整型变量Cpp表示;计算机原理,用整型变量Computer表示;数据库,用整型变量DataBase表示。平均成绩用实型变量Average表示。为了Grade类数据的安全性,数据成员全部为私有成员,对成绩类的属性数据用一些函数进行设置和修改,PutNo为设置和修改学号,PutName为设置和修改姓名,PutCpp为设置和修改C++程序设计语言的成绩,PutCom为设置和修改计算机原理的成绩,PutData为设置和修改数据库的成绩,还有一个同时设置所有5个参数的函数SetGrade,它们都设置为公有函数。计算平均成绩的函数为Calc,设计函数Display输出成绩。有时可能要查看某个学生的成绩,所以设计比较学号的函数为ComNo,设计比较姓名的函数为ComName,GetCpp为读取C++程序设计语言的成绩,GetCom为读取计算机原理的成绩,GetData为读取数据库的成绩,设计读取平均成绩的函数为GetAvg。计算平均成绩只是在类的内部实现,所以设计为私有函数,其它都为公有函数。综合实训设计一个表示整型数据的集合类,可以对集合中的数据进行添加、删除,可以判断一个整数是否在这个集合里,可以求出集合数据的多少,可以判断集合的空与满,空集合就是没有数据元素,满集合就是数据元素已经占满给出的存储单元。两个集合可以做交运算,就是将两个集合的公共数据组成一个新的集合。两个集合可以做并运算,就是将两个集合的所有数据组成一个新的集合。要求如下:(1)分析集合类的数据属性要求;(2)分析集合类的操作属性要求;(3)编制集合类的接口定义;(4)实现集合类的属性函数。#include<iostream.h>//formthedatastructData{longnum;Data*next;};//thesetclassclassGather{public:Gather(int=5);//~Gather();voidform(int);voiddel();voidsetGather();voidprint();voidadd(int);Data*getptr(){returnptr;}Gather&operator=(Gather&);Gather&operator+(Gather&);Gather&operator*(Gather&);private:intLEN;Data*ptr;};Gatherinside;Gather::Gather(inta){form(a);}voidGather::form(inta){LEN=a;Data*p;for(inti=0;i<a;i++){if(i==0){ptr=newData;p=ptr;}else{p->next=newData;p=p->next;}}p->next=NULL;}//Gather::~Gather(){del();}voidGather::del(){Data*p;Data*q;p=ptr;for(inti=0;i<LEN;i++){q=p;p=p->next;deleteq;}LEN=0;}voidGather::setGather(){Data*p;p=ptr;for(inti=0;i<LEN;i++){cout<<"Enteritem"<<i+1<<":";cin>>p->num;p=p->next;}}voidGather::print(){if(LEN==0)cout<<"It'sanemptyset!"<<endl;Data*p;p=ptr;for(inti=0;i<LEN;i++){cout<<p->num<<"";p=p->next;if(i!=0&&i%10==0)cout<<endl;}}voidGather::add(intt){booly=true;Data*p;p=ptr;for(inti=0;i<LEN;i++){if(p->num==t){y=false;break;}if(i!=LEN-1)p=p->next;}if(y){p->next=newData;p=p->next;p->num=t;p->next=NULL;LEN++;}}Gather&Gather::operator=(Gather&x){if(ptr==x.ptr)return*this;else{del();form(x.LEN);Data*p,*q;p=ptr;q=x.ptr;for(inti=0;i<x.LEN;i++){p->num=q->num;p=p->next;q=q->next;}return*this;}}Gather&Gather::operator+(Gather&x){inside.del();inside.form(LEN);Data*q;Data*p;q=ptr;p=inside.getptr();for(inti=0;i<LEN;i++){p->num=q->num;p=p->next;q=q->next;}q=x.ptr;for(i=0;i<x.LEN;i++){inside.add(q->num);q=q->next;}returninside;}Gather&Gather::operator*(Gather&x){intz=0;longg[100];booly=true;Data*p;Data*q;p=ptr;q=x.ptr;for(inti=0;i<LEN;i++){q=x.ptr;for(intj=0;j<x.LEN;j++){if(p->num==q->num){for(intt=0;t<z;t++)if(p->num==g[t]){y=false;break;}if(y){g[z]=p->num;z++;break;}y=true;break;}elseq=q->next;}p=p->next;}inside.del();inside.form(z);Data*pre;pre=inside.getptr();for(i=0;i<z;i++){pre->num=g[i];pre=pre->next;}returninside;}//themainintmain(){Gatherx(6);Gathery;Gatherresult;cout<<"Entertheitemofsetx:"<<endl;x.setGather();cout<<"Theitemsofxis:"<<endl;x.print();cout<<endl;cout<<"Entertheitemofsety:"<<endl;y.setGather();cout<<"Theitemsofyis:"<<endl;y.print();cout<<endl;cout<<"Theresultofx+yis:"<<endl;result=x+y;result.print();cout<<endl;cout<<"Theresultofx*yis:"<<endl;result=x*y;result.print();cout<<endl;cout<<"Entertheitemyouwanttoaddtox:";inta;cin>>a;x.add(a);cout<<"Nowxis:";x.print();cout<<endl;inside.del();result.del();x.del();y.del();return0;}(四)对象实训基础实训1、 读程序写结果;2、 设计计算图形面积的程序,图形有圆和长方形,计算半径为15、23、37的圆和长宽分别为(32,56)、(21,45)的长方形等五个图形的面积。classrect

{

private:

floatlength;

floatwidth;

public:

rect(floatl,floatw);

voidputwidth(floatw);

voidputlength(floatl);

floatgetwidth()const;

floatgetlength()const;

floatArea()const;

floatTotal()const;

};

rect::rect(floatl=0,floatw=0)

{

length=l;

width=w;

}

voidrect::putwidth(floatw)

{

width=w;

}

voidrect::putlength(floatl)

{

length=l;

}

floatrect::getlength()const

{

returnlength;

}

floatrect::getwidth()const

{

returnwidth;

}

floatrect::Area()const

{

returnlength*width;

}

floatrect::Total()const

{

return2*(length+width);

}

//rect.cpp

#include<iostream>

#include<conio.h>

#include"rect.h"

#include<string>

usingnamespacestd;

voidmain()

{

cout<<"求长方形的面积与周长"<<endl;

intstr=0;

floatrw,rl;

recta(0,0);

ttt:

cout<<"请先输入长和宽:";

cin>>rl>>rw;//此处输入字符时就会错误

a.putlength(rl);

a.putwidth(rw);

do

{

cout<<"输入0为退出,输入1求面积,输入2求周长,3是输入长和宽"<<endl;

cin>>str;

switch(str)

{

case1:cout<<"面积是:"<<a.Area()<<endl;break;

case2:cout<<"周长是:"<<a.Total()<<endl;break;

case3:gotottt;break;

case0:cout<<"ByeBye!"<<endl;break;

default:cout<<"错误!输入1求面积,输入2求周长!"<<endl;break;

}

}while(str);//*/

getch();

}3、 设计一个日期类Date,可以求昨天的日期和明天的日期,输出格式为:年/月/日,编写主程序设置当前日期为2003年9月10日,显示昨天的日期和明天的日期,将日期改为2004年5月4日,显示修改后的日期。综合实训设计一个最多可以存放100个整数的类,要求这些整数按从小到大的顺序存放在类中的数组里,可以删除数组中的数据,也可以向数组中插入数据,但是要保持从小到大的顺序,可以求出数据的多少,可以判断数组的空和满,可以显示数组中的整数。当然刚生成对象时,对象中的数组没有数据,只有一个一个地向对象中插入数据。要求如下:(1)分析数组类的数据属性要求;(2)分析数组类的操作属性要求;(3)编制数组类的接口定义;(4)生成数组类对象;(5)编制程序实现数组对象的插入和删除操作;#include<iostream.h>classDate{private:intyear,month,day;public:Date(inty=1900,intm=1,intd=1):year(y),month(m),day(d){}//构造函数voidsetDate(inty,intm,intd)//设置日期{year=y;month=m;day=d;}voidshowDate()//输出日期格式{cout<<year<<"/"<<month<<"/"<<day<<endl;}intleap()//判断是否为润年{if(year%400==0||(year%100!=0&&year%4==0))return1;elsereturn0;}intDays()//判断当月天数{intd;switch(month){case2:if(leap())d=29;elsed=28;break;case1:case3:case5:case7:case8:case10:case12:d=31;break;case4:case6:case9:case11:d=30;break;}returnd;}intisRight()//判断日期数是否合理{if(year<0||month<1||month>12||day<1||day>Days()){cout<<"thedatedataiswrong!!"<<endl;return0;}elsereturn1;}DateYesterday()//求昨天{Datedt(year,month,day);inty1=dt.year,m1=dt.month,d1=dt.day;switch(month){case2:case4:case6:case8:case9:case11:{if(day==1){y1=year;m1=month-1;d1=31;}else{y1=year;m1=month;d1=day-1;}break;}case5:case7:case10:case12:{if(day==1){y1=year;m1=month-1;d1=30;}else{y1=year;m1=month;d1=day-1;}break;}case3:{if(day==1){y1=year;m1=month-1;if(leap())d1=29;elsed1=28;}else{y1=year;m1=month;d1=day-1;}break;}case1:{if(day==1){y1=year-1;m1=12;d1=31;}else{y1=year;m1=month;d1=day-1;}break;}}dt.setDate(y1,m1,d1);returndt;}DateTomorrow()//求明天日期{Datedt(year,month,day);inty1=dt.year,m1=dt.month,d1=dt.day;switch(month){case1:case3:case5:case7:case8:case10:{if(day==31){y1=year;m1=month+1;d1=1;}else{y1=year;m1=month;d1=day+1;}break;}case4:case6:case9:case11:{if(day==30){y1=year;m1=month+1;d1=1;}else{y1=year;m1=month;d1=day+1;}break;}case2:{if((leap()&&day==29)||(!leap()&&day==28)){y1=year;m1=month+1;d1=1;}else{y1=year;m1=month;d1=day+1;}break;}case12:{if(day==31){y1=year+1;m1=1;d1=1;}else{y1=year;m1=month;d1=day+1;}break;}}dt.setDate(y1,m1,d1);returndt;}};//data类结束intmain(){Datedate1;inty,m,d,tr=1;while(tr){cout<<"\t请输入当天日期"<<endl;cout<<"年:";cin>>y;cout<<"月:";cin>>m;cout<<"日:";cin>>d;date1.setDate(y,m,d);if(date1.isRight()){cout<<"当日日期";date1.showDate();cout<<"明日日期";date1.Tomorrow().showDate();cout<<"昨日日期";date1.Yesterday().showDate();}cout<<"继续下一次测试(1)或者结束(2)"<<endl;cin>>tr;if(tr!=1)break;}return0;}(五)指针与引用实训基础实训1、 读程序写结果;2、 设有一个整型数组A,有10个元素,输出各个元素,要求使用数组名和指针运算来实现。3、 设计一个函数,以参数方式输入一个字符串,返回该字符串的长度。#include<iostream.h>intmystrlen(char*str){ intcnt=0; while((cnt++,*str++)); returncnt-1;}intmain(){ charstr[100]; intlength; cout<<"输入字符串:"<<endl; cin>>str; length=mystrlen(str); cout<<str<<"长度为:"<<length<<endl; return0;}4、 设计一个函数,比较两个字符串是否相同。#include<iostream.h>#include<string.h>voidmain(){ charstr1[100],str2[100]; cout<<"输入两个字符串(str1,str2):"<<endl; cin>>str1>>str2; intret=strcmp(str1,str2); if(ret==0) cout<<"相同"<<endl;else cout<<"不同"<<endl;}4、 设计一个函数,比较两个字符串是否相同。intmyStrCmp(char*str1,char*str2){intsl1=0,sl2=0,i;while(str1[sl1++]);while(str2[sl2++]);if(sl1!=sl2)return0;elsefor(i=0;i<sl1-1;i++)if(str1[i]!=str2[i])return0;return1;}5、 用指针和引用实现数的交换。#include<iostream.h>#include<string.h>voidswap1(int&a,int&b){intc;c=a;a=b;b=c;}voidswap2(int*p1,int*p2){intp;p=*p1;*p1=*p2;*p2=p;}intmain(void){intnum1,num2;cout<<"(&num1,&num2):"<<endl;cin>>num1>>num2;cout<<"(原始数据:num1,num2):"<<num1<<','<<num2<<endl;swap1(num1,num2);cout<<"第一次交换:"<<num1<<','<<num2<<endl;swap2(&num1,&num2);cout<<"第二次交换:"<<num1<<','<<num2<<endl;return0;}6、 对象指针遵循一般变量指针的规则。综合实训冒泡排序是一个排序程序,它将无次序的数列排成从小到大的有序数列。要求如下:(1)建成一个数组类;(2)使用指针变量指向动态数组;(3)编写成员函数完成排序;(4)编写主程序,验证结果。(六)继承实训基础实训1、 读程序,写结果;2、 定义B0是虚基类,B1和B2都继承B0,D1同时继承B1和B2,它们都是公有派生,这些类都是同名的公有数据成员和公有函数,编制主程序,生成D1的对象,通过限定词::分别访问D1、B0、B1、B2的公有成员。3、 定义一个文件名类,包含文件名属性。由文件名类派生一个表示文件的类,增加文件的页数和文件的编号。4、 设计一个楼房基类,包含变量层数、建筑面积、建筑名称。建立派生类表示居住楼,增加变量单元数。再建立派生类表示办公楼,增加变量表示公司数#include<string.h>#include<iostream>usingnamespacestd;classbuilding//楼房基类{public:building(intfloor,doublearea,stringname){floors=floor;areas=area;names=name;}virtualvoidDisplay()const{/*dosomethinglikeprint*/}private:intfloors;doubleareas;stringnames;//建筑名称};classhouse:publicbuilding{public:house(intfloor,doublearea,stringname,intdomitory):building(floor,area,name){ds=domitory;}voidDisplay()const{/*dothethingyouwanttodo*/}private:intds;};classoffice:publicbuilding//不知道你是要从building继承还是house这从buiding继承{public:office(intfloor,doublearea,stringname,intCompanySize):building(floor,area,name){cs=CompanySize;}voidDisplay()const{/*printorsomething*/}private:intcs;};voidDoSmeThing(building*p){p->Display();}voidmain(){buildingBd(5,60,"paradise");houseHs(4,56.8,"home",5);officeOf(9,70.8,"HDD",100);DoSmeThing(&Bd);DoSmeThing(&Hs);DoSmeThing(&Of);}定义描述坐标位置的类,由它派生出具有显示和移动功能的点类,再从点类派生出圆类,求出圆的周长和面积。circle_header.h#ifndefCIRCLE_H#defineCIRCLE_H#include<iostream>#include<math.h>usingnamespacestd;#definePI3.1416classLocation{public:Location(floatxx=0,floatyy=0){X=xx;Y=yy;}floatGetX(){returnX;}floatGetY(){returnY;}voidSetX(floatxx){X=xx;}voidSetY(floatyy){Y=yy;}private:floatX;floatY;};classPoint:publicLocation{public:voidMove(floatxx,floatyy){SetX(xx);SetY(yy);}voidDisplay(){cout<<"Thelocationis"<<"x="<<GetX()<<","<<"y="<<GetY();}private:LocationPointLocation;};classCircle:publicPoint{public:Circle(Location¢re,Point&circlePoint){CirclePoint=circlePoint;Centre=centre;}floatGirth(){return2*PI*Radius();}floatAcreage(){returnPI*Radius()*Radius();}private:LocationCentre;PointCirclePoint;floatRadius(){returnsqrt((CirclePoint.GetX()-Centre.GetX())*(CirclePoint.GetX()-Centre.GetX())+(CirclePoint.GetY()-Centre.GetY())*(CirclePoint.GetY()-Centre.GetY()));}};#endiffile.cpp#include"circle_header.h"voidmain(){Locationcentre(1,2);Pointpoint;point.Move(4,5);Circlecircle(centre,point);cout<<circle.Acreage()<<""<<circle.Girth()<<endl;}综合实训人员类的继承实训;(设计基类人员类,数据成员为姓名和身份号,成员函数有输入数据和显示数据;派生学生类,数据成员包括电话号码和C++成绩,成员函数有输入数据和显示数据;设计学生地址类,数据成员包括地址和年龄,成员函数输入数据和显示数据;由学生类和地址类派生学生成绩类,数据成员数学成绩和英语成绩,成员函数输入数据和显示数据;职员类继承人员类,没有任何成员。)要求如下:(1)设计人员类;(2)设计地址类;(3)由人员类派生学生类;(4)由人员类派生职员类;(5)由学生类和地址类派生出学生成绩类;(6)编制主程序,验证结果。(七)静态成员和友元实训#include<iostream>#include<string>usingnamespacestd;classPerson{private:stringname;stringid;public:voidinput(stringname,stringid){this->name=name;this->id=id;}voidprint(){cout<<"姓名:"<<name<<endl;cout<<"身份证号:"<<id<<endl;}};classAddress{private:stringadd;intage;public:voidinput(stringadd,intage){this->add=add;this->age=age;}voidprint(){cout<<"住址:"<<add<<endl;cout<<"年龄:"<<age<<endl;}};classStudent:publicPerson{private:stringphone_num;intgrade_C;public:voidinput(stringname,stringid,stringphone_num,intgrade_C){Person::input(name,id);this->phone_num=phone_num;this->grade_C=grade_C;}voidprint(){Person::print();cout<<"电话:"<<phone_num<<endl;cout<<"C++成绩:"<<grade_C<<endl;}};classScore:publicStudent,publicAddress{private:intgrade_Math;intgrade_English;public:voidinput(stringname,stringid,stringadd,intage,stringphone_num,intgrade_C,intgrade_Math,intgrade_English){Student::input(name,id,phone_num,grade_C);Address::input(add,age);this->grade_Math=grade_Math;this->grade_English=grade_English;}voidprint(){Student::print();cout<<"数学成绩:"<<grade_Math<<endl;cout<<"英语成绩:"<<grade_English<<endl;Address::print();}};classEmployee:publicPerson{};intmain(){Scorec;Employeee;c.input("刘杨","2002001","重庆",20,"87935114",97,88,56);e.input("麻婷","123456");cout<<"\n学生信息\n";c.print();cout<<"\n职员信息\n";e.print();return0;}基础实训1、 定义一个工资类,包含一个保护数据成员money表示工资,一个静态数据成员sds表示个人所得税占工资的比例,一个静态成员函数modSDS更改sds。#include<string.h>#include<stdio.h>classPayroll{private:doublemoney;doubletotal;public:inttime;//假设为整数intGetTime(){do{printf("inputtime:");scanf("%d",&time);}while(time<0&&time>60);money=100;return0;}intGetTotalMoney(){return(total=time*money);}voidPrint(){print

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论