杂志订阅管理系统.doc杂志订阅管理系统
C语言课程设计
题 目:图书信息管理系统 设计者:
所属院系:工程学院专 业:安全工程班 级:055101
学 号:指导教师:吴湘宁
C语言课程设计报告
题目要求
杂志订阅管理软件
[要求]
使用计算机对一种杂志的订阅进行管理,该杂志拥有的最多订户不超过10人,每个订户的信 息包括:姓名,性别,地址,电话号码,杂志单价,订阅数,订阅的期限(至XX年XX月).
现在要求用菜单选择并完成下述的功能:
增加新订户,即将订户的全部信息输入到文件中;
根据当天的日期对订户文件进行查询,删除已经到期的订户记录;
统计本期杂志的订户数并打印运算结果;
本期订户信息表:
订户名
订阅数
单价
金额
李平
2
黄海
1
合计
3
需求分析
根据题目要求,由于杂志的订户信息要用文件存储,所以要提供文件的输入输出操作;提供 文件的添加操作增加新订户;对订户文件的查阅,提供文件的查找操作;通过文件的删除操作 删除已经到期的
订户记录;提供统计和显示操作统计本期杂志订户数并打印运算结果;另外还要提供键盘式 选择菜单以实现功能选择.
总体设计
经过分析整个系统,根据上面的需求分析,可以将整个系统的设计分为如下二大模块:增加
新订户,查询,统计.
详细设计
.
主函数只提供输入, menu。函数,再用主函数调用menu()函数,使系统执行完每部分功能模块后能够方便返回到系 统界面.
[流程图]
N
[程序]
void main()
(
FILE *fp;
fp=fopen("","w");作(l-3):[ ]\b\b");
scanf("%d",&n);
w=l;
)
else w=0;
}
While(w==l); /* 选择功能 */
switch(n)
{
case l:add();break; /*增加新订户记录*/
case 2:search();break; /*查找过期的订户记录并删除*/
case3: statistic。;break; /* 统计 */
case4:exit(); /* 退出 */
)
)
增加新订户模块
[数据结构]
单独看各个信息,姓名,性别和地址是字符型的,电话号码,订阅数getchar();
和订阅期限是整型的,,一条记录对应一个 ,实数型和字符型,:
struct magazine
(
char name [6];
char sex [2];
char addr[13];
char phone_number [ 11];
char unit_price [5];
char amount [4];
char
}
由于题目中明确订户最多不超过10人,所以这里定义reader[10]M;(#define
N 2)方便改变每次要输入新订户的个数.
[流程图]
【程序】
void add()
{
int
t=load_record();
printf("您希望添加几组订户的信息?\n");
printf("请输入数字:[]\b\b\b");
scanf(" %d" ,& ;m);
for(i=0;i<m;i++)
(
} printf("\n 请输入第%(1 组订户记录! \n",i+l); input(t+i); /*调用输入函数*/
save(t+m); /*调用保存函数,保t+m组数据*/
menu(); /*返回登陆界面*/
}
void input(int i)
{
printf("请输入:\n姓名性别地址电话号码杂志单价订阅数订阅期限\n");
scanf("%s%s%s%s%s%s%s",&order[i].name,&order[i].sex,&order[i ].addr,&order[i] .phone_number,&order [i] .unit_price,&order[i].amount,&order
.time_limit);
}
查
杂志订阅管理系统 来自淘豆网www.taodocs.com转载请标明出处.