c课程设计报告含代码.docx
《c课程设计报告含代码.docx》由会员分享,可在线阅读,更多相关《c课程设计报告含代码.docx(16页珍藏版)》请在冰豆网上搜索。
c课程设计报告含代码
C++课程设计报告
专业:
学号:
姓名:
同组人:
提交日期:
【设计目的】
1、通过设计一个较为简单的《商场库存货物管理系统》,进一步熟悉C++中类的概念、类的封装、继承的实现方式。
2、了解系统开发的需求分析、类层次设计、模块分析、编码测试、模块组装与整体调试的全过程,加深对C++的理解与VisualC++环境的使用;逐步熟悉程序设计的方法,并养成良好的编程习惯。
【设计内容】
1、设计某公司的库存管理系统。
此程序是为了更好的处理货物的详细信息。
包括货物的货物的入库、出库、查询、统计。
并且能够很好的让使用者了解库存货物的有关信息。
2、系统要求能够按编号显示、查找、增加、删除、和保存各类货物的信息。
输入和输出货物的有关信息并且对输入保存文件里确定程序至少具备以下功能:
查询模块、增加模块、删除模块、货物的有关信息数据存盘等的基本模块。
3、系统具有“货物的有关信息数据存盘”的功能,所以货物的有关信息数据可以保存到磁盘文件,那么也就意味着今后可以从磁盘文件读出货物的有关信息,可以方便用户使用,避免数据重复录入,考虑到系统实现简洁,货物数据文件采用文本文件,货物数据文件名:
date.dat。
4、作为一个完整的系统,除了具有增加货物,删除货物的信息模块,还应该具有修改货物相关信息的功能,所以本系统具备了“商品入库”、“商品出库”、“查询统计”、“商品报损”、“退出系统”,这5个基本功能,就可以以最简捷的方式实现对货物的管理,也就实现了系统的要求。
5、下图中黑体字部分程序块为我完成的代码块
【实验环境】
1.硬件环境:
(1)电脑型号戴尔Inspiron5557笔记本电脑(扫描时间:
2017年01月11日)
(2)操作系统Windows10Enterprise64位(DirectX12)
(3)处理器英特尔Corei7-6500U@2.50GHz双核
(4)主板戴尔03XTY7(英特尔PCI标准主机CPU桥-100Series芯片组Family/eSPIController-9D48)
(5)内存8GB(镁光DDR3L1600MHz)
(6)主硬盘三星SSD850EVO500GB(500GB/固态硬盘)
(7)显卡NvidiaGeForce930M(4GB)
(8)显示器友达AUO38ED(15.3英寸)
2.软件环境:
Windows10Enterprise64位(DirectX12)、VisualStudio2015
【设计中使用函数说明】
(1)charmanage:
:
first_face()//首页:
该函数是该系统的首页。
(2)voidmanage:
:
in_cangku()//入库函数:
该函数是将商品信息录入到文件中。
(3)voidmanage:
:
out_cangku()//出库函数:
该函数将商品信息读取后找到用户想要出库的商品然后进行商品报损。
(4)voidmanage:
:
find_property()//查询函数:
该函数用于让用户选择自己想要的查询商品的方式:
俺商品名称查询、按商品价格查询、按商品价格查询。
(5)voidmanage:
:
find_name()//按商品名称查询:
该函数会读取用户输入的商品名称,然后打开存储文件找到该商品并显示在屏幕上。
(6)voidmanage:
:
find_price()//按商品价格查询:
该函数会读取用户输入的商品价格,然后打开存储文件找到该商品并显示在屏幕上。
(7)voidmanage:
:
find_kind()//按大类查询该函数会读取用户输入的商品大类,然后打开存储文件找到该商品并显示在屏幕上。
(8)voidmanage:
:
call_break()//商品报损函数:
该函数将商品信息读取后找到用户想要报损的商品然后进行商品报损
【测试结果】
1.商场库存货物管理系统首页
2.商品入库
3.商品查询
4.按商品名查询
5.按商品价格查询
6.按商品大类查询
7.商品报损
【设计总结】
经过一个学期对《C++程序设计》的学习,我学习到了基本的理论知识,了解到了C++语言程序设计的思想,这些知识都为我的课程实践和进一步的学习打下了坚实的基础。
在为期近一周的C++课程设计中,我体会颇多,学到了很多东西。
我加强了对C++程序设计这门课程的认识,并且复习了自己以前学习到的知识。
这些都使得我对计算机语言的学习有了更深入的认识!
总之,通过这次课程设计,我收获颇丰,相信会为自己以后的学习和工作带来很大的好处。
像职工信息表这样的程序设计,经历了平时在课堂和考试中不会出现的问题和考验。
而这些问题,这并不是我们平时只靠课本,就可以轻易解决的。
所以,锻炼了我们挑战难题,学会用已掌握的知识去解决具体问题的能力,进一步培养了独立思考问题和解决问题的能力。
特别是学会了在Visual C++中如何调试程序的方法。
当然,老师的指导和同学的帮助也是不可忽视的,他们给了我许多提示和帮助,教会了我编译复杂程序的方法。
在老师和同学的帮助下,通过自己的努力,终于完成了这次职工信息表的简单课程设计。
我经过这段时间的编程,对其中的艰辛,我是深有体会。
从刚开始的选择程序、理解程序到后来的调试程序以及改进程序这个过程中,我遇到了各种各样的困难和挫折。
但是我坚定信念,对自己充满了信心,想尽一切办法克服重重困难。
通过课程设计的训练,我进一步学习和掌握了对程序的设计和编写,从中体会到了面向对象程序设计的方便和巧妙。
懂得了在进行编写一个程序之前,要有明确的目标和整体的设计思想。
另外某些具体的细节内容也是相当的重要。
这些宝贵的编程思想和从中摸索到的经验都是在编程的过程中获得的宝贵财富。
这些经验对我以后的编程会有很大的帮助的,我要好好利用。
虽然这次课程设计是在参考程序的基础之上进行的,但是我觉得对自己是一个挑战和锻炼。
我很欣慰自己能在程序中加入自己的想法和有关程序内容,也就是对它的程序改进了一番改进,并有创新。
但是我感觉自己的创新还不够典型,总之还不是很满意。
另外由于时间的紧迫和对知识的了解不够广泛,造成了系统中还存在许多不足,功能上还不够完善。
以后我会继续努力,大胆创新,争取能编写出透射着自己思想的程序。
这次课程设计让我充分认识到了自己的不足,认识到了动手能力的重要性。
我会在以后的学习中更加努力锻炼自己,提高自己,让自己写出更好更完善的程序,为以后的编程打好基础!
【参考文献】
[1] Bjarne Stroustrup, THE C++ PROGRAMMING LANGUAGE, Higher Education Press Pearson Education, 2002
[2] [美]Walter Savitch著,周靖译,C++面向对象程序设计——基础、数据结构与编程思想,清华大学出版
社,2004
[3] [美]Brian Overland著,董梁等译,C++语言命令详解,电子工业出版社,2000
[4] [美]AI Stevens著,林瑶等译,C++大学自学教程,电子工业出版社,2004
[5] 刁成嘉主编,面向对象C++程序设计,机械工业出版社,2004
[6] 刘瑞新主编,曹建春,沈淑娟,张连堂等编著,Visual C++面向对象程序设计程,机械工业出版社,2004
【源程序清单】
//list.h
//首页
charmanage:
:
first_face()
{
system("cls");
cout<cout<<<<<<<<<<<<<<<return_getch();
}
//入库
voidmanage:
:
in_cangku()
{
system("cls");
stringname;//商品名
doubleprice;//价格
intstore_Number;//仓库编号
stringdalei;//商品大类
intshelf_Number;//货架号
longquantity=0;//商品数量
cout<"<cout<<"\t商品名称:
";
cin>>name;
cout<";
cin>>price;
cout<";
cin>>quantity;
cout<";
cin>>store_Number;
cout<";
cin>>dalei;
cout<";
cin>>shelf_Number;
ofstreamstoreFile("store.txt",ios:
:
app);//ofstream类“写”,storeFile对象.
//ios:
:
app—写入的数据将被追加在文件的末尾,此方式使用ios:
:
out
storeFile<:
left)<<<<//setiosflags(ios:
:
left)左对齐输出
storeFile.close();
cout<system("pause");//暂停
}
//出库
voidmanage:
:
out_cangku()
{
system("cls");
stringname;//商品名
cout<"<cout<<"\t商品名称:
";
cin>>name;
ifstreamstoreFile("store.txt");//ifstream类“读”
if(!
storeFile)//打开失败
{
ofstreamstoreFile1("store.txt");//“写”
storeFile1.close();
cout<!
!
!
"<system("pause");
return;
}
boolflag=false;
stringname_1;//商品名
doubleprice_1;//价格
intstore_Number_1;//仓库编号
stringdalei_1;//商品大类
intshelf_Number_1;//货架号
longquantity_1=0;//商品数量
ofstreamtempFile("temp.txt");//“写”临时文件
while(storeFile>>name_1>>price_1>>quantity_1>>store_Number_1>>dalei_1>>shelf_Number_1)
{
if(name_1==name)
flag=true;
else
{
tempFile<:
left)<<<<}
}
tempFile.close();
storeFile.close();
if(!
flag)//“1”打开失败
{
cout<!
!
"<system("pause");
return;
}
ofstreamstoreFile1("store.txt");//“写”
ifstreamtempFile1("temp.txt");//“读”
storeFile1<storeFile1.close();
tempFile1.close();
cout<!
!
"<system("pause");
}
//查询
voidmanage:
:
find_property()
{
while
(1)
{
system("cls");
cout<cout<<"\t============================================================="<<<"\t||||"<<<"\t||商品查询||"<<<"\t||||"<<<"\t||1.按商品名称查询||"<<<"\t||||"<<<"\t||2.按商品价格查询||"<<<"\t||||"<<<"\t||3.按大类查询||"<<<"\t||||"<<<"\t||4.返回||"<<<"\t||||"<<<"\t============================================================="<charselect=_getch();
switch(select)
{
case'1':
find_name();
break;
case'2':
find_price();
break;
case'3':
find_kind();
break;
case'4':
return;//跳出函数
default:
break;
}
}
}
//按商品名称查询
voidmanage:
:
find_name()
{
system("cls");
cout<"<cout<<"\t输入商品名:
";
stringname;
cin>>name;
stringname_1;//商品名
doubleprice_1;//价格
intstore_Number_1;//仓库编号
stringdalei_1;//商品大类
intshelf_Number_1;//货架号
longquantity_1=0;//商品数量
ifstreamstoreFile("store.txt");//“读”
if(!
storeFile)//打开失败
{
cout<!
!
"<system("pause");
return;
}
boolflag=false;
cout<<<"商品大类"<<"货架号"<while(storeFile>>name_1>>price_1>>quantity_1>>store_Number_1>>dalei_1>>shelf_Number_1)
{
if(name_1==name)
{
flag=true;
cout<:
left)<<<<}
}
storeFile.close();
if(!
flag)
cout<!
!
";
cout<system("pause");
}
//按商品价格查询
voidmanage:
:
find_price()
{
system("cls");
cout<"<cout<<"\t输入价格:
";
doubleprice;
cin>>price;
stringname_1;//商品名
doubleprice_1;//价格
intstore_Number_1;//仓库编号
stringdalei_1;//商品大类
intshelf_Number_1;//货架号
longquantity_1=0;//商品数量
ifstreamstoreFile("store.txt");//“读”
if(!
storeFile)
{
cout<!
!
"<system("pause");
return;
}
boolflag=false;
cout<<<"商品大类"<<"货架号"<while(storeFile>>name_1>>price_1>>quantity_1>>store_Number_1>>dalei_1>>shelf_Number_1)
{
if(price_1==price)
{
flag=true;
cout<:
left)<<<<}
}
storeFile.close();
if(!
flag)
cout<!
!
";
cout<system("pause");
}
//按大类查询
voidmanage:
:
find_kind()
{
system("cls");
cout<"<cout<<"\t输入大类名:
";
stringdalei;
cin>>dalei;
stringname_1;//商品名
doubleprice_1;//价格
intstore_Number_1;//仓库编号
stringdalei_1;//商品大类
intshelf_Number_1;//货架号
longquantity_1=0;//商品数量
ifstreamstoreFile("store.txt");//“读”
if(!
storeFile)
{
cout<!
!
"<system("pause");
return;
}
boolflag=false;
cout<<<"商品大类"<<"货架号"<while(