资源预览内容
第1页 / 共15页
第2页 / 共15页
第3页 / 共15页
第4页 / 共15页
第5页 / 共15页
第6页 / 共15页
第7页 / 共15页
第8页 / 共15页
第9页 / 共15页
第10页 / 共15页
亲,该文档总共15页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
语言课程设计之杂志订阅管理1. 以下是报告正文题目与要求:1.1问题提出与要求:使用计算机对一种杂志的订阅进行管理,该杂志拥有最多订户不超过0人,每个订户的信息包括:姓名、性别、地址、电话号码、杂志单价、订阅数、订阅的期限(至x年xx月xx日)现要求用菜单选择并完成下述的功能:(1) 增加新订户,即将订户的全部信息输入到文件中。(2) 根据当前的日期对订户文件进行查询,删除已到期的订户记录。(3) 统计本期杂志订户数并打印运算结果。提示订户的信息用文件存储,提供文件的输入输出操作;提供文件的添加操作,增加新订户;对订户文件的查询,提供文件的查找操作;经过文件的删除操作删除已到期的订户记录;提供统计和显示操作统计本期杂志订户数并打印运算结果;另外还要提供键盘式选择菜单以实现功能的选择。2. 功能实现设计:2.1总体设计:杂志订阅管理软件KJ添加新用户)查询并删除已过期用户、)统计本期用户退出系统k22详细设计:【主函数】主函数一般设计得比较简洁,提供输入,功能处理和输出部分的函数调用。其中各功能模块用菜单方式选择【程序】an()(mnu();voidmn()(itw,n;d(uts(n);pt(tt欢迎来到杂志订阅系统n);n);puts(ttt:add_ne_subsribern);pus(tt:eac_del);uts(tt3:tatiic);pus(tt4:exitn);pts(ntt*nn);printf(Coiyurnuber()1-:b);canf(d”,&n);if(n4)(=1;ethar();elsew=;w(w=1);sith(n)(cas1:add();brak;as:search_dee();break;cae:sttistic();break;ase4:exit(0);【功能模块设计】添加模块【需求分析】该模块的功能是添加本期新的杂志订阅用户,从键盘输入到原来的输入文件中,注意采用追加而不是覆盖的方式。追加模块流程图如下图所示:【程序】vidadd()/*添加模块/int,m;sytem(l);/清屏*/tload_ecord();print(您需要添加多少用户的信息?n);getch();prit(输入号码:bbb);scanf(%d”,&m);r(i=;;i+)prit(Inpt%dtsubcriberrecord.”,+1);input(t+i);save(t+m);ystm(cls);menu();vidnu(inti)print(Pleaeenter:姓名性别地址电话号码单价数量日期期限);snf(ss%s%s%f%d%s”,mag.ne,ag.se,magi.addr,magi.phone_ber,&maiuit_prce,&magaou,agi.tim_lii);数据结构tructmagaznehaame20;charsex6;chraddr20;charpo_mr0;flotunit_prie;ntamont;charimelimi20;magN;(1) 查询并删除模块【功能分析】该模块的功能是查询已到期的用户而且删除。将用户的日期期限与当天的日期进行比较,将未到期的用户数据先存放到另一个结构体变量中,待查询完当前所有的用户后,再将暂时存放未过期的用户的数据输入到文件中去。结构图如下所示:oidsearch_ele()/*查询并删除模块*FIL*p;strctmagzine;chdate20;intt,i,m=0,j;t=ld_rerd();syem(ls);prinf(请输入日期:bbbbbbbb);scanf(s”,date);prif();if((fp=fopen(reod.t”,w))=)prin(nCannotoenthefien);exi(0);sst(ls);rnf(n);for(i=0;it;+)if(strcm(magi.timeliit,date)0)sum+;rntf(n);pint_one();aj=mgi;frnf(fp,sss%(2) %fd%nn,j.am,aj.sx,a.addr,aj.phone_number,j._price,a.amount,aj.tmelimit);j+;clse(f);if(sm)*表示所有的用户已过期*/rintf(*nn);pitf(很遗憾!无法找到您想要的条件!n);pintf(*n);printf(nnn按任意键返回前一步nn);gech();enu();统计模块【功能分析】该模块的功能是统计本期的用户,并计算总的订阅量和总金额。流程图如下所示:【程序】idstaisc()/*统计模块*(int,t,alamout=;floasum=0.,almoney=0;tloa_recr();sstem(cls);prnf(n订阅者的数量%dbbb”,t);gch();sy(cs);pts(本期订户信息表n);printfn(t);fr(i=0;ietadSettnEsdinistratoDebukesh.ee局濡要添加多少用户的信息?翰入号间L3Input1thsubscrercord.ggen:姓名性别地址电话号型单价数量日期期限王欢女弛大27978795-5220010Input;tsubscFibe*ecord.ent.:姓名性别地址电话号码单价数量日期期限田进女地大124564565SS2010,搜狗拼音半;(3)查询并删除模块在主界面出现后输入2并咬ntr键,结果如下图所示*C;tsadStic?AdinistiaoXleuEefhe.e刘阳男地大125789789,50010009男地大123122345E0OS3111刘欢男地大12378994.50B000011刘超男地大138945656.500Q021012王欢女地大128?878550000201010王进女地大124弱64S&.010009任意键返回前一步LI()统计模块在主界面出现后输入3并咬enter键,结果如下图所示i*C:DceitsandSettingsXAdBinistratr桌面IDbukenhe.we日回B本期订户信息表姓名性别弛址电逐号码价格数量时间期限刻阳男地大12478978?S-S丽。朋6100男弛大1123E&0Q0M012Q01刘次男地大2789789455OB000121G11刘超男弛大123894565&丽朋。201王欢女地大17S9779.50O0Q022101王进女地大1245456465O00012GO9合计总数量T总金额=3&上。胞丽C语言实习总结:经过C语言为期一周的实习,我收获很
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号