教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 范文大全 > 文秘资料 >

杂志订阅管理系统源码 C++课程设计

来源:网络收集 时间:2026-09-27
导读: #includestdio.h #includestdlib.h #includestring.h #includeiostream.h struct subscriberInfo { char name[20]; char sex[4]; char addr[30]; char tel[11]; float price; int num; char date[10]; }subInfo; void insert(); void del(); void total(); i

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

#include<iostream.h>

struct subscriberInfo {

char name[20]; char sex[4]; char addr[30]; char tel[11]; float price; int num; char date[10];

}subInfo;

void insert();

void del();

void total();

int main()

{

int ch; char ch1; cout<<"*****************************************************

***************************"<<endl;

cout<<" 欢迎使用杂志订阅管理软件 "<<endl;

cout<<"*****************************************************

***************************"<<endl;

cout<<" 按回车键进入主菜单! "<<endl;

cout<<"*****************************************************getchar(); system("cls"); do { ***************************"<<endl;

cout<<" 欢迎使用杂志订阅管理软

件 "<<endl;

cout<<"*****************************************************

***************************"<<endl;

cout<<" 1键增加新订户 "<<endl;

cout<<" 2键删除到期用户 "<<endl;

cout<<" 3键统计订户数 "<<endl;

cout<<" 0键退出程序 "<<endl;

printf(" 请选择您需要的功能:

");

scanf("%d",&ch);getchar(); switch(ch) { case 1:insert();break; case 2:del();break; case 3:total();break;

bb: case 0:

system("cls");

cout<<"*****************************************************

***************************"<<endl;

cout<<endl; cout<<" 谢谢您的使用! "<<endl;

cout<<" 请按任意键退

出! "<<endl;

cout<<endl; cout<<"*****************************************************

***************************"<<endl;

exit(0); default:printf("输入有误,请重新输入!\n");break; } printf("是否继续其他操作(Y/N)?"); scanf("%c",&ch1); if (ch1=='n'||ch1=='N') { } system("cls"); goto bb; }while(ch1=='y'||ch1=='Y');

} /*-------------------------------------------------------------

---------增订新用户

------------------------------------------------*/

void insert() {

FILE *fp; struct subscriberInfo subInfo; int i=0; char ch; cout<<"*****************************************************return 0;

***************************"<<endl;

cout<<" 增加新订户 "<<endl;

cout<<""<<endl; if((fp=fopen("SubscriberInfo.txt","a+"))==NULL) { printf("此文件不存在");

} exit(0); else { printf("请输入姓名:");gets(http://www.77cn.com.cn); printf("请输入性别:");gets(subInfo.sex); printf("请输入地址:");gets(subInfo.addr); printf("请输入电话号码:");gets(subInfo.tel); printf("请输入订阅期限(例如:2011年月日,则输

入:20110527):");gets(subInfo.date);

fwrite(&subInfo,sizeof(struct subscriberInfo),1,fp); /*printf("请输入杂志单价:");scanf("%f",&subInfo.price); printf("请输入订阅数:");scanf("%d",&subInfo.num);

在文件中写入新增用户信息*/

}

/*------------------------------------------------------------- } fclose(fp); printf("用户添加成功!"); scanf("%c",&ch);

---------删除过期用户

------------------------------------------------*/

void del() {

FILE *fp,*newfp; char datatime[10]; cout<<"*****************************************************

***************************"<<endl;

cout<<" 删除到期用户 "<<endl;

cout<<""<<endl; if((fp=fopen("SubscriberInfo.txt","r"))==NULL) /*判断文件

是否存在*/

{ } else printf("请输入当天日期(例如:2011年月日,则输printf("此文件不存在"); exit(0);

入:20110527):");gets(datatime);

fp = fopen("SubscriberInfo.txt","r+");

newfp = fopen("Temp.txt","w+"); fseek(newfp,0,SEEK_SET);

// fseek(fp,0,SEEK_SET);

while(1)

{ if(fread(&subInfo,sizeof(struct subscriberInfo),1,fp)==1)

/*这里循环得读源文件中的数据,并读一个写一个到临时文件中*/

{ if(strcmp(datatime,subInfo.date)>0) { continue; /* 如果读到的数据就是需要删除的数据时,

即过期的订户,继续读原文件而不写*/

} else/* 到临时文件中*/ { fwrite(&subInfo,sizeof(struct subscriberInfo),1,newfp);

} else { }

} } fclose(fp); fp = fopen("SubscriberInfo.txt","w+"); /*清空原文件信息*/ fseek(newfp,0,SEEK_SET); /* 当把数据全部写到Temp后,newfp指向

了文件的末尾,这时候要把指针回退到临时文件的头*/

while(1) { if(fread(&subInfo,sizeof(struct subscriberInfo),1,newfp)==1 )

{ fwrite(&subInfo,sizeof(struct subscriberIn …… 此处隐藏:2330字,全部文档内容请下载后查看。喜欢就下载吧 ……

杂志订阅管理系统源码 C++课程设计.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/fanwen/737030.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150份
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150份
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)