C++语言开发客户信息管理系统课程设计.docx
《C++语言开发客户信息管理系统课程设计.docx》由会员分享,可在线阅读,更多相关《C++语言开发客户信息管理系统课程设计.docx(24页珍藏版)》请在冰豆网上搜索。
![C++语言开发客户信息管理系统课程设计.docx](https://file1.bdocx.com/fileroot1/2023-2/1/471f1804-5755-4523-8a2c-d6e9320c502d/471f1804-5755-4523-8a2c-d6e9320c502d1.gif)
C++语言开发客户信息管理系统课程设计
课程设计报告
设计题目简单客户信息管理系统的设计与实现
作者姓名
所学专业
指导教师
2011年8月23日
学年设计任务书
学年设计题目
简单客户信息管理系统的设计与实现
组长
学号
班级
组别
3
专业
组员
指导教师
学年设计目的
掌握队列的根本操作,并能够用所学计算机高级语言进行编程设计;结合实际运用进行客户关系管理系统模拟。
学年设计所需环境
开发环境:
VC++运行环境:
Windows操作系统
学年设计任务要求
1.通过模拟方法求出所有客户信息资料;
2.通过程序模拟对客户信息进行查找,删除,从小到大显示,按客户类型显示等操作。
学年设计工作进度方案
序号
起止日期
工作内容
分工情况
1
了解工作要求,明确分工内容,网上查阅相关资料
2
主函数,显示菜单函数的编写
3
编写管理系统,并对退出系统进行编写
4
对客户信息进行录入,删除,修改等编写操作
5
对客户信息进行查询,浏览,排序等编写操作
6
最后汇总,调试
指导教师签字:
年月日
教研室审核意见:
教研室主任签字:
年月日
简单客户信息管理的设计与实现
摘要:
随着公司业务规模的不断扩大、企业客户的增多,客户信息管理单靠传统的手工方式已无法满足企业开展的需要。
为提高企业的管理水平和办事效率,企业提出了实现管理信息化的要求,以适应企业开展的需要。
本设计针对企业的实际需求,制定了客户信息管理系统,根本实现了客户根本信息的输入、修改、查询等功能。
通过该系统,使的客户管理工作系统化、标准化、自动化,从而到达了提高客户管理工作效率的目的。
采用的开发工具是MicrosoftVisualStudio6.0。
客户管理系统能够对客户根底信息、客户档案浏览、客户资料查询及客户资料统计等进行管理。
及时了解各个环节中信息的变更。
系统的总体任务是使管理人员可以轻松快捷地完成客户管理的任务。
有利于提高管理效率。
支持运行的环境:
MicrosoftWindow2000/XP。
关键词:
客户信息管理;查询;C语言
1绪论
1.1研究背景
随着计算机和网络技术的快速开展和普及,信息已近成为了一种重要的资源,利用好信息资源可以更好的促进方方面面的开展,信息化程度的上下已近成为衡量一个国家现代化水平和综合国力的重要标志。
对于企业,客户信息管理系统是一个不可缺少的局部,它的内容对于企业的决策者和管理者来说都至关重要,因此企业客户信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的方式管理文件信息,这种管理方式存在着许多缺点,如:
效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于用户查找、更新和维护都带来了不少的困难。
本设计针对客户信息管理系统对企业的实际需求,实现了客户根本信息的输入、删除、查询等功能;自主设定查询条件,实现对销售数据的综合查询。
使企业能够全面地、及时地了解与客户相关的各种信息。
本文第1局部绪论主要说明了本文的研究背景、主要工作和实现方法。
第2局部介绍了客户信息管理系统的一些相关知识。
第3局部系统设计,阐述了需求分析、系统模型设计和系统工作流程设计。
第4局部系统实现介绍了系统各个功能模块,并描述了系统功能图。
第5局部系统测试与数据分析,说明了检测目标和方法。
2相关知识
客户信息管理系统的定义及性质〔vc设计环境〕
客户信息管理系统是选择和管理有价值客户及其关系的一种商业策略,它既是一种国际领先的、以“客户价值〞为中心的企业管理理论、商业策略和企业运作实践,也是一种以信息技术为手段、有效提高企业收益、客户满意度、雇员生产力的管理软件。
客户管理系统是以客户为中心的一套管理系统。
客户信息管理系统的开展
随着计算机和网络技术的快速开展,人们对信息的归类和记录有了更进一步的要求,对于国家它是衡量一个国家的经济和科技水平的标准,对于一个企业,它是企业联系客户的枢纽,直接影响了企业经济的开展。
现在越来越流行的客户管理,它方便快捷的解决了一些记录量大等难题。
3需求分析
客户管理系统是一个对客户信息进行录入、删除、修改、浏览、查找和排序等操作的管理应用软件,用户可以对文件中存储的客户信息进行查找和浏览,客户信息中包含编号、姓名、性别、及备注等信息。
该软件提供了一个简单的人机界面,管理员可以根据提示输入操作项并进行一系列对客户信息的管理操作。
3.2功能分析
该软件提供了一个对客户信息进行管理和查看的平台,给用户提供了一个简单友好的用户接口,功能需求如下:
录入、删除、修改
管理员根据提示输入客户编号、姓名、性别、及备注等信息要素。
删除客户的信息:
提示管理员输入要进行删除操作的客户编号,如果在文件中有该客户的信息存在,那么将该编号所对应的名称、编号等要素在对应文件中加以删除。
并提示管理员选择是否继续进行删除操作。
提示管理员输入要进行修改操作的客户编号,如果在文件中有该客户的信息存在,那么将提示管理员输入该编号对应的客户信息中编号、姓名、性别、及备注要素等需要修改的选项,并将修改结果存储于文件。
该局部需求也需要提示管理员选择是否继续进行修改操作。
查询、浏览、排序
分为根据名称查询和根据序号检索两个具体需求,分别提示用户输入要查询客户信息的序号或名称,如果在磁盘文件中有对应的客户信息,那么提示用户已找到,并逐项列出对应客户信息。
在该功能中,需提示用户是否需要继续查询,如不再继续查询,那么返回主界面,并可进行模糊查找。
逐条显示全部记录,管理员可在客户文件中对所有的客户编号进行排序。
4总体设计
本系统主要应用结构化的设计客户信息的增、删、排、改和查等典型管理功能。
各主要模块的数据均存储在文件中,因此包含对文件的读、写等根本操作。
在软件开发过程中应用了高级语言程序设计中的根本控制结构,如选择、循环、顺序结构。
系统的设计方法是结构化设计方法,采用C语言进行开发。
4.2系统功能结构图
图4-1系统功能结构图〔上移〕
5详细设计
将程序整体进行模块化处理,使程序编译思路更加清晰,降低了编译程序的难度。
客户信息中包含编号、姓名、性别、及备注等根本信息,程序具有信息录入、删除、修改、浏览、查询和排序等功能。
首先设计出主函数,就有了程序的框架,有了主调用函数和主菜单,从主界面可以选择所要求的操作,使操作方便,易于进行查找、添加、修改、排序、删除等功能。
5.3管理效劳
图5-1客户管理系统进入界面
为系统更加简练易操作管理员直接进入管理界面,然后按显示要求操作。
5.4添加模块、删除模块、修改模块
系统管理员通过此模块可以在原有记录的根底上随意的添加其他客户信息,通过系统的提醒依次的录入所要记录客户的所有信息,可以添加多个信息,并且不需重新回到主界面,直接在系统的提示下进行再次输入。
管理员通过这块模块可以对不需要的客户信息进行删除,使用方便,只需要输入所要删除的客户信息编号或客户名称即可,系统会自动搜索,确定删除后此信息消失。
考虑到有些信息可能会发生变动,该系统设置了修改模块,如果某个编号的信息或其它发生变动,管理员可以通过此模块对该编号下的其他信息进行修改。
以以下出添加,删除,修改模块的相关函数。
voidinput()/*录入函数*/
{
inti;
printf("请输入客户数:
\n");
scanf("%d",&x);
printf("请输入客户资料(编号、姓名、性别、、备注):
\n");
for(i=0;i{
scanf("%s%s%s%s%s",&kehu[i].num,&kehu[i].name,&kehu[i].sex,\
&kehu[i].phone,&kehu[i].beizhu);}
printf("录入结果:
\n");
printf("编号\t姓名\t性别\t\t备注\n");
for(i=0;iprintf("%s\t%s\t%s\t%s\t%s\n",kehu[i].num,kehu[i].name,kehu[i].sex,\
kehu[i].phone,kehu[i].beizhu);
}
voiddel()/*删除函数*/
{
inti,j,m;
charname[10],num[10];
printf("----1按编号删除\n");
printf("----2按姓名删除\n");
scanf("%d",&m);
getchar();
if(m==1)
{
printf("请输入要删除客户的编号:
");
scanf("%s",num);
for(i=0;i<10;i++)
{
if(strcmp(num,kehu[i].num)==0)
{
for(j=i;j<10;j++)
kehu[j]=kehu[j+1];
printf("提示:
该客户已经成功删除!
\n");
break;}
}
if(i==x)
printf("提示:
没有资料可以删除!
\n");
}
if(m==2)
{
printf("请输入要删除客户的姓名:
");
scanf("%s",name);
for(i=0;i<10;i++)
{
if(strcmp(name,kehu[i].name)==0)
{
for(j=i;j<10;j++)
kehu[j]=kehu[j+1];
printf("提示:
该客户已经成功删除!
\n");
break;}
}
if(i==x)
printf("提示:
没有资料可以删除!
\n");
}
printf("删除后结果:
\n");
printf("编号\t姓名\t性别\t\t备注\n");
for(i=0;iprintf("%s\t%s\t%s\t%s\t%s\n",kehu[i].num,kehu[i].name,kehu[i].sex,kehu[i].phone,kehu[i].beizhu);
}
voidchange()/*修改函数*/
{
inti,n,a[4],c;
charnum[10];
printf("请输入要修改客户的编号:
");
scanf("%s",&n);
scanf("%s",num);
for(i=0;i{
if(strcmp(num,kehu[i].num)==0)
{
printf("编号\t姓名\t性别\t\t备注\n");
for(i=0;i<=4;i++)
printf("%s\t%s\t%s\t%s\t%s\n",kehu[i].num,kehu[i].name,kehu[i].sex,kehu[i].phone,kehu[i].beizhu);
printf("%s",a[i]);
printf("请输入要修改的序号");
/*a[4]={kehu[i].num,kehu[i].name,kehu[i].sex,kehu[i].phone,kehu[i].beizhu};*/
printf("----0编号修改\n");
printf("----1姓名修改\n");
printf("----2性别修改\n");
printf("----3修改\n");
printf("----4备注修改\n");
scanf("%s",&c);
scanf("请输入要修改为的内容",&n);
i=a[c];
a[c]=n;
n=i;
printf("%s\t%s\t%s\t%s\t%s\n",kehu[i].num,kehu[i].name,kehu[i].sex,kehu[i].phone,kehu[i].beizhu);
}
}
}
5.5查询模块、浏览模块、排序模块
如果信息太多查找起来很不方便,对此我们系统设计了查找模块,使用户可以很方便的找到自己需要的信息。
本模块可通过输入客户编号或客户名称的一局部信息进行查找,之后系统会显示其所有的信息。
输入信息不存在那么退出本次查询。
通过此模块用户可以看见所有系统中的客户信息。
如果客户信息录入时编号并非按顺序排列引起不便,对此我们系统设计了排序模块,使用户可有条理的对客户信息进行管理。
一以下出查询,浏览,排序模块的相关函数。
voidfind()/*查找函数*/
{
inti,n;
charname[10],num[10];
printf("----1按编号查找\n");
printf("----2按姓名查找\n");
scanf("%d",&n);
getchar();
if(n==1){
printf("请输入要查找客户的编号:
");
scanf("%s",num);
for(i=0;i{
if(strcmp(num,kehu[i].num)==0){
printf("编号\t姓名\t性别\t\t备注\n");
printf("%s\t%s\t%s\t%s\t%s\n",kehu[i].num,kehu[i].name,kehu[i].sex,kehu[i].phone,kehu[i].beizhu);
break;}
}
if(i==x+1)
printf("提示:
没有该客户资料!
\n");
}
if(n==2)
{
printf("请输入要查找客户的姓名:
");
scanf("%s",name);
for(i=0;i{
if(strcmp(name,kehu[i].name)==0)
{
printf("编号\t姓名\t性别\t\t备注\n");
printf("%s\t%s\t%s\t%s\t%s\n",kehu[i].num,kehu[i].name,kehu[i].sex,kehu[i].phone,kehu[i].beizhu);
break;}
}
if(i==x+1)
printf("提示:
没有该客户资料!
\n");}
}
voiddisplay()/*浏览函数*/
{
inti;
printf("编号\t姓名\t性别\t\t备注\n");
for(i=0;iprintf("%s\t%s\t%s\t%s\t%s\n",kehu[i].num,kehu[i].name,kehu[i].sex,kehu[i].phone,kehu[i].beizhu);
}
voidpaixu()/*客户排序函数*/
{
inti,m;
printf("编号\t姓名\t性别\t\t备注\n");
for(i=0;iprintf("%s\t%s\t%s\t%s\t%s\n",kehu[i].num,kehu[i].name,kehu[i].sex,kehu[i].phone,kehu[i].beizhu);
scanf("%d",&m);
printf("1按客户编号排序");
if(m==1)
{
inti,j,temp,num[10];
num[10];
for(i=0;i<10;i++)
for(j=0;j<10-i;j++)
if(num[j]>num[j+1])
{
temp=num[j];
num[j]=num[j+1];
num[j+1]=temp;
}
for(i=0;i<10;i++)
printf("%s",num[i]);
}
}
5.6退出系统
当对系统操作完成以后,想退出此操作只需在界面中选择退出系统模块的代号,系统就自动退出此次运行程序。
6总结
这次的C语言程序设计实习有效的培养了学生独立思考的能力,提高了学生的动手操作水平。
在具体操作中,稳固了这学期所学的C语言的理论知识,这也是实习的根本目的。
通过实际操作,学会了C语言程序编程的根本步骤、根本方法,开发了自己的逻辑思维能力,培养了分析问题、解决问题的能力。
培养了学生独立思考问题的能力,提高了实际操作水平。
通过这次对音像资料自助检索系统的编译,我们了解了C语言程序设计的思想,我们的程序很实用,但它依然有许多缺乏之处,我所编译的程序容量有限,而且每次操作都要回到主界面,在这方面该系统还有待于进一步优化。
C语言是一种根底的计算机高级语言,具有功能丰富,表达能力强,使用灵活方便,应用面广,目标程序效率高,通过这次的C语言程序设计更加深刻的了解了C语言的好处和其可用性。
在这次课程设计中我也知道了自己的动手能力不强,有待于进一步提高。
在设计过程中不能够灵活得把书本上的知识与实际相结合,在调试过程中一次次出错,差点是我放弃,但是在同组同学的帮助、鼓励和配合下,最终我完成了此次课程设计的任务。
这也使我重新树立了自信心,相信自己可以做好,但是要扎实掌握理论知识,灵活运用。
总之,通过这次实习我认识到了自己许多缺乏之处,在今后的学习生活中,一定要勤于思考,扎实掌握理论知识,灵活运用课上所学。
参考文献
[1]谭浩强,张基温.C语言程序设计教程(第3版)[M].北京:
高等教育出版社,2006
[2]吕凤煮.C语言根底教程——根底理论与案例[M].北京:
清华大学出版社,2005
[3]黄明、梁旭、万洪莉.C语言课程设计[M].北京:
电子工业出版社,2006
[4]郭宁,郑小玲.管理信息系统[M].北京:
人民邮电出版社,2006
[5]赵池龙,杨林,陈伟.实用软件工程[M].北京:
电子工业出版社,2006
附录
#include"stdio.h"
#include"string.h"
#include"stdlib.h"
#defineN100
voidmenu();
voidinput();
voiddel();
voidchange();
voidfind();
voiddisplay();
voidpaixu();
structkehu
{
charnum[10];
charname[10];
charsex[10];
charphone[10];
charbeizhu[10];
};
structkehukehu[N];
intx=0;
/*主函数*/
voidmain()
{
intc;
do{
menu();
scanf("%d",&c);
switch(c)
{
case1:
input();break;
case2:
del();break;
case3:
change();break;
case4:
find();break;
case5:
display();break;
case6:
paixu();break;
case7:
exit(0);break;
}
}while
(1);
}
voidmenu()/*菜单函数*/
{
printf("客户管理系统\n");
printf("===========================================================\n");
printf("管理者:
00\n");
printf("\n");
printf("1录入客户信息\n");
printf("2删除客户信息\n");
printf("3修改客户信息\n");
printf("4查找客户信息\n");
printf("5浏览客户信息\n");
printf("6客户信息排序\n");
printf("7退出系统\n");
printf("--------------------------------------------------------------------------------\n");
printf("请选择功能:
\n");
}
voidinput()/*录入函数*/
{
inti;
printf("请输入客户数:
\n");
scanf("%d",&x);
printf("请输入客户资料(编号、姓名、性别、、备注):
\n");
for(i=0;i{
scanf("%s%s%s%s%s",&kehu[i].num,&kehu[i].name,&kehu[i].sex,&kehu[i].phone,&kehu[i].beizhu);}
printf("录入结果:
\n");
printf("编号\t姓名\t性别\t\t备注\n");
for(i=0;iprintf("%s\t%s\t%s\t%s\t%s\n",kehu[i].num,kehu[i].name,kehu[i].sex,kehu[i].phone,kehu[i].beizhu);
}
voidpaixu()/*客户排序函数*/
{
inti,m;
printf("编号\t姓名\t性别\t\t备注\n");
for(i=0;iprintf("%s\t%s\t%s\t%s\t%s\n",kehu[i].num,kehu[i].name,kehu[i].sex,kehu[i].phone,kehu[i].beizhu);
scanf("%d",&m);
printf("1按客户编号排序");
if(m==1)
{
inti,j,temp,num[10];
num[10];
for(i=0;i<10;i++)
for(j=0;j<10-i;j++)
if(num[j]>num[j+1])
{
temp=num[j];
num[j]=num[j+1];
num[j+1]=temp;
}
for(i=0;i<10;i++)
printf("%s",num[i]);
}
}
voiddel()/*删除函数*/
{
inti,j,m;
charname[10],num[10];
printf("----1按编号删除\n");
printf("----2按姓名删除\n");
scanf("%d",&m);
getchar();
if(m==1)
{
printf("请输入要删除客户的编号:
");
scanf("%s",num);
for(i=0;i<10;i++)
{
if(strcmp(num,kehu[i].num)==0)
{
for(j=i;j<10;j++)
kehu[j]=kehu[j+1];
printf("提示:
该客户已经成功删除!
\n");
break;}
}
if(i==x)
printf("提示:
没有资料可以删除!
\n");
}
if(m==2)
{
printf("请输入要删除客户的姓名:
");
scanf("%s",name);
for(i=0;i<1