您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > C++实训报告之仓库管理以及实训题目指导
昆明理工大学城市学院1昆明理工大学城市学院面向对象程序设计实训报告仓库商品检查登记管理系统专业:班级:姓名:学号:指导老师:2012年1月6日昆明理工大学城市学院2目录目录………………………………1实训的目的和任务………………3实训内容指导……………………3仓库商品检查登记管理系统……类设计……………………………流程图……………………………源代码……………………………程序运行结果……………………总结………………………………昆明理工大学城市学院3一、实训的目的和任务C++语言程序设计的实训,是教学计划中的一个有机组成部分,是培养学生综合应用所学的基础的理论,基本知识和技能,分析解决实际问题能力的重要一环,与其它教学环节紧密配合,相辅相成,是前面教学环节的继续,深入和发展。通过实训过程可在不同程度上提高调查研究,查问文献,实际应用的能力。二、实训内容指导(一)数据类型和表达式基础实训1、定义一个描述学生的结构体类型student,含有学号num、姓名name、性别sex、成绩score几个分量,再定义属于这个结构体类型的两个变量stu1、stu2。structstudent{intnum;/*学号*/charname[20];/*姓名*/charsex;/*性别*/floatscore;/*成绩*/};structstudentstudent1,student2;2、建立一个适于描述碗和勺子的结构体,有关的信息是:两者都有货号、价格、颜色,不同的是碗的大小用口径来表示,勺子的大小用枚举类型表示,分大、中、小三种。现有的勺子的大小是中,将其表示出来。#includeiostreamusingnamespacestd;structbowl{intNo;intprice;charcolor;floatsize;};structspoon{昆明理工大学城市学院4intNo;intprice;charcolor;struct{enum{small,medium,big}shaozi;}a;}b;voidmain(){b.a.shaozi=b.a.medium;coutb.a.shaozi;}3、编程实现两个整数相加。#includeiostream.hintmain(){intinteger1,integer2,sum;coutEnterfirstinteger\n;cininteger1;coutEntersecondinteger\n;cininteger2;sum=integer1+integer2;coutSumissumendl;return;}4、编程实现,输入一个三位整数,能够将它反向输出。#includestdio.h#includeiostreamusingnamespacestd;voidmain(){昆明理工大学城市学院5intnum;coutinput:;cinnum;while(num){coutnum%10;num/=10;}coutendl;}5、读程序写结果。综合实训数字互换实训。输入一个大于三位的整数,编一个程序,将它的十位数和百位数互换位置。#includeiostreamusingnamespacestd;intmain(){intx;inta[3];cinx;for(inti=0;i3;i++){a[i]=x%10;x=x/10;}x=x*1000+a[0]+a[1]*100+a[2]*10;coutxendl;return1;}昆明理工大学城市学院6(二)语句和函数基础实训1、根据考试成绩的等级A、B、C和D,输出对应的百分制分数段,A对应85~100,B对应70~84,C对应60~69,D对应0~60。#definenum100inta[]=newint[num];for(inti=0;inum;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之和。#includeiostream.hvoidmain(){intsum(0);for(inti=1;i=100;i++)sum+=i;coutsum=sumendl;}3、用for语句、while语句和递归函数三种方法计算n!。#includeiostream.hmain(){intn;intsum=1;cinn;for(;n0;)sum*=n--;while(n0)sum*=n--;intf(intx){昆明理工大学城市学院7if(x1){x*=f(x-1);returnx;}elsereturnx;}4、用for循环编程打印图形。#includeiostreamusingnamespacestd;intmain(){for(inti=1;i=5;i++){for(intj=1;j=i;j++)cout*;coutendl;}cout*****endl;cout*endl;}5、编写函数,判断一个数是否是质数。#includeiostream#includecmathusingnamespacestd;intmain(){inti,j,k;cinj;k=sqrt(j);for(i=2;i=k;i++)if(j%i==0)break;if(ik)cout1;elsecout0;return0;}9、设计一个函数,求三个数中的最大值。#includeiostream.hintmax(int,int,int);昆明理工大学城市学院8voidmain(){coutmax(35,48,26)endl;}intmax(inta,intb,intc){intt=max(a,b);returnmax(t,c);}10、编写程序,利用itoa函数实现整数到字符串的转换。#includestdio.hintitoa(x){charc;c=x;printf(%c,c);getch();}intmain(void){inta;printf(inputanumber:);scanf(%d,&a);itoa(a);}11、编写程序,最多读入10个数,读入0表示结束。将读入的非零的数放在一个数组里,按从大到小的顺序排序后输出。#includeiostream#includeiterator#includealgorithm#includevectorusingnamespacestd;intmain()//主函数{vectorintb;for(inti=0;i10;i++){intx=0;cinx;if(x)b.push_back(x);else昆明理工大学城市学院9break;}sort(b.begin(),b.end());copy(b.begin(),b.end(),ostream_iteratorint(cout,));return0;}12、将一个代表整型数的字符串转换为一个整型的数字。#includeiostream#includestring#includesstreamusingnamespacestd;intmain(intargc,char*argv[]){stringstreama;stringb;inti;cinb;a.str(b);ai;couti*2endl;return0;}综合实训(职工信息处理函数实训)职工的信息有姓名、年龄、工龄、性别、婚姻状况、级别、工资、在职否。现在要进行工资的调整,规定凡是退休职工一律增加工资50元,在职1~5级职工的工资分别增加20、40、60、80、100元。编程实现上述工资调整。要求如下:昆明理工大学城市学院10(1)分析要存放的信息,设计合适的数据结构;(2)分析要对信息进行的操作,进行处理;(3)打印程序执行前后的工资状况和级别。(三)面向对象基本概念与类实训基础实训1、读程序写结果;2、设计一个表示猫的类,包括猫的颜色、体重、年龄等数据,具有设置猫的颜色,修改和显示猫的体重、年龄等操作。设猫类的类名为Cat,猫类Cat有3个数据成员,颜色用字符串color[7],可以存放3个汉字,体重用实型数weight表示,年龄用整型数age表示,为了数据的安全性,Cat的3个数据成员全部为私有的。对猫的属性数据的设置和修改,PutColor为设置和修改颜色,PutWeight为设置和修改体重,PutAge为设置和修改年龄,它们都设置为公有函数,还要有一个1个3个参数的函数SetCat。设计Display函数输出猫的信息。#includeiostreamclassCat{privateStringcolour;privateintweight;privateintage;...intgetWeight(){returnweight;}intgetAge(){returnage;}voidsetClolur(StringxClolour){colour=xCloour;}voidsetWeight(intxWeight){weight=xWeight;}voidsetAge(intxAge){age=xAge;}}3、设计一个表示学习成绩的类,至少包括三门课程的成绩,可以设置、显示每门课程的成绩,可以计算、显示平均成绩。classGrades{private:intMath,English,Chinese;public:Grades(){Math=English=Chinese=0;}Grades(inta,intb,intc){Math=a;English=b;昆明理工大学城市学院11Chinese=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。计算平均成绩只是在类的内部实现,所以设计为私有函数,其它都为公有函数。综合实训设计一个表示整型数据的集合类,可以对集合中的数据进行添加、删除,可以判断一个整数是否在这个集合里,可以求出集合数据的多少,可以判断集合的空与满,空集合就是没有数据元素,满集合就是数据元素已经占满给出的存储单元。两个集合可以做交运算,就是将两个集合的公共数据组成一个新的集合。两个集合可以做并运算,就是
本文标题:C++实训报告之仓库管理以及实训题目指导
链接地址:https://www.777doc.com/doc-1243466 .html