碟行客户信息管理系统.docx

上传人:b****7 文档编号:11156995 上传时间:2023-02-25 格式:DOCX 页数:19 大小:224.32KB
下载 相关 举报
碟行客户信息管理系统.docx_第1页
第1页 / 共19页
碟行客户信息管理系统.docx_第2页
第2页 / 共19页
碟行客户信息管理系统.docx_第3页
第3页 / 共19页
碟行客户信息管理系统.docx_第4页
第4页 / 共19页
碟行客户信息管理系统.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

碟行客户信息管理系统.docx

《碟行客户信息管理系统.docx》由会员分享,可在线阅读,更多相关《碟行客户信息管理系统.docx(19页珍藏版)》请在冰豆网上搜索。

碟行客户信息管理系统.docx

碟行客户信息管理系统

《碟行客户信息管理系统》

程序设计基础课程设计报告

 

2007年6月28日

 

目录

 

1.课程设计目的1

2.课程设计题目描述和要求1

2.1课程题目1

2.2课程要求1

3.课程设计报告内容4

3.1运行结果14

4.C++课程设计过程总结14

5.参考书目15

 

1.课程设计目的

根据书本和老师讲的知识,学生自己动手练习,理论与实际操作相结合,理解老师课堂所讲内容。

通过亲手编写调试程序获得更多经验和知识,逐步提高编程能力。

2.课程设计题目描述和要求

2.1课程题目

碟行客户信息管理系统

2.2课程要求

1.有工作界面

2.进行客户信息的录入,包括编号、姓名、性别、年龄、职业、入会资金、入会时间

3.编号必须唯一

4.具有对新会员信息插入功能,并按其编号插入排序,使数据仍然有序。

5.具有删除功能。

6.具有修改功能,只要访问一次某编号,其入会资金就相应减一元;也可为某会员充值。

7.具有统计功能:

(1)统计不同年龄段的人数。

(2)根据入会时间统计不同的时间段的资金情况。

9.能在屏幕上输出所有客户的信息。

 

3课程设计报告内容

3.1

#include

#include

#include

#include//可以运用EXIT函数

#include

staticintn=0;

floattotalmoney=0;

voidprint();

//定义一个客户类

classwork

{//私有成员其中包括客户号、姓名、年龄、工作、入会时间、性别、地址、入会资金

private:

unsignedintsno;//编号

intage;//年龄

charname[20];//姓名

charworks[15];//工作

inttimes;//时间

floatmoney;//入会资金

charsex;//性别

intvalue;

//共有成员

public:

voidgetdata()//录入客户信息函数

{

value=1;

cout<<"客户号姓名性别年龄工作入会资金入会时间:

";

cout<<'\n';

cin>>sno>>name>>sex>>age>>works>>money>>times;

}

voiddisplay();

int&get_value()//函数返回值为引用时,可以修改函数返回值。

{returnvalue;}

unsignedintget_sno()//得到客户号

{returnsno;}

char*get_name()//得到客户姓名

{returnname;}

float&get_money()//得到客户资金

{returnmoney;}

intget_times()//得到客户时间

{returntimes;}

intget_age()//得到客户年龄

{returnage;}

};

 

voidwork:

:

display()//输出客户信息函数

{

cout<<"输出信息:

"<<'\n';

if(get_value()==1)

{

cout<

:

left)//输出做对其

<<"客户号"<<'\t'<<"姓名"<<'\t'<<"性别"<<'\t'

<<"年龄"<<'\t'<<"工作"<<'\t'<<"入会资金"<<'\t'<<"入会时间"<

cout<

:

left)

<

<

}

elsecout<<"客户号为"<

"<

}

 

//录入客户信息

voidInput()

{

ofstreamoutfile("work.text",ios:

:

out);//以输出方式建立work文档文本文件

if(!

outfile)

{

cerr<<"Can'topenwork.text."<

exit

(1);

}

workOne;

cout<

"<

cout<

";

cin>>n;

for(inti=1;i<=n;i++)

{

cout<<"第"<

One.getdata();

outfile.write((char*)&One,sizeof(One));

}

outfile.close();

}

