您当前的位置:首页 > 发表论文>论文发表

在线杂志订阅管理系统

2023-12-06 04:55 来源:学术参考网 作者:未知

在线杂志订阅管理系统

因为订户信息是直接保存到文件的,所以不必去考虑连接数据库的问题,至于界面,可以使用单文档界面,在此基础上使用对话框界面实现各种界面,比如查询订户信息时,可以使用对话框来显示查询结果。

杂志订阅管理的c语言

#include<stdio.h>
#include "string.h"
#include "stdlib.h"
#include "conio.h"
#define max 20
struct magazine
{
char name[11];
char sex[6];
char addr[11];
char phone_number[12];
char unit_price[5];
char amount[4];
char time_limit[11];
}
order[max];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 main()
{
FILE *fp;
fp=fopen("record.txt","w");/*在C:\Documents and Settings\Administrator里建立一个"record.txt"记事本*/
fclose(fp);
menu();
}void menu()
{
// void clrscr();
int w,n;
do
{
//clrscr();
printf("\n");
printf("\t\t* * * * * * * * * * * * * * * * * * * * * * * * *\n");
printf("\t\t \n");
printf("\t\t \n");
printf("\t\t 欢迎来到杂志订阅系统! \n");
printf("\t\t \n");
printf("\t\t \n");
printf("\t\t* * * * * * * * * * * * * * * * * * * * * * * * *\n");
printf("\n\n\t\t *********************************************\n\n");
printf("\t\t 1:add_new_subscriber\n");
printf("\t\t 2:browse\n");
printf("\t\t 3:statistic\n");
printf("\t\t 4:exit\n\n");
printf("\t\t *********************************************\n\n");
printf(" Choice your number(1-4):[ ]\b\b");
scanf("%d",&n);
if(n<1||n>4) w=1;
else w=0;
}
while (w==1);
/***************选择功能****************/
switch(n)
{
case 1:add();break; /*增加新订户记录*/
case 2:search();break; /*查找过期的订户记录并删除*/
case 3:statistic();break; /*统计*/
case 4:break; /*退出*/
}
}
/*********************添加模块************************/
void add()
{
int t,i,m;
system("cls");
t=load_record();
printf("您需要添加多少用户的信息?\n");
printf("输入号码:[ ]\b\b\b");
scanf("%d",&m);
for(i=0;i<m;i++)
{
printf("\n输入 %dth subscriber record.\n",i+1);
input(t+i); /*调用输入函数*/
}
save(t+m); /*调用保存函数 保存t+m组数据*/
system("cls") ; /*******清屏*********/
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[i].time_limit);
}
/**************************统计模块****************************/
void statistic()
{
int t;
t=load_record();
printf("订阅者的数量[%d]\b\b\b",t);
printf_n(t);
printf("\n\n\n按任意键返回...\n\n");
getch();
menu();
}void printf_one(int i) /*显示一个仪器记录的函数*/
{
printf("%-10s %-5s %-10s %-11s %-4s %-3s %-10s\n\n",order[i].name,order[i].sex,order[i].addr,order[i].phone_number,order[i].unit_price,order[i].amount,&order[i].time_limit);
}void printf_n(int n) /*显示n个仪器记录的函数*/
{
int j;
system("cls"); /**********清屏************/
printf("姓名 性别 地址 电话号码 价格 数量 时间期限\n\n");
for(j=0;j<n;j++)
{
if((j+1)==0) /*控制显示,每屏显示10行*/
{
printf("\n\n按任意键继续 ...");
getch();
puts("\n\n");
}
printf_one(j); /*调用显示一个仪器记录的函数*/
}
}
/***************查询模块****************/
void search()
{
FILE *fp;
char date[11],str[2];
int t,i,sum=0;
t=load_record();
system("cls");
printf("请输入日期:[ ]\b\b\b\b\b\b\b\b\b\b\b");
scanf("%s",date);
printf("\n");
if((fp=fopen("record.txt","w"))==NULL)/*以只写方式打开*/
{
printf("\n无法打开文件\n");
exit(0);
}
system("cls");
printf("\n");
for(i=0;i<t;i++)
{
if(strcmp(order[i].time_limit,date)<0)
{
sum++;

printf("\n");
printf_one(i); /**********把符合条件的记录显示出来*********/
printf("\n\n记录已过期!");
printf("\n\n你想要删除此条信息吗?('Y'or'N'):[ ]\b\b");
scanf("%s",str);;
if(strcmp(str,"Y")==0||strcmp(str,"y")==0)
continue;
}
fwrite(&order[i],sizeof(struct magazine),1,fp);
}
fclose(fp);
if(sum==0)
{
printf("***************************************************\n\n");
printf("很遗憾! 无法找到您想要的条件\n\n");
printf("***************************************************\n\n");
}
printf("\n\n\n按任意键返回前一步...\n");
getch();
menu();
}/****************************公共函数************************************/
int load_record()/***加载仪器信息并计算记录仪器个数的函数***/
{
FILE *fp;
int i;
if((fp=fopen("record.txt","r"))==NULL)/*以只读方式打开*/
{
printf("\n无法打开文件\n");
exit(0);
}
for(i=0;!feof(fp);i++)/*从文件中读入数据并保存在结构体数组中*/
fread(&order[i],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("\n无法打开文件\n");
exit(0);
}
for(i=0;i<n;i++)
{
fwrite(&order[i],sizeof(struct magazine),1,fp);

}
fclose(fp);
}

如何用VB做报刊杂志订阅系统?用VB做,具体的说下大致思路!谢谢!

你要用VB+数据库来做的吧?系统虽然不是很难,不过相当繁杂,就是主界面的菜单什么的,用VB做界面来方便客户下订单,然后将数据登记到数据库,管理员查询订阅情况,增加报刊种类,数量等等。。。附加的如查询什么的自己可以随便想想做一些。。。如报刊介绍啊价格啊什么的。。。数据库里的表你可以看着建,只要不是太复杂的系统应该可以很容易弄的。VB连接数据库用ADO控件。打这么多,累死了~

C语言课程设计题目:杂志订阅管理软件

你呀,干点正事吧,整天到晚的啊,你整天到晚的混得一点正型也没有,你看看人家,开车的买大楼房,你看看你,你一无所有,你脚下的地在抖,你身边的水在流。

相关文章
学术参考网 · 手机版
https://m.lw881.com/
首页