欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2022年C语言杂志订阅管理软件 .pdf

    • 资源ID:27263319       资源大小:328.34KB        全文页数:17页
    • 资源格式: PDF        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2022年C语言杂志订阅管理软件 .pdf

    C 语言程序设计- 上机实习报告学院 :资源学院班级 :021094 姓名 :柴杉学号 :20091001131 指导老师 :赵曼名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 17 页 - - - - - - - - - 前言我们学习 C 语言课程设计的主要目的是为了了解和熟悉C 语言的编程。学习C 语言要经过一个“理论实践在理论在实践”的过程。而学习C 语言课程设计就是要我们进行实践,从中发现问题,解决问题,提高我们运用C 语言的能力。是我们能够运用C 语言解决一些问题。 通过不断的编程,熟能生巧,是我们的理论学习也有了实践基础,学习理论知识就较为容易一些,然后再通过实践不断的提高,如此良性循环就能是我们的C 语言编程能力更上一成楼。正文一、题目要求杂志订阅管理软件要求 使用计算机对一种杂志的订阅进行管理,该杂志拥有的最多订户不超过10 人,每个订户的信息包括 :姓名 ,性别 ,地址 ,电话号码 ,杂志单价 ,订阅数 ,订阅的期限 (至 XX 年 XX 月 ). 现在要求用菜单选择并完成下述的功能: (1) 增加新订户 ,即将订户的全部信息输入到文件中; (2) 根据当天的日期对订户文件进行查询,删除已经到期的订户记录; (3) 统计本期杂志的订户数并打印运算结果; 本期订户信息表: 订户名订阅数单价金额李平2 5.5 11.0 黄海1 5.5 5.5 合计3 1.0 16.5 二、需求分析根据题目要求, 由于订户信息放在文件中,所以应提供文件的输入,输出,删除等操作;在程序中需要浏览订户的信息,应提供显示、 查找等操作; 另外还应提供键盘式选择菜单实现功能等。三、总体设计根据上面的需求分析,可以将这个系统的设计分为四大模块:添加、查询、 统计、退出。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 17 页 - - - - - - - - - 其中主要功能是添加、查询、统计三个模块。杂志订阅管理系统四、详细设计1、主函数主函数只提供输入、处理和输出部分的函数调用。其中各功能模块用菜单方式选择。其流程图如图所示。N Y 【程序】void menu() /*主界面 */ int w,n; /*变量 n 保存选择菜单数字,w 判断输入的数字是否在功能菜单对应数字范围内*/ do clrscr(); printf(n); printf(tt* * * * * * * * * * * * * * * * * * * * * * * * *n); printf(tt n); printf(tt n); printf(tt Welcome to the magazine order system !_ n); printf(tt n); printf(tt n); 添 加查 询统 计退 出开 始显示一系列功能选项输入 n, 判断 n 是否是 14?根据n 的值调用各功能模块函数结 束名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 17 页 - - - - - - - - - printf(tt* * * * * * * * * * * * * * * * * * * * * * * * *n); printf(nntt *nn); printf(tt 1:add_new_subscribern); printf(tt 2:browsen); printf(tt 3:statisticn); printf(tt 4:exitnn); printf(tt *nn); printf( Choice your number(1-4): bb); scanf(%d,&n); if(n4) /*对选择的数字作判断*/ w=1; else w=0; while (w=1); /* 选择功能 */ switch(n) case 1:add();break;/*增加新订户记录*/ case 2:search();break;/*查找过期的订户记录并删除*/ case 3:statistic();break;/*统计 */ case 4:exit();break;/*退出 */ /*主函数 */ main() FILE *fp; fp=fopen(record.txt,w);/*建立一个 record.txt记事本 */ fclose(fp); menu(); 2、各功能模块设计(1)添加模块【需求分析】名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 17 页 - - - - - - - - - 该模块的功能是需要增加新的订户的记录,从键盘输入并逐条写到原来的文件中,添加模块流程图如图所示。【程序】/*添加模块 */ void add() int t,i,m; clrscr(); t=load_record(); printf(How many groups information do you want to add?n); printf(Enter the number: bbb); scanf(%d,&m); /*输入要添加的记录个数*/ for(i=0;im;i+) printf(nInput %dth subscriber record.n,i+1); input(t+i);/*调用输入函数 */ save(t+m);/*调用保存函数保存 t+m 组数据 */ clrscr();/*清屏 */ menu();/*返回登陆界面*/ void input(int i) printf(Please input:nName sex address phone_number unit_price amount time_limit n); scanf(%s%s%s%s%s%s%s,&orderi.name,&orderi.sex,&orderi.address,&orderi开 始调用加载函数t=load_record() 输入要添加的新订户记录个数m 调用输入函数input(t+i) 调用保存函数save(t+m),保存 t+m 组数据结 束名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 17 页 - - - - - - - - - .phone_number,&orderi.unit_price,&orderi.amount,&orderi.time_limit); (2) 查询模块【需求分析】该模块的功能是根据目前的日期对订户文件进行查询,删除已到期的订户记录。【程序】/*查询模块 */ void search() FILE *fp; char date11,str2; int t,i,sum=0; t=load_record(); printf(Please input the current date: bbbbbbbbbbb); scanf(%s,date); printf(n); if(fp=fopen(record.txt,w)=NULL)/*以只写方式打开*/ printf(nCannot open filen); exit(0); printf(n); for(i=0;it;i+) if(strcmp(orderi.time_limit,date)0) 开 始输入当天日期比较当天日期和订阅期限的日期,把符合条件的记录显示出来删除到期订户记录结 束名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 17 页 - - - - - - - - - sum+; printf(n); printf_one(i);/*把符合条件的记录显示出来*/ printf(nnThe record is out of date!); printf(nnDo you want to delete its information?(YorN): bb); scanf(%s,str); if(strcmp(str,Y)=0|strcmp(str,y)=0) continue; fwrite(&orderi,sizeof(struct magazine),1,fp); fclose(fp); if(sum=0) printf(*nn); printf(Sorry! Cannot find the equipment which you want to.nn); printf(*nn); printf(nnnPress any key to go back the former step.n); getchar(); menu(); (3)统计模块【需求分析】该模块的功能是统计所有订户的资料并显示结果。【程序】/*统计模块 */ void statistic() int t; 开 始统计并显示订户资料结 束名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 17 页 - - - - - - - - - t=load_record(); printf(The amount of subscriber is%dbbb,t); printf_n(t); printf(nnnPress any key to go back.nn); getchar(); menu(); void printf_one(int i)/*显示一个仪器记录的函数*/ printf(%-10s %-5s %-10s %-11s %-4s %-3s %-10snn,orderi.name,orderi.sex,orderi.addr,orderi.phone_number,orderi.unit_price,orderi.amount,&orderi.time_limit); void printf_n(int n)/*显示 n个仪器记录的函数*/ int j; printf(Name sex address phone_number price amount time_limitnn); for(j=0;jn;j+) if(j+1)%10=0)/*控制显示,每屏显示10 行*/ printf(nnPress any key to continue .); getchar(); puts(nn); printf_one(j);/*调用显示一个仪器记录的函数*/ 3、公共函数/*公共函数 */ int load_record()/*加载仪器信息并计算记录仪器个数的函数*/ FILE *fp; int i; if(fp=fopen(record.txt,r)=NULL)/*以只读方式打开*/ printf(nCannot open filen); exit(0); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 17 页 - - - - - - - - - for(i=0;!feof(fp);i+)/*从文件中读入数据并保存在结构体数组中*/ fread(&orderi,sizeof(struct magazine),1,fp); fclose(fp); return(i-1); void save(int n)/*n表示保存n 组数据, m表示保存在哪个文件夹里*/ FILE *fp; int i; fp=fopen(record.txt,w);/*以只写方式打开*/ if(fp=NULL) printf(nCannot open filen); exit(0); for(i=0;in;i+) fwrite(&orderi,sizeof(struct magazine),1,fp); fclose(fp); 五、上机操作运行结果下面是各个模块的界面图:1、主菜单函数名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 17 页 - - - - - - - - - 2、添加模块在主界面出现后输入1 并按【 enter 】键,结果如图。输入要输入的记录数然后逐条增加,如图所示。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 17 页 - - - - - - - - - 3、查询模块4、统计模块名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 17 页 - - - - - - - - - 六、总 结在老师的带领下进行了C语言程序实践学习。 在短短一周的实习期间使我获取了不少新知识也巩固了许多老知识。C语言是需要有一定基础、而且动手能力强的学科。上机实验是学习程序设计语言必不可少的实践环节,特别是C语言灵活、简洁,更需要通过编程的实践来真正掌握它。对于程序设计语言的学习目的,可以概括为学习语法规定、巩固贯穿系统知识、掌握程序设计方法、提高程序设计能力。通过多次上机练习,对于语法知识有了感性的认识,加深对它的理解,在理解的基础上就会自然而然地掌握C语言的语法规定。 对于一些内容自己认为在课堂上听懂了,但上机实践中会发现原来理解的偏差,更加巩固了学过的知识。这次上机实习让我学到了很多有用的东西,巩固了之前的学习,让我学到了在教室和做题中学不到的一些知识,通过这个程序的学习,使我进一步理解和运用结构化程序设计的思想和方法。 初步掌握开发一个小型实用系统的基本方法,学会调试一个比较长程序的基本方法,学会利用流程图表示算法,进一步掌握和提高利用C语言进行程序设计的能力。我认为这次实习对我而言是非常有意义的,使我的动手能力有了很大的提高。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 17 页 - - - - - - - - - 七源程序#include #include #define max 20 struct magazine char name11; char sex8; char addr11; char phone_number12; char unit_price5; char amount4; char time_limit11; ordermax; void save(int n); int load_record(); void search(); void printf_n(int n); void printf_one(int i); void input(int i); void statistic(); void add(); void menu(); void exit(); main() FILE *fp; fp=fopen(record.txt,w);/*建立一个 record.txt记事本 */ fclose(fp); menu(); void menu() int w,n; do 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 17 页 - - - - - - - - - printf(n); printf(tt* * * * * * * * * * * * * * * * * * * * * * * * *n); printf(tt n); printf(tt n); printf(tt Welcome to the magazine order system !_ n); printf(tt n); printf(tt n); printf(tt* * * * * * * * * * * * * * * * * * * * * * * * *n); printf(nntt *nn); printf(tt 1:add_new_subscribern); printf(tt 2:browsen); printf(tt 3:statisticn); printf(tt 4:exitnn); printf(tt *nn); printf( Choice your number(1-4): bb); scanf(%d,&n); if(n4) w=1; else w=0; while (w=1); /*选择功能 */ switch(n) case 1:add();break;/*增加新订户记录*/ case 2:search();break;/*查找过期的订户记录并删除*/ case 3:statistic();break;/*统计 */ case 4:exit();break;/*退出 */ /*添加模块*/ void add() int t,i,m; t=load_record(); printf(How many groups information do you want to add?n); printf(Enter the number: bbb); scanf(%d,&m); for(i=0;im;i+) printf(nInput %dth subscriber record.n,i+1); input(t+i);/*调用输入函数 */ 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 17 页 - - - - - - - - - save(t+m);/*调用保存函数保存 t+m 组数据 */ menu();/*返回登陆界面*/ void input(int i) printf(Please input:nName sex address phone_number unit_price amount time_limit n); scanf(%s%s%s%s%s%s%s,&orderi.name,&orderi.sex,&orderi.addr,&orderi.phone_number,&orderi.unit_price,&orderi.amount,&orderi.time_limit); /*统计模块*/ void statistic() int t; t=load_record(); printf(The amount of subscriber is%dbbb,t); printf_n(t); printf(nnnPress any key to go back.nn); getchar(); menu(); void printf_one(int i)/*显示一个仪器记录的函数*/ printf(%-10s %-5s %-10s %-11s %-4s %-3s %-10snn,orderi.name,orderi.sex,orderi.addr,orderi.phone_number,orderi.unit_price,orderi.amount,orderi.time_limit); void printf_n(int n)/*显示 n个仪器记录的函数*/ int j; printf(Name sex address phone_number price amount time_limitnn); for(j=0;jn;j+) if(j+1)%10=0)/*控制显示,每屏显示10 行*/ printf(nnPress any key to continue .); getchar(); puts(nn); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 17 页 - - - - - - - - - printf_one(j);/*调用显示一个仪器记录的函数*/ /*查询模块*/ void search() FILE *fp; char date11,str2; int t,i,sum=0; t=load_record(); printf(Please input the current date: bbbbbbbbbbb); scanf(%s,date); printf(n); if(fp=fopen(record.txt,w)=NULL)/*以只写方式打开*/ printf(nCannot open filen); exit(0); printf(n); for(i=0;it;i+) if(strcmp(orderi.time_limit,date)0) sum+; printf(n); printf_one(i);/*把符合条件的记录显示出来*/ printf(nnThe record is out of date!); printf(nnDo you want to delete its information?(YorN): bb); scanf(%s,str); if(strcmp(str,Y)=0|strcmp(str,y)=0) continue; fwrite(&orderi,sizeof(struct magazine),1,fp); fclose(fp); if(sum=0) printf(*nn); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 17 页 - - - - - - - - - printf(Sorry! Cannot find the equipment which you want to.nn); printf(*nn); printf(nnnPress any key to go back the former step.n); getchar(); menu(); /*公共函数*/ int load_record()/*加载仪器信息并计算记录仪器个数的函数*/ FILE *fp; int i; if(fp=fopen(record.txt,r)=NULL)/*以只读方式打开*/ printf(nCannot open filen); exit(0); for(i=0;!feof(fp);i+)/*从文件中读入数据并保存在结构体数组中*/ fread(&orderi,sizeof(struct magazine),1,fp); fclose(fp); return(i-1); void save(int n)/*n表示保存n 组数据, m表示保存在哪个文件夹里*/ FILE *fp; int i; fp=fopen(record.txt,w);/*以只写方式打开*/ if(fp=NULL) printf(nCannot open filen); exit(0); for(i=0;in;i+) fwrite(&orderi,sizeof(struct magazine),1,fp); fclose(fp); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 17 页 - - - - - - - - -

    注意事项

    本文(2022年C语言杂志订阅管理软件 .pdf)为本站会员(Che****ry)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开