欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    C语言课程设计报告对杂志的订阅进行管理.doc

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

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

    C语言课程设计报告对杂志的订阅进行管理.doc

    中 国 地 质 大 学本科生课程论文封面课程名称 计算机高级语言课程设计(C)教师姓名 zzzzzz 本科生姓名 zzzzzz 本科生学号 zzzzzzzzzzzz 本科生专业 zzzzzzzzzzzz 所在院系 地球科学学院 类别: C. 本科生 日期: 2014-1-12 课程设计评语对课程论文的评语:平时成绩:课程论文成绩:总 成 绩:评阅人签名:注:1、无评阅人签名成绩无效;2、必须用钢笔或圆珠笔批阅,用铅笔阅卷无效;3、如有平时成绩,必须在上面评分表中标出,并计算入总成绩。目 录1题目要求12需求分析13总体设计14详细设计15上机操作16总结27致谢2参考文献21题目要求 使用计算机对一种杂志的订阅进行管理,该杂志拥有最多订户不超过10人,每个订户的 信息包括:姓名、性别、地址、电话号码、杂志单价、订阅数、订阅的期限(至*年*月). 现要求用菜单选择并完成下述的功能:(1) 增加新订户,即将订户的全部信息输入到文件中。(2) 根据当天的日期对订户文件进行查询,删除已到期的订户记录。(3) 统计本期杂志订户数并打印运算结果。本期订户信息表定户名 订阅数 单价 金额李平 2 5.5 11.0黄海 1 5.5 5.5合计 3 5.5 16.52需求分析本题目是对杂志的订阅进行管理。首先,将杂志订阅信息作出有利的整理和分类,利用我们设计的程序进行规划和整理,接下来,对已存入的信息数据进行调用,修改及删除。最后得到数据库的完善。这就是我们对此数据的需求分析。3总体设计菜单开始根据菜单输入n的值选择程序保存结束是否继续进行 NY YY5添加订户信息6修改订户信息2浏览订户信息3查询订户信息4删除订户信息7退出1录入订户信息图1.系统的总体流程图3详细设计杂志订阅管理系统源程序代码/*杂志订阅管理软件*(1)增加新订户,即将订户的全部信息输入到文件中。要求:使用计算机对一种杂志进行订阅管理,该杂志拥有最多订户不超过10人,每个订户的信息包括:姓名、性别、地址、电话号码、杂志单价、订阅数、订阅期限、(至*年*月)。*(2)根据当天的日期对订户文件进行查询,删除已到期的订户记录。*(3)统计本期杂志订户数并打印运算结果*/#include <stdio.h>#include <string.h>#include <stdlib.h>#define max 10 /最多订户不超过10人/存储每个订户的信息的数据结构 struct magazinechar name6;char sex3;char addr13;char phone_number12;char unit_price5;char amount4;char time_limit9; ordermax;void menu();void add();void search();void statistic();int load_record();void input(int i);void save(int n);void print_one(int i);void print_n(int n);int main()FILE *fp;fp = fopen("record.txt","w");fclose(fp);menu();return 0; /主菜单,与用户进行交互 void menu() int n,w; do printf("tt*nnn"); printf("tt 欢迎来到杂志订阅系统 nnn"); printf("tt*nnn"); printf("tt*nn"); printf("tt 1:订户信息添加 n"); printf("tt 2:订户信息浏览 n"); printf("tt 3:订户信息统计 n"); printf("tt 4:退出系统 nn"); printf("tt*nn"); printf("选择您的操作(1-4): bb"); scanf("%d",&n); if(n < 1 | n > 4) w = 1; getchar(); else w = 0; while(w); switch(n) case 1:add();break; case 2:search();break;case 3:statistic();break;case 4:exit(0);break; /增加新订户,即将订户的全部信息输入到文件中 void add() printf("addn"); int t,m,i; t = load_record(); /加载文件中已有用户的个数 printf("您希望添加几组订户的信息?n");printf("请输入数字: bbb");scanf("%d",&m);for(i = 0;i < m;i +)printf("n请输入第%d组订户记录!n",i+1);input(t+i); /读取第t+i个用户的数据 save(t+m); /把新用户的数据存储到文件中 menu(); void input(int i) printf("调用了input函数n"); printf("请输入:n姓名 性别 地址 电话号码 杂志单价 订阅数 订阅期限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 search() printf("searchn"); FILE* fp; char date9,str2; int t,i,sum = 0;t = load_record();printf("请输入日期: bbbbbbbbb"); scanf(" %s",date);printf("n");if(fp = fopen("record.txt","w") = NULL)printf("文件无法打开!nn");exit(0);printf("n");for(i=0;i<t;i+)if(strcmp(orderi.time_limit,date) < 0)sum +;printf("n");print_one(i);printf("nn此用户信息已过期!");printf("nn您希望删除此条信息吗?('Y'或'N'): 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("nnn任意键返回上一步.nn");getchar();getchar(); menu(); void print_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 statistic() printf("statisticn"); int t; t = load_record(); print_n(t); printf("nnn任意键返回.nn"); getchar(); getchar(); menu(); void print_n(int n) int j;printf("姓名 性别 地址 电话号码 杂志单价 订阅数 订阅期限nn");for(j=0;j<n;j+)if(j+1) % 11 = 0)printf("nn任意键继续.");getchar();puts("nn"); print_one(j); int load_record() printf("load_record()n"); FILE* fp; if(fp = fopen("record.txt","r") = NULL) printf("n 文件无法打开 n");exit(0); int i; for(i=0;!feof(fp);i+) fread(&orderi,sizeof(struct magazine),1,fp); fclose(fp); return (i-1); void save(int n) printf("调用了save函数n"); FILE* fp;int i;fp = fopen("record.txt","w");if(fp = NULL)printf("n 文件无法打开!n");exit(0); for(i=0;i<n;i+)fwrite(&orderi,sizeof(struct magazine),1,fp);fclose(fp); 各模块的功能和实现1.菜单模块:显示杂志订阅管理系统的主菜单,供用户选择所需的功能,通过自己定义的void menu()函数来实现。2.输入模块:输入订户的姓名以及其它的一些职工的相关信息,通过自己定义的void input()函数来实现。3.保存模块:将内存中订户的信息输出到磁盘文件中,可以通过自己定义的void save(int)函数来实现。4.浏览模块:浏览所有职工的相关信息,通过自己定义的void display()函数来实现。5.删除模块:删除需要删除的订户的所有信息,通过自己定义的void del()函数来实现。6.添加模块:添加需要添加的订户的相关信息,通过自己定义的void add()函数来实现。7.按杂志订阅期限查询模块:可以按志订阅期限来查询职工的相关信息,通过自己定义的void search_num()函数来实现。8.修改模块:可以修改需要修改的订户的相关信息,通过自己定义的void modify()函数 来实现。9.退出系统模块:退出杂志订阅信息管理系统,通过头文件windows.h中的exit(0)函数来实现。5上机操作(数据源说明)(操作步骤:编译、链接和运行)(运行结果:增加运行效果界面,包括主界面、各功能模块的运行界面等)使用说明及运行实例1.运行程序,进入职工信息管理系统的主菜单:图1:进入主菜单界面2.输入数字“1”进行订户信息添加:图2:订户信息添加图3:订户信息添加4.输入“2”浏览订户信息:图4:浏览订户信息5.输入“3”进行订户信息统计:图5:进行订户信息统计6.进入主菜单输入”4”退出职工信息管理系统。6总结通过这次课程设计,增加了我们对软件技术的了解,虽然还不明确软件技术包含的具体内容,但从C语言课程设计这门课程开始,已发现程序设计的好处,它对我们数学的学习也有很大的帮助。在学习C语言课程设计的过程中也学到和巩固了许多计算机应用基础知识,对计算机的机体也有了一个较为详细的了解。在具体操作中对这学期所学的C语言课程设计的理论知识得到巩固加强,达到实训的目的,也发现自己的不足之处,同时体会到C语言具有的语句简洁,使用灵活,执行效率高等特点。发现上机操作的重要作用,特别是对数组和循环有了深刻的理解。通过实际操作,学会 C语言程序编程的基本步骤、基本方法,开发了自己的逻辑思维能力,培养了分析问题、解决问题的能力。 由于本课题中的许多知识点都没有学过都要靠自己到课外的资料中去查找。在用的时候难免出现这样那样的错误。如开始设计出来的菜单不是预想的那样,而是总个窗中出现混乱。解决的这个问题的办法是调整。一个系统的菜单和提示信息非常重要。如果没有这些用户根本不知道怎么用你设计的这个系统。在设计的调试过程中也无法顺利的完成调试工作。有了一个清晰简单的菜单和一些提示信息这后,调试过程完成的非常顺利。回顾起此次课程设计,至今我们仍感慨颇多,的确,从拿到题目到完成整个编程,从理论到实践,在这些日子里,可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我们懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说结构体通过这次课程设计之后,一定把以前所学过的知识本次课程设计结束了,对于我们的影响很大。我们通过这次实践学到了许多知识。学到了设计一个简单的系统。要注意哪些方面。也使我们知道自己哪些方面做得还不够。但我们总结出了一点点的经验如下:要对系统的功能和要求做出详细的分析,并合理分解任务。 把分解出来的子任务,做给一个相对独立的模块。在设计一个模块之前,要简单构想一下总界面的显视情况。针对构想出来的界面进行程序的编写。7致谢 本次实习让我更加深刻的理解了c语言这门课,对于今后的应用会有帮助。感谢老师的指导和帮助,让我在这七天时间内丰富了知识,掌握了所学。参考文献1 谭浩强. C程序设计(第三版)M. 北京: 清华大学出版社, 2005.2 张冬梅, 刘远兴, 陈晶, 等. 基于PBL的C语言课程设计及学习指导M. 北京: 清华大学出版社, 2011.3

    注意事项

    本文(C语言课程设计报告对杂志的订阅进行管理.doc)为本站会员(文库蛋蛋多)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开