




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
程序设计报告( / 学年 第 学期)题 目: 简易电信计费模拟系统 专 业 学 生 姓 名 班 级 学 号 指 导 教 师 指 导 单 位 日 期 评 分 细 则评分项优秀良好中等差遵守机房规章制度上机时的表现学习态度程序准备情况程序设计能力团队合作精神课题功能实现情况算法设计合理性用户界面设计报告书写认真程度内容详实程度文字表达熟练程度回答问题准确度简 短 评 语教师签名: 年 月 日评分等级备注评分等级有五种:优秀、良好、中等、及格、不及格一.课题内容和要求我的程序用C语言编程。可以完成模拟电信计费管理的简易信息系统的功能。具体功能如下:1.用户管理。用户信息初始化存储在数组结构中,管理员登录后可对用户进行增加、删除、修改和查询。2.计费功能。根据存放在第二个结构数组中的各用户通话记录,对每一条通话记录计算其通话费用,并将结果保存在第三个结构数组中。其中通话费的计算方法如下:长途电话费费率(元/分钟)通话时长(分钟)本地电话费为:3分钟以内0.2元,以后每1分钟递增0.1元。注:在我的程序中,方便起见,规定费率统一为2元/分钟。3.话费查询。输入一个电话号码和密码,将用户输入的密码与该用户信息中初始化的密码进行匹配,密码正确方可从统计该电话号码的所有本地话费、长途话费,并查找其用户名,最后在屏幕上显示:用户名 电话号码 本地话费 长途话费 话费总计4.话单查询。输入一个电话号码和密码,将用户输入的密码与该用户信息中初始化的密码进行匹配,密码正确方可显示该用户的所有通话记录。输出格式为:用户名 主叫电话号码 被叫电话号码 通话时长二、需求分析随着社会的发展,通信行业越来越普遍,越来越发达。电信管理系统显得尤为重要,因此我做一个简单的电信计费模拟系统来模拟一下电信管理系统的模式。该系统需要预先将用户信息和通话记录输入结构数组中。在管理员页面,需要正确输入管理员的姓名与密码。(在该程序中,我设定管理员姓名为jack,密码为)在用户功能页面,需要正确输入电话号码,若信息库中没有该号码则无法查询。然后输入密码,与该用户的密码匹配才能查询话费和话单。三、概要设计 在此只给出求通话记录费用的小段程序代码。for(x=0;xw;x+)/求ccc的值strcpy(&cccx.number,&bbbx.zhujiao);switch(bbbx.type)case 1:if(bbbx.time=3)cccx.bendi=0.2;elsecccx.bendi= (bbbx.time-3)*0.1+0.2;break;case 2:cccx.changtu=bbbx.time*2.0;/设长途费率2元/分;break;cccx.sum=cccx.bendi+cccx.changtu;程序框图如下:返回选择菜单返回选择菜单开始选择管理员还是用户管理员用户选择增加,删除,修改或是查询选择查话费或是查话单增加用户删除用户修改用户查询用户查话费查话单返回管理员功能菜单返回用户功能菜单四、源程序代码 #include#include #include int denglu();int caidan1(); /管理员菜单int caidan2(); /用户菜单int add();/管理员菜单中的添加用户功能函数int delet();/管理员菜单中的删除用户功能函数int change();/管理员菜单中的修改用户功能函数int search();/管理员菜单中的查询用户功能函数int chahuafei(); /用户菜单中的查话费功能函数int chahuadan(); /用户菜单中的查话单功能函数int i; / 用于确定是哪个用户int q;/ 用于确定是管理员还是用户int n=0;/用于管理员和用户返回登录页面int ww=0;/用于管理员返回管理员菜单int gg=0; /用于用户返回用户菜单int k=2;/用户信息有两条int w=6; /通话记录有条double ben10; /用于统计各用户本地话费double chang10;/用于统计各用户长途话费double sum10;/用于统计各用户总话费char namex10;char passwordx7;char numberx8;struct gerenxinxi /用户信息char name10;char password7;char number8;double bendi;double changtu;double sum;struct tonghuajilu / 通话记录char name10;char zhujiao8;char beijiao8;double time; int type;/ 1表示本地,表示长途;struct feiyong/每条通话记录的费用char number8;double bendi;double changtu;double sum;struct gerenxinxi aaa10=/初始化两个用户的个人信息mike,james,;char gname10= jack;char gpassword7= ;/初始化管理员的信息struct tonghuajilu bbb10=mike,100.0,1,james ,12.0,1,/初始化前条通话记录james ,12.0,1,mike ,100.0,1,mike,30.0,2,james,14.0,2;struct feiyongccc10;int main()int x,t,y;for(x=0;xw;x+)/求ccc的值strcpy(&cccx.number,&bbbx.zhujiao);switch(bbbx.type)case 1:if(bbbx.time=3)cccx.bendi=0.2;elsecccx.bendi= (bbbx.time-3)*0.1+0.2;break;case 2:cccx.changtu=bbbx.time*2.0;/设长途费率元/分;break;cccx.sum=cccx.bendi+cccx.changtu;for(t=0;tk;t+)/求各用户的各费用for(y=0;yw;y+)if(strcmp(aaat.number,cccy.number)=0)bent=bent+cccy.bendi;changt=changt+cccy.changtu;sumt=bent+changt;don=0;denglu();/登录函数,n用于返回登录页面while(n);int denglu()int a=1;int b=1;int m=1;int l=1;system(cls);printf(欢迎登录n);printf(请选择身份登录:_管理员;_普通用户n);printf(请输入:);scanf(%d,&q);while(l)if(q!=1&q!=2)printf(error!n);printf(请输入:);scanf(%d,&q);elsel=0;if(q=1)printf(请输入管理员您的名字: );scanf(%s,namex);while(a)if (strcmp(namex,gname)!=0)printf(error!n);printf(请输入管理员您的名字: );scanf(%s,namex);elsea=0;printf(请输入密码: );scanf(%s,passwordx);while(b)if (strcmp(passwordx,gpassword)!=0)printf(error!n);printf(请输入密码: );scanf(%s,passwordx);elseb=0;printf(恭喜管理员登录成功!n);doww=0; caidan1();while(ww);else if(q=2)dogg=0;caidan2(); /进入用户菜单while(gg);int caidan1()/管理员菜单int z,qq;int y=1;system(cls);printf(=您好* 管理员=n);printf(1-增加用户n);printf(2-删除用户n);printf(3-修改用户n);printf(4-查询用户n);printf(0-返回登陆页面n);printf(请输入: );scanf(%d,&z);while(y)if(z!=0&z!=1&z!=2&z!=3&z!=4)printf(error!n);printf(请输入: );scanf(%d,&z);elsey=0;switch(z)case 1: add(); printf(按返回管理员菜单:);scanf(%d,&qq);if(qq=1)ww=1;break;case 2: delet();printf(按返回管理员菜单:);scanf(%d,&qq);if(qq=2)ww=1;break;case 3: change(); printf(按返回管理员菜单:);scanf(%d,&qq);if(qq=3)ww=1;break;case 4: search(); printf(按返回管理员菜单:);scanf(%d,&qq);if(qq=4)ww=1; break;case 0: n=1 ;break;int caidan2()/用户菜单int p;int c=1;system(cls);printf(=欢迎尊敬的用户!=n);printf(1-查询费用n);printf(2-查询话单n);printf(0-返回登陆页面n);printf(请选择: );scanf(%d,&p);while(c)if(p!=0&p!=1&p!=2)printf(error!n);printf(请选择: );scanf(%d,&p);elsec=0;if(p=1) chahuafei();else if(p=2) chahuadan();else if(p=0)n=1;int add()/管理员菜单中的添加用户功能函数printf(=请输入用户信息=n);printf(请输入用户姓名: );scanf(%s,&);printf(n请输入用户密码: );scanf(%s,&aaak.password);printf(n请输入用户电话号码: );scanf(%s,&aaak.number);printf(添加成功!);k+;int delet()/管理员菜单中的删除用户功能函数char deletnumber8;int h,g;printf(=删除用户信息=n);printf(请输入要删除用户的电话号码: n);scanf(%s,deletnumber);for(h=0;hk;h+)if(strcmp(deletnumber,aaah.number)=0)break;for(g=h;gk-1;g+)aaag=aaag+1;k-;printf(删除成功!);int change()/管理员菜单中的修改用户功能函数char changenumber8;int h;printf(=修改用户信息=n);printf(请输入要修改用户的电话号码: );scanf(%s,changenumber);for(h=0;hk;h+)if(strcmp(changenumber,aaah.number)=0)break;printf(请输入修改后密码:);scanf(%s,aaah.password);printf(修改成功!);int search()/管理员菜单中的查询用户功能函数char searchnumber8;int h;printf(=查询用户信息=n);printf(请输入要查询用户的电话号码: );scanf(%s,searchnumber);for(h=0;hk;h+)if(strcmp(searchnumber,aaah.number)=0)break;if(h!=k)printf(用户名 电话号码 n);printf(%st%sn,,aaah.number);elseprintf(不存在该用户!n);int chahuafei()/用户菜单中的查话费功能函数int o,v;int d=1;int e=1;int i=1000;printf(请输入电话号码: );scanf(%s,numberx);while(d)for(o=0;ok;o+)if (strcmp(numberx,aaao.number)=0)i=o;if(i=1000)printf(error!n);printf(请输入电话号码: );scanf(%s,numberx);elsed=0;printf(请输入密码: );scanf(%s,passwordx);while(e)if (strcmp(passwordx,aaai.password)!=0)printf(error!n);printf(请输入密码: );scanf(%s,passwordx);elsee=0;printf(用户名 电话号码 本地话费 长途话费 话费总计n );printf(%stt%stt%.1ftt%.1ftt%.1f,,aaai.number,beni,changi,sumi);printf(n按返回用户页面:);scanf(%d,&v);if(v=1)gg=1;int chahuadan()/用户菜单中的查话单功能函数int o,r,xx;int d=1;int e=1;int i=1000;printf(请输入电话号码: );scanf(%s,numberx);while(d)for(o=0;ok;o+)if (strcmp(numberx,aaao.number)=0)i=o;if(i=1000)printf(error!n);printf(请输入电话号码: );scanf(%s,numberx);elsed=0;printf(请输入密码: );scanf(%s,passwordx);while(e)if (strcmp(passwordx,aaai.password)!=0)printf(error!n);printf(请输入密码: );scanf(%s,passwordx);elsee=0;printf(用户名 主叫电话号码 被叫电话号码 通话时长n);for(xx=0;xxw;xx+)if(strcmp(aaai.number,bbbxx.zhujiao)=0)printf(%stt%sttt%sttt%.1fn,,bbbxx.zhujiao,bbbxx.beijiao,bbbxx.time);printf(n按返回用户页面:);scanf(%d,&r);if(r=1)gg=1;五、测试数据及其结果分析进入登录页面。选1后管理员输入信息。管理员进入管理员菜单。按1后进入增加用户菜单。按2后进入删除用户菜单,按3后进入修改用户菜单,按4后进入删除用户菜单。空间有限,在此不多列举。选择页面选择2,即用户的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年游戏开发程序员应聘面试指南及预测题
- 光电材料与器件教学课件
- 乡村教师廖老师教学课件
- 2025年电力系统运行值班员高级模拟题及解析
- 2025年特岗教师招聘面试初中生物高频考点预测
- 健全安全评价与监测体系支持企业安全管理
- 化工原理课程设计列管式换热器
- 青光眼护理查房
- 修辞手法教学课件
- 《望洞庭》教学课件
- 00052管理系统中计算机应用(实践)考试题目
- 空调器安全检测工艺规范
- 电动力学-同济大学中国大学mooc课后章节答案期末考试题库2023年
- 综采工作面液压支架安装回撤工理论考核试题及答案
- 放射科质控汇报
- 2023年山东威海乳山市事业单位招聘带编入伍高校毕业生12人笔试备考题库及答案解析
- 结构方案论证会汇报模板参考83P
- 《企业人力资源管理专业实践报告2500字》
- 万东GFS型高频高压发生装置维修手册
- 公寓de全人物攻略本为个人爱好而制成如需转载注明信息
- 魏家庄村道路实施方案
评论
0/150
提交评论