//输出客户信息

voidPutout()

{

ifstreaminfile("work.text",ios:

:

in);

if(!

infile)

{

cerr<<"Can'texportfromwork.text."<

exit

(1);

}

workTwo;

infile.read((char*)&Two,sizeof(Two));

while(infile)

{

Two.display();

infile.read((char*)&Two,sizeof(Two));

};

infile.close();

}

//按客户号查询

voidFind1()

{

inti=1;floatmoney;

workThree;

ifstreaminput("work.text",ios:

:

in);

if(!

input)

{

cerr<<"Can'texportfromwork.text."<

exit

(1);

}

unsignedintsno;

cout<<"请输入客户号:

";

cin>>sno;

input.read((char*)&Three,sizeof(Three));

while(input)

{

if(Three.get_sno()==sno)

{

cout<<"输出查询结果:

"<

Three.display();

money=Three.get_money();

if(money<1)

cout<<"您的资金已低于1元,请尽快冲值"<

}

if(i==n)cout<<"无此人信息,查找无效!

"<

input.read((char*)&Three,sizeof(Three));

i++;

}

input.close();

}

//按姓名查询

voidFind2()

{

charname[20];

workThree;

ifstreamfile("work.text",ios:

:

in);

if(!

file)

{

cerr<<"Can'texportfromwork.text."<

exit

(1);

}

cout<<"输入要查询的姓名:

";

cin>>name;

file.read((char*)&Three,sizeof(Three));

while(file)

{

if(!

strcmp(Three.get_name(),name))

{

cout<<"输出查询结果:

"<

Three.display();

}

elsecout<<"无此人信息,查找无效!

"<

file.read((char*)&Three,sizeof(Three));

}

}

//查询客户信息

voidFind()

{

intsel;

do

{

cout<

"<

cout<

客户号2:

姓名3:

退出:

";

cin>>sel;

switch(sel)

{

case1:

Find1();break;

case2:

Find2();break;

}

}while(sel==1||sel==2);

}

//添加客户信息

voidAdd()

