资源描述
客户信息管理C++源文件
———————————————————————————————— 作者:
———————————————————————————————— 日期:
2
个人收集整理 勿做商业用途
1绪论
1。1 研究背景
随着计算机和网络技术的快速发展和普及,信息已近成为了一种重要的资源,利用好信息资源 可以更好的促进方方面面的发展,信息化程度的高低已近成为衡量一个国家现代化水平和综合国力的重要标志。对于企业,客户信息管理系统是一个不可缺少的部分,它的内容对于企业的决策者和管理者来说都至关重要,因此企业客户信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件信息,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于用户查找、更新和维护都带来了不少的困难.
1.2主要工作
本设计针对客户信息管理系统对企业的实际需求,实现了客户基本信息的输入、删除、查询等功能;自主设定查询条件,实现对销售数据的综合查询。使企业能够全面地、及时地了解与客户相关的各种信息。
1。3本文结构
本文第1部分绪论主要说明了本文的研究背景、主要工作和实现方法。第2部分介绍了客户信息管理系统的一些相关知识。第3部分系统设计,阐述了需求分析、系统模型设计和系统工作流程设计.第4部分系统实现介绍了系统各个功能模块,并描述了系统功能图.第5部分系统测试与数据分析,说明了检测目标和方法。
2 相关知识
2.1客户信息管理的介绍
2.1。1客户信息管理系统的定义及性质(vc设计环境)
客户信息管理系统是选择和管理有价值客户及其关系的一种商业策略,它既是一种国际领先的、以“客户价值”为中心的企业管理理论、商业策略和企业运作实践,也是一种以信息技术为手段、有效提高企业收益、客户满意度、雇员生产力的管理软件。客户管理系统是以客户为中心的一套管理系统.
2。1.2客户信息管理系统的发展
随着计算机和网络技术的快速发展,人们对信息的归类和记录有了更进一步的要求,对于国家它是衡量一个国家的经济和科技水平的标准,对于一个企业,它是企业联系客户的枢纽,直接影响了企业经济的发展。现在越来越流行的客户管理,它方便快捷的解决了一些记录量大等难题。
3 需求分析
3。1系统概述
客户管理系统是一个对客户信息进行录入、删除、修改、浏览、查找和排序等操作的管理应用软件,用户可以对文件中存储的客户信息进行查找和浏览,客户信息中包含编号、姓名、性别、手机及备注等信息。该软件提供了一个简单的人机界面,管理员可以根据提示输入操作项并进行一系列对客户信息的管理操作。
3。2 功能分析
该软件提供了一个对客户信息进行管理和查看的平台,给用户提供了一个简单友好的用户接口,功能需求如下:
⑴ 录入、删除、修改
管理员根据提示输入客户编号、姓名、性别、手机及备注等信息要素。删除客户的信息:提示管理员输入要进行删除操作的客户编号,如果在文件中有该客户的信息存在,则将该编号所对应的名称、编号等要素在对应文件中加以删除.并提示管理员选择是否继续进行删除操作。提示管理员输入要进行修改操作的客户编号,如果在文件中有该客户的信息存在,则将提示管理员输入该编号对应的客户信息中编号、姓名、性别、手机及备注要素等需要修改的选项,并将修改结果存储于文件。该部分需求也需要提示管理员选择是否继续进行修改操作.
⑵ 查询、浏览、排序
分为根据名称查询和根据序号检索两个具体需求,分别提示用户输入要查询客户信息的序号或名称,如果在磁盘文件中有对应的客户信息,则提示用户已找到,并逐项列出对应客户信息。在该功能中,需提示用户是否需要继续查询,如不再继续查询,则返回主界面,并可进行模糊查找。逐条显示全部记录,管理员可在客户文件中对所有的客户编号进行排序.
4总体设计
4.1开发与设计的总体思想
本系统主要应用结构化的设计客户信息的增、删、排、改和查等典型管理功能。各主要模块的数据均存储在文件中,因此包含对文件的读、写等基本操作。在软件开发过程中应用了高级语言程序设计中的基本控制结构,如选择、循环、顺序结构.系统的设计方法是结构化设计方法,采用C语言进行开发。
4。2 系统功能结构图
客户信息管理
录入客户信息
删除客户信息
修改客户信息
浏览客户信息
查询客户信息
客户信息排序
图4-1 系统功能结构图(上移)
5 详细设计
5.1系统化分析
将程序整体进行模块化处理,使程序编译思路更加清晰,降低了编译程序的难度。客户信息中包含编号、姓名、性别、手机及备注等基本信息,程序具有信息录入、删除、修改、浏览、查询和排序等功能。
5。2主函数及主界面
首先设计出主函数,就有了程序的框架,有了主调用函数和主菜单,从主界面可以选择所要求的操作,使操作方便,易于进行查找、添加、修改、排序、删除等功能。
5.3 管理服务
图 5-1 客户管理系统进入界面
为系统更加简练易操作管理员直接进入管理界面,然后按显示要求操作。
5。4添加模块、删除模块、修改模块
系统管理员通过此模块可以在原有记录的基础上随意的添加其他客户信息,通过系统的提醒依次的录入所要记录客户的所有信息,可以添加多个信息,并且不需重新回到主界面,直接在系统的提示下进行再次输入.管理员通过这块模块可以对不需要的客户信息进行删除,使用方便,只需要输入所要删除的客户信息编号或客户名称即可,系统会自动搜索,确定删除后此信息消失。考虑到有些信息可能会发生变动,该系统设置了修改模块,如果某个编号的信息或其它发生变动,管理员可以通过此模块对该编号下的其他信息进行修改。
以下列出添加,删除,修改模块的相关函数.
void input() /*录入函数*/
{
int i;
printf(”请输入客户数:\n”);
scanf(”%d”,&x);
printf("请输入客户资料(编号、姓名、性别、手机、备注):\n”);
for(i=0;i<x;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;i〈x;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);
}
void del() /*删除函数*/
{
int i,j,m;
char name[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;i<x-1;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);
}
void change() /*修改函数*/
{
int i,n,a[4],c;
char num[10];
printf(”请输入要修改客户的编号:");
scanf(”%s",&n);
scanf("%s",num);
for(i=0;i<x;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 查询模块、浏览模块、排序模块
如果信息太多查找起来很不方便,对此我们系统设计了查找模块,使用户可以很方便的找到自己需要的信息.本模块可通过输入客户编号或客户名称的一部分信息进行查找,之后系统会显示其所有的信息。输入信息不存在则退出本次查询。通过此模块用户可以看见所有系统中的客户信息。如果客户信息录入时编号并非按顺序排列引起不便,对此我们系统设计了排序模块,使用户可有条理的对客户信息进行管理。
一下列出查询,浏览,排序模块的相关函数。
void find() /*查找函数*/
{
int i,n;
char name[10],num[10];
printf("—--—1按编号查找\n”);
printf(”—--—2按姓名查找\n”);
scanf(”%d”,&n);
getchar();
if(n==1){
printf("请输入要查找客户的编号:");
scanf(”%s",num);
for(i=0;i〈x;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<x;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"); }
}
void display() /*浏览函数*/
{
int i;
printf("编号\t姓名\t性别\t手机\t备注 \n");
for(i=0;i<x;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);
}
void paixu() /*客户排序函数*/
{
int i,m;
printf("编号\t姓名\t性别\t手机\t备注 \n”);
for(i=0;i〈x;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);
scanf("%d",&m);
printf(”1按客户编号排序”);
if(m==1)
{
int i,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"
#define N 100
void menu();
void input();
void del();
void change();
void find();
void display();
void paixu();
struct kehu
{
char num[10];
char name[10];
char sex[10];
char phone[10];
char beizhu[10];
};
struct kehu kehu[N];
int x=0;
/*主函数*/
void main()
{
int c;
do{
menu();
scanf("%d”,&c);
switch(c)
{
case 1:input();break;
case 2:del();break;
case 3:change();break;
case 4:find();break;
case 5:display();break;
case 6:paixu();break;
case 7:exit(0);break;
}
}while(1);
}
void menu() /*菜单函数*/
{
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”);
}
void input() /*录入函数*/
{
int i;
printf(”请输入客户数:\n");
scanf(”%d",&x);
printf("请输入客户资料(编号、姓名、性别、手机、备注):\n");
for(i=0;i<x;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;i<x;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);
}
void paixu() /*客户排序函数*/
{
int i,m;
printf("编号\t姓名\t性别\t手机\t备注 \n");
for(i=0;i〈x;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);
scanf("%d",&m);
printf("1按客户编号排序”);
if(m==1)
{
int i,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]);
}
}
void del() /*删除函数*/
{
int i,j,m;
char name[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;i〈x-1;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);
}
void display() /*浏览函数*/
{
int i;
printf(”编号\t姓名\t性别\t手机\t备注 \n");
for(i=0;i〈x;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);
}
void find() /*查找函数*/
{
int i,n;
char name[10],num[10];
printf(”—-—-1按编号查找\n”);
printf(”---—2按姓名查找\n");
scanf("%d",&n);
getchar();
if(n==1){
printf(”请输入要查找客户的编号:”);
scanf("%s”,num);
for(i=0;i<x;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〈x;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”); }
}
void change() /*修改函数*/
{
int i,n,a[4],c;
char num[10];
printf(”请输入要修改客户的编号:”);
scanf(”%s",&n);
scanf(”%s",num);
for(i=0;i〈x;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);
}
}
}
致 谢
本人的学年设计论文是在我的导师王老师的亲切关怀和悉心指导下完成的。他严肃的科学态度,严谨的治学精神,精益求精的工作作风,深深地感染和激励着我.从课题的选择到项目的最终完成,王老师都始终给予我细心的指导和不懈的支持。在此谨向王老师致以诚挚的谢意和崇高的敬意。
在此,我还要感谢在一起愉快的度过短暂的课程设计生活的每个可爱的同学们和尊敬的老师们,正是由于你们的帮助和支持,我才能克服一个一个的困难和疑惑,直至本文的顺利完成。
在论文即将完成之际,我的心情无法平静,从开始进入课题到论文的顺利完成,有多少可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我诚挚的谢意!谢谢你们!
评语:
评阅教师签名: 年 月 日
成 绩
18
展开阅读全文