C++课程设计报告Word格式文档下载.docx
《C++课程设计报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C++课程设计报告Word格式文档下载.docx(25页珍藏版)》请在冰豆网上搜索。
亮点在于,可以给每一个药品进行编号,省得使用者自己再去编号了。
另外显示的药品两侧的竖线也是极为可贵的,使得界面效果一下子提高了不少。
8.库存盘点的函数。
亮点在于,可以为我们数量较少的药品在输出时进行编号,省得使用者自己再去编号。
9.存盘。
功能设计上亮点没有,倒是有缺点。
前面已经提过。
10.读盘。
有bug,同一个文件无法被两次打开。
11.排序。
使用的选择法进行的排序。
心得体会与新增功能说明
心得体会。
关于这次课程设计,可谓是不断的改进,不断的提高。
最终由原来的1.0版本而升级为2.2的版本。
虽然说程序做出来还是有一些地方是不尽人意的,但其中的整个过程着实让我明白了做一个程序的大体流程与不易。
首先,需要我们进行功能分析,然后写出一个具有基本功能的一个比较粗糙的程序,然后才是改进,不断的思考,进行功能的细化与增加。
另外,还需要同时不断的进行程序功能的测试,这个工作也是非常重要的,一方面测试可以为我们提供错误的地方,使我们修改bug,另一方面,从测试中我们自己的使用体验中可以找到灵感,使得我们的程序更加人性化的灵感。
新增功能。
我不知道自己的程序是不是新增了一些功能。
只是在原有的程序基础上进行了修改,使得程序更加的人性化。
比如说增加,删除,修改,查询四个函数都可以在不返回主菜单而多次进行自己的功能。
比如说删除,修改函数可以在即将进行这个操作时进行最后一次确认工作。
比如说界面的设计更加的柔和,排版更加的丰富多彩。
比如说显示信息时为每一个药品进行编号,直接输出在屏幕上。
比如说可以在输入时即便是类型的输入是错误的,也没关系。
比如说增加函数的重名检测机制。
有些许注释的源程序
#include<
iostream>
string.h>
iomanip>
fstream>
stdlib.h>
usingnamespacestd;
classChemical_Drug//在这里构建一种数据类型,它叫做Chemical_Drug
{
protected:
charName[20];
//在这里使用Name表示药品的名字,使用Price表示单价,使用Number表示药品的数量
intPrice;
intNumber;
public:
Chemical_Drug(char*name="
wrong!
"
intprice=0,intnumber=0):
Price(price),Number(number)
{
strcpy(Name,name);
}
char*Get_Name()
returnName;
intGet_Price()
returnPrice;
intGet_Number()
returnNumber;
voidSet_Name(char*name)
strcpy(Name,name);
voidSet_Price(intprice)
Price=price;
voidSet_Number(intnumber)
Number=number;
voidDisplay()
cout<
<
setw(8)<
Name<
Price<
Number<
'
|'
endl;
};
Chemical_Drug*Drugs=newChemical_Drug[10];
intExist_Str=0,Space_Str=9;
//Space_Str表示我的数组空间容量,Exist_Str表示我已经使用过的容量(他们都是数组中的下标)
intMenu_Select()
char*Fuc[13+4]=
{
"
_______________________________________________________________________"
"
CHEMICALDRUGSMANAGEMENT"
------madebypetero(n_n)o"
___________________________________________________________________"
|1.addsomething|"
|2.deletesomething|"
|3.altersomething|"
|4.inquiresomething|"
|5.sortthem|"
|6.seeallofthem|"
|7.knowtheprices|"
|8.writetheinformation|"
|9.readtheinformatin|"
|10.seethetingsinalack|"
|0.exit|"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
};
//在上一行里,使用Fuc表示我即将使用一共十个选项功能的说明
inti,Choice;
chartemp[80];
do
system("
cls"
);
for(i=0;
i<
17;
i++)
cout<
Fuc[i]<
*****************\nInput0-10\n"
;
cin>
>
Choice;
while(cin.rdstate())//如果遇到错误
{
cin.clear();
//清除出错状态
cin.getline(temp,80);
temp<
isthewronginput!
\n"
pleaseinputagain!
\n"
cin>
}
}while(Choice<
0||Choice>
10);
return(Choice);
}
voidAdd()
for(chari='
1'
i!
='
0'
)
charname[20];
Chemical_Drug*drugs;
intnumber,price;
chartemp[20];
cout<
******************************************\n"
Drugsadding\n"
inputthedrug'
name:
cin>
name;
inputitsprice:
price;
while(cin.rdstate())
cin.getline(temp,80);
temp"
isthewronginput!
pelaseinputagain:
inputitsnumber:
number;
cin.clear();
if(Space_Str>
=Exist_Str)
Chemical_DrugAddthing(name,price,number);
//在这里,我使用Addthing表示我增加的药品,下一句使用Drugs代表我的所有药品。
Drugs[Exist_Str]=Addthing;
Exist_Str++;
else
drugs=newChemical_Drug[Space_Str+11];
for(intj=0;
j<
Exist_Str;
j++)
drugs[j]=Drugs[j];
drugs[Exist_Str]=Chemical_Drug(name,price,number);
delete[]Drugs;
Drugs=drugs;
Space_Str+=10;
if(Drugs[Exist_Str-1].Get_Number()!
=0&
&
Drugs[Exist_Str-1].Get_Price()!
=0)
************************************\n"
addsuccessfully!
else
******************