仓库管理系统C课程设计报告.doc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 仓库 管理 系统 课程设计 报告
- 资源描述:
-
《高级语言程序设计》 课程设计报告 设计题目 图书管理系统 专 业 计算机科学与技术 班 级 姓 名 学 号 2007 年6 月 5 日 目 录 1.设计目的…………………………………………………3 2.设计思想…………………………………………………3 3.类及对象设计……………………………………………4 4.程序源代码………………………………………………5 5.调试记录…………………………………………………16 6.总结………………………………………………………18 仓库管理系统 1. 设计目的 通过实习进一步掌握所学的基本知识,学会解决实际问题的方法 2 设计题目 1、问题描述(功能要求):某公司现有以下设备:普通电视机、DVD、带DVD的电视机,带DVD的电视机的售价为普通电视机和DVD单价之和的80%,要求对所有的库存设备都能按照品名进行显示、查找、增加和删除、保存的功能。 2、问题的解决方案: 根据系统功能要求,可以将问题解决分为以下步骤: (1)分析系统中的各个实体之间的关系及其属性和行为; (2)根据问题描述,设计系统的类层次; (3)完成类层次中各个类的描述(包括属性和方法); (4)完成类中各个成员函数的定义; (5)完成系统的应用模块; (6)功能调试; (7)完成系统总结报告以及系统使用说明书。 2.设计思想 (1) 设计class admin管理库,实现对仓库信息的描叙; class shelf柜台类库实现建立电器资料;class ele电器类,实现对电器的描述,电器的编号,货架号,名称,数量,价格等;class mana函数类,实现对电器的入库,查找,出库等。以下是函数功能表: 函数 功能 char first_face() 获取首页 void show_storage() 显示储存信息 void in_storage() 电器入库 void out_storage() 电器出库 void select_ele() 查询电器信息 void select_name() 按电器名查询 void select_price() 按电器价格查询 void call_s() 商品保存 (2)用类的成员函数对链表的数据进行操作,其功能如上表所列。 (3)设计菜单来实现功能设计 1、 输入商品 2、 商品查找 3、 查询入库 4、 商品出库 5 、退出系统 3.设计类及对象 (1) 本程序定义了四个类,定义如下: class admin { public: admin(); private: string name; }; class shelf { public: shelf(); private: string storeNo;//仓库编号 string shelfNo; admin we;//货架号 }; class ele { public: ele(); private: string name;//商品名 double price;//介格 shelf sh;//所属货架 long count;//商品数量 }; class mana { public: mana(); char first_face();//首页 void show_storage();//显示 void in_storage();//入库 void out_storage();// 出库 void select_ele();//查询 void select_name();//按商品名称查询 void select_price();//按商品价格查询 void call_s();//商品保存 void show_storage1(); private: admin abs; ele aele; shelf ashelf; }; ele::ele():sh() { name = "xxx";//商品名 price = 0.0;//介格 count = 0;//商品数量 } (2)分别利用类class admin 、class shelf、class ele 、class mana 定义了各自的对象admin abs、shelf sh; ele aele; 对其函数进行调用实现各种功能。 (3)主函数实现,调用各种函数。 4.程序源代码 #include <iostream> #include <string> #include <fstream> #include <iomanip> #include <conio.h> using namespace std; class admin { public: admin(); private: string name; }; class shelf { public: shelf(); private: string storeNo;//仓库编号 string shelfNo; admin we;//货架号 }; class ele { public: ele(); private: string name;//商品名 double price;//介格 shelf sh;//所属货架 long count;//商品数量 }; class mana { public: mana(); char first_face();//首页 void show_storage();//显示 void in_storage();//入库 void out_storage();// 出库 void select_ele();//查询 void select_name();//按商品名称查询 void select_price();//按商品价格查询 void call_s();//商品保存 void show_storage1(); private: admin abs; ele aele; shelf ashelf; }; ele::ele():sh() { name = "xxx";//商品名 price = 0.0;//介格 count = 0;//商品数量 } shelf::shelf():we() { storeNo = "xxx";//仓库编号 shelfNo = "xxx";;//货架号 } admin::admin() { name = "xxx"; } mana::mana():aele(), ashelf(), abs() { } char mana::first_face() { system("cls"); cout << endl; cout <<endl <<"\t\t◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆" <<endl <<"\t\t◆ ◆" <<endl <<"\t\t◆ 公司库存货物管理系统 ◆" <<endl <<"\t\t◆ ◆" <<endl <<"\t\t◆ 1. 输入商品 ◆" <<endl <<"\t\t◆ ◆" <<endl <<"\t\t◆ 2. 商品查找 ◆" <<endl <<"\t\t◆ ◆" <<endl <<"\t\t◆ 3. 查询入库 ◆" <<endl <<"\t\t◆ ◆" <<endl <<"\t\t◆ 4. 商品出库 ◆" <<endl <<"\t\t◆ ◆" <<endl <<"\t\t◆ 5. 退出系统 ◆" <<endl <<"\t\t◆ ◆" <<endl <<"\t\t◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆" <<endl <<endl <<"\t\t"; return getch(); } void mana::in_storage() { system("cls"); string name;//商品名 double price;//介格 string storeNo;//仓库编号 string kinds;//商品大类 string shelfNo;//货架号 long count = 0; //商品数量 cout << endl << "商品入库,请输入相关信息 : " << endl << endl ; cout << "\t商品名称 : "; cin >> name; cout << endl << "\t商品介格 : "; cin >> price; cout << endl << "\t商品数量 : "; cin >> count; cout << endl << "\t仓库编号 : "; cin >> storeNo; cout << endl << "\t货架编号 : " ; cin >> shelfNo; ofstream storeFile("store.txt", ios::app); storeFile << setiosflags(ios::left) << setw(20) << name << " " << setw(15) << price << " " << setw(10) << count << " " << setw(10) << storeNo << " " << shelfNo << endl; storeFile.close(); cout << endl << endl << "\t该商品已经入库......." << endl << endl << "\t"; system("pause"); } void mana::show_storage(){ bool flag2 = false; string name2;//商品名 double price2;//介格 string storeNo2;//仓库编号 string shelfNo2;//货架号 long count2 = 0; //商品数量 ifstream showFile("store.txt"); if (!showFile) { cout << "\t对不起,你的库存为空!!!" << endl << endl << "\t"; system("pause"); return; } cout << endl << "商品名 "<<" " << "价格 "<<" " << "商品数量 " <<" "<< "仓库编号 " <<" " << "货架号" << endl << endl; while (showFile >> name2 >> price2>> count2>> storeNo2 >>shelfNo2) { cout << setiosflags(ios::left) << setw(10) << name2 << " " << setw(10) << price2<< " " << setw(10) << count2<< " " << setw(10) << storeNo2 << " " << shelfNo2 << endl; } showFile.close(); getchar(); } void mana::out_storage() { system("cls"); string name;//商品名 cout << endl << "\t商品出库,输入出库商品信息 : " << endl << endl; cout << "\t商品名称 : "; cin >> name; ifstream storeFile("store.txt"); if (!storeFile) { ofstream storeFile1("store.txt"); storeFile1.close(); cout << endl << endl << "\t仓存为空!!!!" << endl << endl << "\t"; system("pause"); return; } bool flag = false; string name1;//商品名 double price1;//介格 string storeNo1;//仓库编号 string shelfNo1;//货架号 long count2; long count1 = 0; //商品数量 ofstream tempFile("temp.txt"); while (storeFile >> name1 >> price1 >> count1 >> storeNo1 >> shelfNo1) { if (name1==name) flag=true; while(name1==name) { cout<<"\t请输入要取出的商品数量:"; cin>>count2; count1=count1-count2; break; } tempFile << setiosflags(ios::left) << setw(10) << name1 << " " << setw(15) << price1 << " " << setw(10) << count1 << " " << setw(10) << storeNo1 << " " <<setw(10)<< shelfNo1 << endl; } tempFile.close(); storeFile.close(); if (!flag) { cout << endl << endl << "\t仓库中没有这种商品!!!" << endl << endl << "\t"; system("pause"); return; } ofstream storeFile1("store.txt"); ifstream tempFile1("temp.txt"); storeFile1<<tempFile1.rdbuf(); storeFile1.close(); tempFile1.close(); cout << endl << "\t这些商品已经出库, 请仔细检查!!!" << endl << endl << "\t"; system("pause"); } //查询 void mana::select_ele() { while (1) { system("cls"); cout << endl << endl; cout << "\t=============================================================" << endl << "\t|| ||" << endl << "\t|| 商 品 查 询 ||" << endl << "\t|| ||" << endl << "\t|| 1. 按商品名称查询 ||" << endl << "\t|| ||" << endl << "\t|| 2. 按商品价格查询 ||" << endl << "\t|| ||" << endl << "\t|| 3. 返回 ||" << endl << "\t|| ||" << endl << "\t=============================================================" << endl << endl << "\t\t"; char select = getch(); switch (select) { case '1': select_name(); break; case '2': select_price(); break; case '3': return; default: break; } } } void mana::select_name() { system("cls"); cout << endl << "\t按商品名查询 : " << endl << endl ; cout << "\t输入商品名 : "; string name; cin >> name; string name1;//商品名 double price1;//介格 string storeNo1;//仓库编号 string shelfNo1;//货架号 long count1= 0; //商品数量 ifstream storeFile("store.txt"); if (!storeFile) { cout << "\t对不起,你的库存为空!!!" << endl << endl << "\t"; system("pause"); return; } bool flag = false; cout << endl << "商品名 " << "价格 " << "商品数量 " << "仓库编号 " << "货架号" << endl << endl; while (storeFile >> name1>> price1 >> count1 >> storeNo1 >> shelfNo1) { if (name1 == name) { flag = true; cout << setiosflags(ios::left) << setw(15) << name1 << " " << setw(10) << price1 << " " << setw(10) << count1 << " " << setw(10) << storeNo1 << " " << shelfNo1 << endl; } } storeFile.close(); if (!flag) cout << endl << endl << "对不起,库存中没有这种商品!!!"; cout << endl << endl; system("pause"); } void mana::show_storage1(){ string name2;//商品名 double price2;//介格 string storeNo2;//仓库编号 string shelfNo2;//货架号 long count2 = 0; //商品数量 ifstream tempFile3("temp.txt"); while (tempFile3 >> name2 >> price2>> count2>> storeNo2 >>shelfNo2) { cout << setiosflags(ios::left) << setw(10) << name2 << " " << setw(10) << price2<< " " << setw(10) << count2<< " " << setw(10) << storeNo2 << " " << shelfNo2 << endl; } tempFile3.close; system("pause"); } //按商品价格查询 void mana::select_price() { system("cls"); cout << endl << "\t按商品价格查询 : " << endl << endl ; cout << "\t输入价格 : "; double price; cin >> price; string name1;//商品名 double price1;//介格 string storeNo1;//仓库编号 string shelfNo1;//货架号 long count1 = 0; //商品数量 ifstream storeFile("store.txt"); if (!storeFile) { cout << endl << endl << "\t对不起,你的库存为空!!!" << endl << endl << "\t"; system("pause"); return; } bool flag = false; cout << endl << "商品名 " << "价格 " << "商品数量 " << "仓库编号 " << "货架号" << endl ; while (storeFile >> name1 >> price1 >> count1 >> storeNo1 >> shelfNo1) { if (price1 == price) { flag = true; cout << setiosflags(ios::left) << setw(15) << name1 << " " << setw(10) << price1 << " " << setw(10) << count1 << " " << setw(10) << storeNo1 << " " << shelfNo1 << endl; } } storeFile.close(); if (!flag) cout << endl << endl << "对不起,库存中没有这个价格的商品!!!"; cout << endl << endl; system("pause"); } int main() { char select; mana men; while (select = men.first_face()) { switch (select) { case '2': men.show_storage(); break; case '3': men.select_ele(); break; case '1': men.in_storage(); break; case '4': men.out_storage(); break; case '6': men.show_storage1(); case '5': cout << "\t" << "谢谢使用!!!!" << endl << endl << "\t\t"; exit( 0 ); break; default: break; } } return 0; } 5.调试纪录 1、电器管理界面 2、程序的主界面以及图书维护界面 3、查找读者功能界面 6.总结 通过这次课程设计,让我了解了更多关于设计时容易出现的错误,而且进一步的认识到平时学习积累的重要性。在刚进行编译的时候发现了很多的错误,都是平时应该注意的细节问题,还好与同学进行了很好的交流,得以纠正错误。 由于能力问题,我只能设计这个简单的图书管理系统。它存在很多缺陷,在很多地方都存在不足。编写程序最重要的是谨慎,认真,因为哪怕是一个字符或一个标点的错误都会导致程序的错误,从而使程序无法调试运行。 由这次编写课程设计的过程中让我更加了解到了自己的不足,那就是对编写程序的经验不足以及对理论知识的掌握不够透彻,以致程序中还存在许多缺点。 如:在程序中还有部分功能不能按我的意识表达运行,当经人指点还是比较不错的实现了。 参考资料 本程序参考书本:<< C++程序设计课程设计>> << 高级语言C++程序设计>>展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




仓库管理系统C课程设计报告.doc



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/3261942.html