




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 说明书 设计题目:杂志订阅管理系统 目录:1.设计任务-12.正 文-2 (1).系统模块图-3 (2).模块说明-3 (3).用户使用说明-3 (4).测试结果-33.设 计 小 结-94.附录-10 一设计任务1、需求分析:订户的信息要用文件存储, 所以要提供文件的输入输出操作; 要实现增加新订户的功能, 所以要提供文件的添加操作;要实现对订户文件的查询,所以要提供文件的查找操作;要删 除已到期的订户记录, 所以要提供文件的删除操作; 要统计本期杂志订户数并打印运算结果, 所以要提供统计和显示操作;另外还要提供键盘式选择菜单以实现功能选择。 2、总体设计:该管理软件被设计为数据添加模块、
2、数据删除模块和数据统计模块。 3、详细设计 数据结构选择结构体: struct magazinechar name10;/姓名char sex6;/性别char address10;/地址char tel11;/电话float price;/单价int amount;/订阅数量char deadline10;/截止日期mag; /订户信息结构体 (1)数据添加模块 用追加的方式采用 fwrite 或 fprintf 把新增订户信息写入订户信息文件。 (2)数据删除模块 采用基本的查找算法,查找订户信息文件,比较当天日期和订阅期限,如果到期,则删 除该订户记录。删除方法:如果判断该条订户信息要删
3、除,则不再把该条信息写入文件,继续读下一条订户信息。 (3)数据统计模块 对本期杂志订户数的统计,就是读文件,输出订户名、订阅数、单价,并计算金额(单价*订阅数)。可以定义变量统计订户数、订阅数和总金额,最后输出。 二、正文1.系统模块图 杂志订阅管理系统杂 志 订 阅 管 理 系 统增加删除统计查找退出修改2模块说明(1).主函数:显示封面和菜单;(2). 增加模块:追加新订户信息到文件;(3).删除模块:将当天日期及以前的用户的信息从文件中删除;(4).统计模块:统计所有订户的订阅数量、订阅单价等信息 (5).查询模块:查看订户的详细信息,若订户的信息有所变更,下设更改功能 (包含修改功能
4、)。(6).退出模块:主函数中。3.用户使用说明源程序需用visual C+运行。其它按系统说明操作。4.测试结果 封面和主菜单添加模块1.第一次添加界面:2.第一次以后添加界面:删除模块统计模块查询模块修改模块(在查询结束后插入修改功能)修改界面退出模块主函数源程序图三.设计小结 我们学习C语言课程设计的主要目的是为了了解和熟悉C语言的编程。学习C语言要经过一个“理论实践在理论在实践”的过程。而学习C语言课程设计就是要我们进行实践,从中发现问题,解决问题,提高我们运用C语言的能力。是我们能够运用C语言解决一些问题。通过不断的编程,熟能生巧,是我们的理论学习也有了实践基础,学习理论知识就较为容
5、易一些,然后再通过实践不断的提高,如此良性循环就能是我们的C语言编程能力更上一成楼。参考文献1。谭浩强。C程序设计(第二版)。北京。清华大学出版社,19992。谭浩强。张基温。C语言程序设计(第三版)。北京。高等教育出版社,2006.83。谭浩强。C程序设计(第三版)。北京。清华大学出版社,2006 四附录#include"stdio.h"#include"stdlib.h"#include"string.h"#define N 10struct magazinechar name10;char sex6;char address10
6、;char tel11;float price;int amount;char deadline10;struct magazine mag;int n=0;/*用户计数器*/int tag=0;/*未过期的用户计数器*/void insert()/*增订新用户*/FILE *fp;char ch,*filename;filename = "E:magazine.txt"if(0 = n)if(NULL=(fp=fopen(filename,"w")printf("此文件不存在!n");exit(0);else if(NULL=(fp
7、=fopen(filename,"a")printf("此文件不存在!n");exit(0);doif(n<N)printf("请输入姓名:");gets(); printf("请输入性别:");gets(mag.sex); printf("请输入地址:");gets(mag.address); printf("请输入电话号码:");gets(mag.tel); printf("请输入订阅期限:");gets(mag.deadline
8、); printf("请输入杂志单价:");scanf("%f",&mag.price); printf("请输入订阅数:");scanf("%d",&mag.amount); fwrite(&mag,sizeof(struct magazine),1,fp); n+;else printf("用户已满!n");getchar();printf("n是否还有新订户?n");scanf("%c",&ch);getchar();
9、system("cls");while('y'=ch | 'Y'=ch);fclose(fp);system("pause");void del()/*删除过期用户*/FILE *fp; struct magazine magzN;char datatime8,*filename;int m,i=0;filename = "E:magazine.txt"if(fp=fopen(filename,"r")=NULL)printf("此文件不存在");exit(0);
10、while(fread(&mag,sizeof(struct magazine),1,fp)=1) magztag=mag;tag+;fclose(fp);printf("请输入当天日期:");gets(datatime);fp=fopen(filename,"w");for(i=0;i<tag;i+)m=strcmp(magzi.deadline,datatime);if(m<=0)continue;fwrite(&magzi,sizeof(struct magazine),1,fp);fclose(fp);system(&
11、quot;pause");void total()/*统计本期杂志订户数*/FILE *fp;float totalprice;int totalamount=0;float price1;float sum=0.0; if(fp=fopen("E:magazine.txt","r")=NULL)printf("此文件不存在");exit(0);printf("订户名t订阅数t单价t金额n");while(fread(&mag,sizeof(struct magazine),1,fp)=1)tot
12、alamount+=mag.amount;price1=mag.price;totalprice=mag.amount*mag.price;sum+=totalprice;printf("%st%dt%3.2ft%3.2fn",,mag.amount,mag.price,totalprice);printf("合计t%dt%3.2ft%3.2fn",totalamount,price1,sum);fclose(fp);system("pause");void scan()/查询与修改模块system("cls
13、");int i=0,j,y;char scanname10,*filename;filename = "E:magazine.txt" FILE *fp;struct magazine *magzN; fp=fopen(filename,"r");if(fp=fopen(filename,"r")=NULL)printf("此文件不存在");exit(0); for(j=0;fread(&mag,sizeof(struct magazine),1,fp);j+) magzj=(struct ma
14、gazine *)malloc(sizeof(struct magazine); * magzj=mag;fclose(fp); printf("输入要查询人员的姓名:"); scanf("%s",scanname);fp=fopen(filename,"w");for(i=0;i<j;i+) if(strcmp(magzi->name,scanname)=0) printf("姓名:%sn",magzi->name);printf("性别:%sn",magzi->sex
15、); printf("地址:%sn",magzi->address); printf("电话:%sn",magzi->tel); printf("单价:%fn",magzi->price); printf("订阅数量:%dn",magzi->amount); printf("订阅期限:%sn",magzi->deadline);printf("是否要修改'1'是,'0'否:n");scanf("%d&qu
16、ot;,&y);if(y)system("cls");printf("请输入姓名:");scanf("%s",magzi->name); printf("请输入性别:");scanf("%s",magzi->sex); printf("请输入地址:");scanf("%s",magzi->address); printf("请输入电话号码:");scanf("%s",magzi->te
17、l); printf("请输入订阅期限:");scanf("%s",magzi->deadline); printf("请输入杂志单价:");scanf("%f",&magzi->price); printf("请输入订阅数:");scanf("%d",&magzi->amount);fwrite(magzi,sizeof(struct magazine),1,fp);continue;fwrite(magzi,sizeof(struct m
18、agazine),1,fp);continue;fwrite(magzi,sizeof(struct magazine),1,fp); fclose(fp); system("pause");void main()int ch;char ch1;system("color 5f");do printf(" n");printf(" n");printf(" n");printf(" |n");printf(" | C语言课程设计 |n");printf(" | |n");printf(" | 杂志订阅管理系统设计 |n");printf(" |-|n");printf(" |-|n");printf(" | 制作人:阮航 制作日期:2011.11.21 |n");printf(" |* 主菜单 *|n");printf(" |-|n");printf(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GSP相关知识培训课件考题
- 留置胃管操作流程
- 肺结节护理科普
- 重庆传媒职业学院《创新创业课程》2023-2024学年第二学期期末试卷
- 湖北汽车工业学院《健康服务与营销学》2023-2024学年第二学期期末试卷
- 校内安全故事
- 南京铁道职业技术学院《概率论与数理统计(三)》2023-2024学年第一学期期末试卷
- 动脉瘤术后护理查房
- 西湖大学《西方现代派文学专题》2023-2024学年第二学期期末试卷
- 温州职业技术学院《工业废水处理工程》2023-2024学年第二学期期末试卷
- GB/T 5453-2025纺织品织物透气性的测定
- 2024慢性鼻窦炎诊断和治疗指南解读课件
- 2025年xx村公益性项目购买材料询价会议记录
- 六年级下册数学教案-比例 西师大版
- 抗日英雄人物杨靖宇介绍
- AI驱动的可持续能源发展
- 整本书阅读《林海雪原》【知识精研】六年级语文下册 (统编版五四制2024)
- 健康日用品设计与研发趋势
- 【化学】常见的盐(第1课时)-2024-2025学年九年级化学下册(人教版2024)
- 《海上风电设备运输规范》
- 2024年黑龙江牡丹江中考英语真题及答案
评论
0/150
提交评论