{

intj=1,i;

cout<<"最多能增添三次数据,请输入你要添加的次数:

";

cin>>i;

cout<

do

{

fstreamoutapp("work.text",ios:

:

app);

if(!

outapp)

{

cerr<<"Can'toutappwork.text."<

exit

(1);

}

workFour;

cout<<"添加数据:

"<<'\n';

Four.getdata();

outapp.write((char*)&Four,sizeof(Four));

outapp.close();

if(j==3)

{cout<<"已添加三次,你无权再输入."<

break;

}

}while(j++

n++;

}

//客户信息删除

voidDelete()

{

unsignedintsno;

inti=0,j=1;

fstreamoutdel("work.text",ios:

:

in|ios:

:

out);

if(!

outdel)

{

cerr<<"Can'toutappwork.text."<

exit

(1);

}

workSix;

outdel.seekg(0);//存入文件时从头开始

cout<<"输入要删除的客户号:

";

cin>>sno;

while(!

outdel.eof())//文件结束

{

outdel.seekp(sizeof(work)*i);//不能用seekg(sizeof(work)*i)!

outdel.read((char*)&Six,sizeof(Six));

if(sno==Six.get_sno())

{

Six.get_value()=0;

outdel.seekp(sizeof(work)*i);//

outdel.write((char*)&Six,sizeof(Six));break;//只有写入work.text时,才能起到修改的作用。

}

if(j==n)cout<<"不存在此人信息,删除无效。

"<

i++;j++;

}

outdel.close();

cout<<"************************************************"<

}

 

//客户数据修改

voidAlter()

{intf;floatmoney,a;

workthree;

fstreaminput("work.text",ios:

:

in);

if(!

input)

{

cerr<<"Can'texportfromwork.txt."<

exit

(1);

}

input.read((char*)&three,sizeof(three));

cout<<"我要出租:

[1]****我要充值[0]"<

cin>>f;

if(f==1)//出租活动

{

money=three.get_money();

money--;three.get_money()=money;

cout<<"出租成功!

"<

cout<<"您当前余额为:

"<

}

if(f==0)//充值

{cout<<"请输入冲的钱数"<

cin>>a;

three.get_money()=three.get_money()+a;

cout<<"您当前余额为:

"<

input.write((char*)&three,sizeof(three));

input.close();

cout<<"************************************************"<

}

 

//客户信息统计

voidtongji()

{fstreaminput("work.text",ios:

:

in);

inttime1,time2;

workthree;

input.read((char*)&three,sizeof(three));

cout<<"统计特定年龄段人数:

输入[1]"<

cout<<"统计特定时间段资金总数:

输入[0]"<

intf;//操作命令符

cin>>f;

floatbig,small,d=0;intnum=0,big1=0;

if(f==1)

{

cout<<"输入最大最小的年龄"<

cout<<"最大:

";

cin>>big;

cout<<"最小:

";

cin>>small;

for(inti=0;i

{big1=three.get_age();

if(big1>=small&&big1<=big)num++;

input.read((char*)&three,sizeof(three));}//每找到一个在范围内的记数加1

cout<<"从"<

"<

}

if(f==0)

{

cout<<"请输入时间上限和下限"<

inthead,end;

cout<<"开始时间:

"<

cin>>time1;head=time1;

cout<<"末端时间:

"<

cin>>time2;end=time2;

for(inti=0;i

if(three.get_times()>=head&&three.get_times()<=end)

{d=three.get_money();

totalmoney=totalmoney+d;input.read((char*)&three,sizeof(three));

}//找到入会时间在范围的资金累加一次

cout<<"从"<

"<

}

cout<<"*****************************************************************"<

}

 

voidMenu()

{

intsel;

do

{

cout<<"请选择功能"<

<<''<<"1:

录入客户信息2:

输出客户信息3:

查询"<

<<''<<"4:

添加客户信息5:

统计客户信息6:

客户数据修改"<

<<''<<"7:

客户信息删除其它:

退出:

"<

cout<<"注意:

请勿输入相同的编号以免造成重复"<

cin>>sel;

switch(sel)

{

case1:

Input();break;

case2:

Putout();break;

case3:

Find();break;

case4:

Add();break;

case5:

tongji();break;

case6:

Alter();break;

case7:

Delete();break;

}

}while(sel>=1&&sel<=7);

}

 

voidmain()

{

charm;

cout<<'\t'<<'\t'<<'\t'<<"欢迎阅读本程序!

敬请提出建议!

"<

do

{

cout<<'\t'<<'\t'<<"y:

运行程序其他:

退出程序"<

cin>>m;

switch(m)

{

case'y':

Menu();

}//case后面跟的是常变量。

}while(m=='y');

}

3.2运行结果

3.C++课程设计过程总结:

“这次课程设计基本上含盖了大学一年纪学习到的C++语言知识点,课设题目要求不仅要求对课本知识有较深刻的了解,同时要求程序设计者有较强的思维和动手能力。

这次课设使我了解我编程思想和编程技巧,也认识了软件生命周期的各个环境,包括构思、设计、编写、调试。

编程的风格也很重要,同学只关心程序运行的结果,而对程序代码的结构的良好丝毫不在意。

这是非常不可取的,如果我们希望将来从事编程工作,在这一点上该引起足够的重视。

这是严谨的态度,很重要!

做课设不仅让我修补了以前学习的漏洞,也让我知道一个道理:

编程需要兴趣和实际动手。

这应该可以借鉴在老师的教学工作上。

创新思维至关重要,这不仅让我们写出精简的代码,也有助于开发出高效的程序。

4.参考书目

[1]谭浩强,《C++程序设计》,北京,清华大学出版社,2008年.

5.程序流程图

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1