欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    C++实训报告之仓库管理以及实训题目指导[36页].docx

    • 资源ID:89622269       资源大小:422.96KB        全文页数:36页
    • 资源格式: DOCX        下载积分:9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C++实训报告之仓库管理以及实训题目指导[36页].docx

    最新资料推荐昆明理工大学城市学院面向对象程序设计实训报告仓库商品检查登记管理系统专业:班级:姓名:学号:指导老师:2012年1月6日目录目录1实训的目的和任务3实训内容指导3仓库商品检查登记管理系统类设计流程图源代码程序运行结果总结一、实训的目的和任务C+语言程序设计的实训,是教学计划中的一个有机组成部分,是培养学生综合应用所学的基础的理论,基本知识和技能,分析解决实际问题能力的重要一环,与其它教学环节紧密配合,相辅相成,是前面教学环节的继续,深入和发展。通过实训过程可在不同程度上提高调查研究,查问文献,实际应用的能力。二、实训内容指导(一)数据类型和表达式基础实训1、定义一个描述学生的结构体类型student,含有学号num、姓名name、性别sex、成绩score几个分量,再定义属于这个结构体类型的两个变量stu1、stu2。struct studentintnum; /* 学号 */char name20;/* 姓名 */char sex; /* 性别 */floatscore; /* 成绩 */; struct student student1, student2;2、建立一个适于描述碗和勺子的结构体,有关的信息是:两者都有货号、价格、颜色,不同的是碗的大小用口径来表示,勺子的大小用枚举类型表示,分大、中、小三种。现有的勺子的大小是中,将其表示出来。#include <iostream>using namespace std;struct bowl int No; int price; char color; float size;struct spoon int No; int price; char color; struct enum small,medium,bigshaozi; a;b;void main() b.a.shaozi = b.a.medium; cout<<b.a.shaozi;3、编程实现两个整数相加。#include<iostream.h>int main()int integer1,integer2,sum; cout<<"Enter first integern" cin>>integer1; cout<<"Enter second integern" cin>>integer2; sum=integer1+integer2; cout<<"Sum is "<< sum<< endl; return; 4、编程实现,输入一个三位整数,能够将它反向输出。#include <stdio.h>#include<iostream> using namespace std; void main() int num; cout<<"input:" cin>>num; while(num) cout<<num%10; num /=10; cout<<endl;5、读程序写结果。综合实训数字互换实训。输入一个大于三位的整数,编一个程序,将它的十位数和百位数互换位置。#include<iostream>using namespace std;int main() int x; int a3; cin>>x; for(int i=0;i<3;i+) ai=x%10;x=x/10; x=x*1000+a0+a1*100+a2*10; cout<<x<<endl; return 1;(二)语句和函数基础实训1、根据考试成绩的等级A、B、C和D,输出对应的百分制分数段,A对应85100,B对应7084,C对应6069,D对应060。#define num 100int a=new int num;for(int i=0;i<num;i+)if(ai>=85)cout<<'A'ese if(ai>=70)cout<<'B'else if(ai>=60)cout<<'C'elsecout<<'D'2、用for语句编程求1100之和。#include<iostream.h>void main()int sum(0);for(int i=1;i<=100;i+)sum+=i;cout<<"sum="<<sum<<endl;3、用for语句、while语句和递归函数三种方法计算n!。#include<iostream.h>main()int n;int sum=1;cin<<n;for(;n>0;) sum*=n-;while(n>0) sum*=n-; int f(int x) if(x>1) x*=f(x-1); return x; else return x; 4、用for循环编程打印图形。#include <iostream>using namespace std;int main() for(int i=1;i<=5;i+) for(int j=1;j<=i;j+) cout<<"*" cout<<endl; cout<<"*"<<endl; cout<<"*"<<endl;5、编写函数,判断一个数是否是质数。# include<iostream># include<cmath>using namespace std;int main()int i,j,k;cin>>j;k=sqrt(j);for(i=2;i<=k;i+)if(j%i=0)break;if(i>k)cout<<1;else cout<<0;return 0;9、设计一个函数,求三个数中的最大值。#include<iostream.h>int max(int,int,int);void main()cout<<max(35,48,26)<<endl;int max(int a,int b,int c)int t=max(a,b);return max(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>using namespace std;int main()/主函数 vector<int> b; for(int i=0;i<10;i+) int x=0; cin>>x; if( x ) b.push_back( x ); else break; sort( b.begin(),b.end() ); copy( b.begin(),b.end() , ostream_iterator<int>(cout," ") ); return 0;12、将一个代表整型数的字符串转换为一个整型的数字。#include <iostream>#include <string>#include <sstream>using namespace std;int main(int argc, char* argv) stringstream a; string b; int i; cin>>b; a.str(b); a>>i; cout<<i*2<<endl; return 0;综合实训(职工信息处理函数实训)职工的信息有姓名、年龄、工龄、性别、婚姻状况、级别、工资、在职否。现在要进行工资的调整,规定凡是退休职工一律增加工资50元,在职15级职工的工资分别增加20、40、60、80、100元。编程实现上述工资调整。要求如下:(1)分析要存放的信息,设计合适的数据结构;(2)分析要对信息进行的操作,进行处理;(3)打印程序执行前后的工资状况和级别。(三)面向对象基本概念与类实训基础实训1、读程序写结果;2、设计一个表示猫的类,包括猫的颜色、体重、年龄等数据,具有设置猫的颜色,修改和显示猫的体重、年龄等操作。设猫类的类名为Cat,猫类Cat有3个数据成员,颜色用字符串color7,可以存放3个汉字,体重用实型数weight表示,年龄用整型数age表示,为了数据的安全性,Cat的3个数据成员全部为私有的。对猫的属性数据的设置和修改,PutColor为设置和修改颜色,PutWeight为设置和修改体重,PutAge为设置和修改年龄,它们都设置为公有函数,还要有一个1个3个参数的函数 SetCat。设计Display函数输出猫的信息。#include <iostream>class Catprivate String colour;private int weight;private int age;.int getWeight() return weight;int getAge() return age;void setClolur(String xClolour) colour=xCloour;void setWeight(int xWeight) weight=xWeight;void setAge(int xAge) age=xAge; 3、 设计一个表示学习成绩的类,至少包括三门课程的成绩,可以设置、显示每门课程的成绩,可以计算、显示平均成绩。 class Gradesprivate: int Math,English,Chinese;public: Grades() Math = English = Chinese = 0; Grades(int a,int b,int c) Math = a; English = b; Chinese = c; int getM() return Math; int getE() return English; int GetC() return Chinese; void Setvalue(int a,int b,int c) Math = a; English = b; Chinese = c; void Display(); float Average() return (Math+English+Chinese)/3.0; 4、设计成绩类,成绩类的数据成员,应该包括学生的学号Number10和姓名Name9,假设有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>/form the datastruct Data long num; Data *next;/the set classclass Gather public: Gather(int =5); /Gather(); void form(int); void del(); void setGather(); void print(); void add(int); Data *getptr()return ptr; Gather& operator=(Gather &); Gather& operator+(Gather &); Gather& operator*(Gather &); private: int LEN; Data *ptr;Gather inside;Gather:Gather(int a)form(a);void Gather:form(int a) LEN=a; Data *p; for (int i=0;i<a;i+) if(i=0) ptr=new Data; p=ptr; else p->next=new Data; p=p->next; p->next=NULL;/Gather:Gather()del();void Gather:del() Data *p; Data *q; p=ptr; for(int i=0;i<LEN;i+) q=p; p=p->next; delete q; LEN=0;void Gather:setGather() Data *p; p=ptr; for (int i=0;i<LEN;i+) cout<<"Enter item "<<i+1<<" :" cin>>p->num; p=p->next; void Gather:print() if (LEN=0) cout<<"It's an empty set!"<<endl; Data *p; p=ptr; for(int i=0;i<LEN;i+) cout<<p->num<<" " p=p->next; if (i!=0&&i%10=0) cout<<endl; void Gather:add(int t) bool y=true; Data *p; p=ptr; for(int i=0;i<LEN;i+) if (p->num=t) y=false; break; if(i!=LEN-1)p=p->next; if(y) p->next=new Data; 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(int i=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(int i=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; return inside;Gather& Gather:operator *(Gather &x) int z=0; long g100; bool y=true; Data *p; Data *q; p=ptr; q=x.ptr; for(int i=0;i<LEN;i+) q=x.ptr; for(int j=0;j<x.LEN;j+) if (p->num=q->num) for(int t=0;t<z;t+) if (p->num=gt) y=false; break; if(y) gz=p->num; z+; break; y=true; break; else q=q->next; p=p->next; inside.del(); inside.form(z); Data *pre; pre=inside.getptr(); for (i=0;i<z;i+) pre->num=gi; pre=pre->next; return inside;/the mainint main() Gather x(6); Gather y; Gather result; cout<<"Enter the item of set x:"<<endl; x.setGather(); cout<<"The items of x is:"<<endl; x.print(); cout<<endl; cout<<"Enter the item of set y:"<<endl; y.setGather(); cout<<"The items of y is:"<<endl; y.print(); cout<<endl; cout<<"The result of x+y is:"<<endl; result=x+y; result.print(); cout<<endl; cout<<"The result of x*y is:"<<endl; result=x*y; result.print(); cout<<endl; cout<<"Enter the item you want to add to x :" int a; cin>>a; x.add(a); cout<<"Now x is : " x.print(); cout<<endl; inside.del(); result.del(); x.del(); y.del(); return 0;(四)对象实训基础实训1、读程序写结果;2、设计计算图形面积的程序,图形有圆和长方形,计算半径为15、23、37的圆和长宽分别为(32,56)、(21,45)的长方形等五个图形的面积。class rect private: float length; float width; public: rect(float l,float w); void putwidth(float w); void putlength(float l); float getwidth()const; float getlength()const; float Area()const; float Total()const; ; rect:rect(float l=0 ,float w=0) length=l; width=w; void rect:putwidth(float w) width=w; void rect:putlength(float l) length=l; float rect:getlength()const return length; float rect:getwidth()const return width; float rect:Area ()const return length*width; float rect:Total ()const return 2*(length+width); /rect.cpp #include <iostream> #include <conio.h> #include "rect.h " #include <string> using namespace std; void main() cout < < "求长方形的面积与周长 " < <endl; int str=0; float rw,rl; rect a(0,0); ttt: cout < < "请先输入长和宽: " cin> > rl> > rw;/此处输入字符时就会错误 a.putlength (rl); a.putwidth (rw); do cout < < "输入0为退出,输入1求面积,输入2求周长,3是输入长和宽 " < <endl; cin> > str; switch (str) case 1: cout < < "面积是: " < <a.Area () < <endl; break; case 2: cout < < "周长是: " < <a.Total () < <endl; break; case 3: goto ttt; break; case 0: 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>class Dateprivate:int year,month,day;public:Date(int y=1900,int m=1,int d=1):year(y),month(m),day(d)/构造函数void setDate(int y,int m,int d)/设置日期 year=y; month=m; day=d;void showDate()/输出日期格式 cout<<year<<"/"<<month<<"/"<<day<<endl;int leap()/判断是否为润年 if(year%400=0|(year%100!=0&&year%4=0) return 1; else return 0;int Days()/判断当月天数 int d; switch(month) case 2: if(leap() d=29; else d=28; break; case 1: case 3: case 5: case 7: case 8: case 10: case 12:d=31;break; case 4: case 6: case 9: case 11:d=30;break; return d;int isRight()/判断日期数是否合理if(year<0|month<1|month>12|day<1|day>Days() cout<<"the date data is wrong!"<<endl;return 0;else return 1;Date Yesterday()/求昨天Date dt(year,month,day);int y1=dt.year,m1=dt.month,d1=dt.day;switch(month) case 2: case 4: case 6: case 8: case 9: case 11: if(day=1)y1=year;m1=month-1;d1=31; else y1=year;m1=month;d1=day-1; break; case 5: case 7: case 10: case 12: if(day=1)y1=year;m1=month-1;d1=30; else y1=year;m1=month;d1=day-1; break; case 3: if(day=1) y1=year;m1=month-1; if(leap() d1=29; else d1=28; else y1=year;m1=month;d1=day-1; break; case 1: if(day=1)y1=year-1;m1=12;d1=31; else y1=year;m1=month;d1=day-1; break; dt.setDate(y1,m1,d1);return dt;Date Tomorrow()/求明天日期 Date dt(year,month,day);int y1=dt.year,m1=dt.month,d1=dt.day;switch(month) case 1: case 3: case 5: case 7: case 8: case 10: if(day=31)y1=year;m1=month+1;d1=1; else y1=year;m1=month;d1=day+1; break; case 4: case 6: case 9: case 11: if(day=30)y1=year;m1=month+1;d1=1; else y1=year;m1=month;d1=day+1; break; case 2: if(leap()&&day=29)|(!leap()&&day=28) y1=year;m1=month+1;d1=1; else y1=year;m1=month;d1=day+1; break; case 12: if(day=31)y1=year+1;m1=1;d1=1; else y1=year;m1=month;d1=day+1; break; dt.setDate(y1,m1,d1);return dt; ;/data类结束int main()Date date1;int y,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;return 0;(五)指针与引用实训基础实训1、读程序写结果;2、设有一个整型数组A,有10个元素,输出各个元素,要求使用数组名和指针运算来实现。3、设计一个函数,以参数方式输入一个字符串,返回该字符串的长度。#include<iostream.h>int mystrlen(char *str)int cnt = 0;while(cnt+,*str+);return cnt-1;int main()char str100;int length;cout<<"输入字符串:"<<endl;cin>>str;length = mystrlen(str);cout<<str<<"长度为:"<<length<<endl;return 0;4、设计一个函数,比较两个字符串是否相同。#include <iostream.h>#include <string.h>void main()char str1100,str2100;cout<<"输入两个字符串(str1,str2):"<<endl;

    注意事项

    本文(C++实训报告之仓库管理以及实训题目指导[36页].docx)为本站会员(yan****nan)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开