手机话费信息管理系统课程设计报告.docx
- 文档编号:7634489
- 上传时间:2023-05-11
- 格式:DOCX
- 页数:24
- 大小:56.89KB
手机话费信息管理系统课程设计报告.docx
《手机话费信息管理系统课程设计报告.docx》由会员分享,可在线阅读,更多相关《手机话费信息管理系统课程设计报告.docx(24页珍藏版)》请在冰点文库上搜索。
手机话费信息管理系统课程设计报告
手机话费信息管理系统课程设计报告
前言.....................................................................................2
【关键词】手机信息管理系统C语言计算机应用2
第一章概要设计.......................................................................2
1.1设计目的、涉及知识点及基本功能.........................3
1.2需求分析........................................................................3
1.3总体设计........................................................................7第二章详细设计.......................................................................7
2.1主要功能和算法设计.....................................................8
2.2功能模块图....................................................................10
2.3函数功能说明...............................................................10
2.4主要流程图...................................................................11第三章测试计划.....................................................................12
3.1主要功能实现...............................................................12
3.2系统测试.......................................................................13总结心得...................................................................................14致词...........................................................................................14参考文献...................................................................................14附录1:
程序代码....................................................................15
1
前言
【关键词】手机信息管理系统C语言计算机应用
过去,当手机还是一个很新鲜的字眼的时候,手机是权利与身份的象征,科技和人们的意识等决定了手机的外在服务不可能达到很高的水平,那时还没有很完善的机制和软件系统来实现这个不太突出的需求.
因此,一个具备基本功能且可靠方便的手机话费查询及充值系统可以满足广大手机用户的需要.本手机用户话费及使用状况查询系统的客户主要有两类:
一类是手机的普通用户,可以通过其手机号直接查询该手机的话费;另一类则是管理手机充值的工作人员,除了了可以为用户提供充值以外,他们还具有查看用户信息的权利。
该系统将给客户提供方便,快捷,准确的服务.
第一章概要设计
2
1.1设计目的、涉及知识点及基本功能设计目的
本人计划编写一个手机话费信息管理系统,主要用来管理客户基本信息及话费信息
本系统涉及知识点
结构、数组、循环、函数、分支、指针、共用体等,运用了函数的递归、调用,指针和数组方面的知识
基本功能A、建立或追加计费信息计费信息包含:
计费类别、每秒单价、折扣、特殊优惠等B、手机账号管理新加入手机号码、注销手机号码、修改计费类别、交费等C、查询:
根据计费类别查询计费信息和统计相关手机号码;根据手机号码查询相关信息
1.2需求分析
术语定义
用户:
话费服务员
客户:
手机使用者
需求的层次关系
需求是指明必须实现什么的规格说明。
它描述了系统的行为、特性或属性,是在开发过程中对系统的约束。
软件需求包括四个不同的层次—业务需求、用户需求、功能需求和非功能需求。
业务需求:
包含客户及用户对系统、产品的高层次的要求。
用户需求:
描述用户及客户必须要完成的任务。
功能需求:
定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求。
非功能需求:
作为功能需求的补充,软件规格说明书还应包括非功能需求,他描
3
述了系统展现给用户的行为和执行的操作等
系统描述
用户资料录入及存储。
分别录入到用户的个人信息和话费信息两个文件。
其次,制作更新操作包括插入、修改、删除、即用户话费的充值及使用过程。
如该用户话费达欠费底线,则停机。
然后作查询、统计、排序等操作。
最后输出报表。
建立一个小型的手机话费管理系统。
可以对手机的话费信息进行管理。
内容上,包括客户的信息和手机卡的信息两部分。
所需信息包括:
手机号码、姓名、性别、出生年月、预交款余额、手机卡的信息包括卡的名称、每分话费(包括本地每分话费、长途话费、国际话费)、短信息费、欠费底线。
数据以文件形式存放,分为用户个人信息和用户话费信息
产品功能
如图1-1所示,个主要功能部件及其联系,均在图中表示:
手机话费管理系统
查按插删录输询信入排统除入出
信息信信信信
排息息息序计息息序
按按
号号
删查除询
图1-1
4
功能要求
包括客户的信息和手机卡的信息两部分。
所需信息包括:
手机号码、姓名、性别、出生年月、预交款余额、手机卡的信息包括卡的名称、每分话费(包括本地每分话费、长途话费、国际话费)、短信息费、欠费底线。
数据以文件形式存放,分为用户个人信息和用户话费信息。
首先,进行用户资料录入及存储。
分别录入到用户的个人信息和话费信息两个文件。
其次,制作更新操作包括插入、修改、删除、即用户话费的充值及使用过程。
如该用户话费达欠费底线,则停机。
然后作查询、统计、排序等操作。
最后输出报表
查询过程浏览过程:
(1)按姓名查找:
查询出错客户信息记录
姓名查询信息姓名录入系统客户姓名查询系统的数据
客户库
查询结果
(2)按手机号查询:
查询出错客户信息记录
手机号查询信息手机号录入系统手机号查询系统的数据
客户库
5
更改信息
(1)删除信息
删除出错客户信息记录
手机号删除信息手机号录入系统手机号删除系统的数据
客户库
(2)增加信息
(3)
增加出错客户信息记录
手机号增加信息手机号录入系统手机号增加系统的数据
客户库
(3)更新信息
更新出错客户信息记录
手机号更新信息手机号录入系统手机号更新系统的数据
客户库
6
1.3总体设计
系统功能
1.客户
浏览功能:
输入正确信息后就可以浏览文档中存储的有关其手机卡和
自身的信息。
修改功能:
只要出示正确的身份信息就能更改手机卡的信息和自身的
相关信息也可以删除自己的信息
管理员2.
添加功能:
增加一个新客户的记录
修改功能:
修改某一已存在的记录内容
删除功能:
删除一个记录
性能需求
1.数据管理能力要求:
本系统需要管理的文卷和记录的个数有10-20
左右,对可预见的增长对手数据进行动态存储。
2.故障处理要求:
由于某种未知软件及硬件所引起的本系统无法正
常使用,可能会对使用该软件的管理员和客户产生一定的影响,
但由于其具有较好的可维护性,使得维护人员发现情况时,立即
更正,可在短时间内恢复其使用。
3.其他专门要求:
本系统具有较强的使用权限,使得本系统具有易
于维护,管理;其用户界面要求为包括简洁、易用、易懂,美观、
标准,具备一定的兼容性;软件质量要求为:
易用、健壮、兼容
性好、运行稳定、有一定安全保障。
第二章详细设计
7
2.1主要功能和算法设计
查询功能
功能:
完成查询功能。
性能:
响应时间控制在1~2秒内。
输入项目:
输入要查询的姓名或手机号
输出项目:
查询结果
程序逻辑:
1.产生查询窗口;
2.若用户取消,则返回;
3.用户确认后按用户选择查询方式及关键字提交数据库查询,
获得查询结果;
4.产生查询结果项数,并等待用户确认;
5.若查询结果项数等于零,返回;
输入项目:
要插入的内容。
输出项目:
无。
程序逻辑:
1.产生插入窗口界面;
2.等待用户输入各项信息;
3.若用户取消,则返回;
4.如果用户确定,插入所要插入的内容
修改功能
功能:
完成修改功能。
输入项目:
要修改的数据。
输出项目:
无。
程序逻辑:
1.产生修改窗口界面;
2.等待用户输入;
3.若取消,则返回;
4.如果用户确定,录入要修改的项;
5.修改该项内容;
删除功能
8
功能:
完成删除功能。
输入项目:
要删除的项。
输出项目:
无。
程序逻辑:
1.产生删除窗口界面;
2.若取消,则返回;
3.如果用户确定,调用删除快捷模块;
4.从数据库中删除该记录;算法设计
例如:
求所查询的号码的呼叫次数
voidtimes()//求所查询的号码的呼叫次数{
FILE*fp;
charnumber[15];
inti,j=0;
i=0;
fp=fopen("jilu.txt","r");
while(!
feof(fp))
{
fread(&H[i],sizeof(structtype1),1,fp);
i++;
}//判断文件中记录有多少条
m=i-1;
fclose(fp);
printf("输入你要查询的号码\n");
scanf("%s",number);
for(i=0;i if(strcmp(H[i].no,number)==0)j++; printf("\t拔打次数: %d\t次\n",j); getchar(); 9 } 2.2功能模块图 手机话费管理系统 查删添退新找除加出建功功功系客能能能统户按按按按按姓输姓数输名入名字入查号和“号找码号0码 查码“创 找的退建 添出客 加户 方信 式息 2.3函数功能说明 10 函数功能说明: (1)voidenter()//输入记录并保存; 输入11位的手机号码,缴费金额,通话日期,通话时长(分),长途1或短途0 (2)voidleavings()/*求总余额*/ (3)voidcosts()//求通话所用金额和长短途所用金额总计,将计算结果追加到文件中 (4)voidsort()/*排序*/根据时间长短排序 (5)voidtimes()//求所查询的号码的呼叫次数,判断文件中记录有多少条 (6)voidappend()/*增加记录的实现*/ (7)voiddel()/*删除记录*/ (8)voidcorrect()//更正记录 2.4主要流程图 例如: 主要功能 开始 输入录入条数 菜单界面 功能选择 退出系统 11 第三章测试计划 3.1主要功能实现 例如: 求所查询的号码的呼叫次数 voidtimes()//求所查询的号码的呼叫次数{ FILE*fp; charnumber[15]; inti,j=0; i=0; fp=fopen("jilu.txt","r"); while(! feof(fp)) { fread(&H[i],sizeof(structtype1),1,fp); i++; }//判断文件中记录有多少条 m=i-1; fclose(fp); printf("输入你要查询的号码\n"); scanf("%s",number); for(i=0;i 12 if(strcmp(H[i].no,number)==0)j++; printf("\t拔打次数: %d\t次\n",j); getchar(); } 3.2系统测试 功能测试 1登录界面 2菜单界面3菜单功能“1”4菜单功能“3” 13 5菜单功能“5” 测试结果 该软件在各方面的综合能力都可以,通过~ 总结心得 通过这次课程设计,我学习了算法设计、指针、数组、链表的实际应用,帮助我很好理解前段时间学习的c语言知识。 虽然编程比较艰苦,但我还是很好完成了课程设计,这对我以后的人生道路有很大影响。 通过这次课程设计,我学会了排版、截图以及深刻理解指针、数组这部分知识,对我以后学习c++、java等语言会有帮助。 致词 在此我要感谢我的指导老师薛颂东,薛老师严谨的教学态度、认真负责的教学作风让我很是感动。 真是因为他的耐心知道我才能完成这次课程设计,相信在薛老师的指引下我以后会在c语言编程方面有所作为。 参考文献 [1]谭浩强,《C++语言程序设计》,清华大学出版社 [2]谭浩强,《C程序设计》,清华大学出版社 [3]李春葆,尹为民,李蓉蓉,蒋晶,喻丹丹,安杨,《数据结构教程》,清华大学出版社[4]李丹程,刘莹,那俊,《C语言程序设计案例实践》,清华大学出版社[5]曹衍龙,林瑞仲,徐慧,《C语言实例解析精粹》,人民邮电出版社 14 附录1: 程序代码 #include"stdio.h"/* "stdio.h"先在用户目录(.c的目录)查找stdio.h,再到标准库目录查找。 */ #include"stdlib.h"/*清屏函数要用到的头文件*/ #include"string.h" #defineSIZE100 structtype1 { charno[15]; floatmoney; chardate[10]; floattime; floatleftlong,leftshort; inta; }H[SIZE];/*定义一个结构体,其中包括储存电话号码的整型数组no[15]、所缴金额money、缴费日期date[10]、 每次通话时间time、长途所用金额leftlong、短途所用金额leftshort以及长短途的区分a*/ intm;/*全局变量表示一次操作的记录条数*/ intmenu_select()//打印输出主菜单和功能选择,并将选择值返回到主函数 { char*menu[]= {"**************************菜单***************************", "*1.读入数据并保存 *", 15 "*2.话费总余额*", "*3.话费金额统计(各次金额、长话总金 额、短话总金额)*", "*4.排序功能(按时间长短,显示各次呼 出的电话号码)*", "*5.查询呼叫某电话的次数*", "*6.增加记录*", "*7.删除记录*", "*8.修改记录*", "*9.退出*", "************************************** *******************"}; inti,c; for(i=0;i<11;i++) printf("%s\n",menu[i]); do { printf("Enteryouchoice(1~9): \n"); scanf("%d",&c); system("cls"); }while(c<1||c>9);/*当输入的功能 选项不符合要求,即不在1到9之间时, 重新输入选项, 16 直到符合要求为止*/ returnc; } voidenter()//输入记录并保存 { FILE*fp; inti; printf("*请输入11位的手机号码*\n"); for(i=0;i { printf("输入通话的电话号码: "); scanf("%s",H[i].no); if(strlen(H[i].no)! =11) { printf("sorry! 请重新输入\n"); i=i-1; continue; } printf("\n缴费金额: "); scanf("%f",&H[i].money); printf("\n通话日期: "); scanf("%s",H[i].date); printf("\n通话时长(分): "); scanf("%f",&H[i].time); printf("\n长途1或短途0: "); scanf("%d",&H[i].a); if(H[i].a) 17 { H[i].leftlong=H[i].time; H[i].leftshort=0; } else { H[i].leftlong=0; H[i].leftshort=H[i].time*0.3; } } if((fp=fopen("jilu.txt","w"))==NULL) { printf("cannotopenfile\n"); return; } for(i=0;i if(fwrite(&H[i],sizeof(structtype1),1,fp)! =1) printf("filewriteerror\n"); fclose(fp); } voidleavings()/*求总余额*/{ FILE*fp1,*fp2;inti; floatt1=0,t2=0; floatlea[SIZE]; floatleavings=0; fp1=fopen("jilu.txt","r"); 18 for(i=0;i { fread(&H[i],sizeof(structtype1),1,fp1); if(H[i].a==1) lea[i]=float(H[i].money-H[i].time); if(H[i].a==0) lea[i]=float(H[i].money-H[i].time*0.3); leavings+=lea[i]; } fclose(fp1); fp2=fopen("jinge.txt","w"); fprintf(fp2,"%g",leavings); fclose(fp2); printf("余额为%g\n\n\n",leavings); getchar(); } voidcosts()//求通话所用金额和长短途所用金额总计{ FILE*fp1,*fp2; inti; floatt1=0,t2=0; floatcost1=0,cost0=0; floatCOST; fp1=fopen("jilu.txt","r"); for(i=0;i { fread(&H[i],sizeof(struct 19 type1),1,fp1); cost1+=H[i].leftlong; cost0+=H[i].leftshort; } fclose(fp1); COST=cost1+cost0; fp2=fopen("jinge.txt","a");/*将计算结果追加到文件中*/ fprintf(fp2,"%g%g%g",cost1,cost0,COST ); fclose(fp2); printf("\n\n\t长途通话费用合计\t短途通话费用合计\t总话费合计\n"); printf("\t%g\t\t\t%g\t\t\t%g\n",cost1,c ost0,COST); getchar(); } voidsort()/*排序*/ { FILE*fp; inti,j,k; structtype1t; fp=fopen("jilu.txt","r"); i=0; while(! feof(fp)) { fread(&H[i],sizeof(structtype1),1,fp); i++; 20 } fclose(fp); m=i-1; for(i=0;i { k=i; for(j=i+1;j if(H[j].time t=H[k];H[k]=H[i];H[i]=t; }//根据时间长短排序 for(i=0;i { printf("\t通话时间\t电话号码\n"); printf("\t%g\t\t%s\n",H[i].time,H[i].no ); } getchar(); } voidtimes()//求所查询的号码的呼叫次数 { FILE*fp; charnumber[15]; inti,j=0; i=0; fp=fopen("jilu.txt","r"); while(! feof(fp)) 21 { fread(&H[i],sizeof(structtype1),1,fp); i++; }//判断文件中记录有多少条 m=i-1; fclose(fp); printf("输入你要查询的号码\n"); scanf("%s",number); for(i=0;i if(strcmp(H[i].no,number)==0)j++; printf("\t拔打次数: %d\t次\n",j); getchar(); } voidappend()/*增加记录的实现*/ { FILE*
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 手机 话费 信息管理 系统 课程设计 报告