#include<stdio.h>
#include<string.h>
#include<stdlib.h>
//-------登录设置
void login()
{
int number=0;
char username[20],password[20];//定义用户名和密码
while(number<3)
{
system("cls");//清屏
printf("\n\n");
printf("\t\t*******************************\t\t\n");
printf("\t\t 用户登录 \t\t\n");
printf("\t\t*******************************\t\t\n");
printf("\n\n");
printf("\t\t\t用户名称:");
scanf("%s",username);
printf("\n\n");
printf("\t\t\t用户密码:");
scanf("%s",password);
if(strcmp(username,"qt")==0&&strcmp(password,"qt")==0)
{
beforeMianMenu();//strcmp字符串比较函数
break;
}
else if(strcmp(username,"ht")==0&&strcmp(password,"ht")==0)
{
backMianMenu();//strcmp字符串比较函数
break;
}
else
{
system("cls");//清屏
printf("请输入正确选项!按任意键返回:");
getchar();
getchar();//按任意键返回
number++;
}
}
}
// ----后台页面设置
void backMianMeun()
{
int choice;//选择功能项
char con;//是否继续
while(1)
{
//实现循环选择;程序主页面
system("cls");
printf("\n\n");
printf("\t\t*******************************\t\t\n");
printf("\t\t 后台主页面 \t\t\n");
printf("\t\t*******************************\t\t\n");
printf("\n\n");
printf("\t\t\t1.商品维护:\n\n");
printf("\t\t\t2.会员管理:\n\n");
printf("\t\t\t3.库存提示:\n\n");
printf("\t\t\t\t0.退出系统:\n\n");
printf("\t\t请输入你的选择:\n\n");
scanf("%d",&choice);
switch(choice)
{
case 1: goodsAdd();break;
case 2: memberManage();break;
case 3: stockWarn();break;
case 0: printf("\t\t确认要退出吗(y/n)");
scanf("%c",&con);
if(con=='Y'||con=='N')
exit(0);//退出系统
break;
default: system("cls");//清屏
printf("请输入正确选项!按任意键返回:");
getchar();
getchar();//按任意键返回
}
}
}
//---------前台设置
void beforeMianMeun()
{
int choice;//选择功能项
char con;//是否继续
while(1)
{
//实现循环选择;程序主页面
system("cls");
printf("\n\n");
printf("\t\t*******************************\t\t\n");
printf("\t\t 前台主页面 \t\t\n");
printf("\t\t*******************************\t\t\n");
printf("\n\n");
printf("\t\t\t1.商品销售:\n\n");
printf("\t\t\t2.库存预示:\n\n");
printf("\t\t\t\t0.退出系统:\n\n");
printf("\t\t请输入你的选择:\n\n");
scanf("%d",&choice);
switch(choice)
{
case 1: goodsSale();break;
case 2: stockWarn();break;
case 0: printf("\t\t确认要退出吗(y/n)");
scanf("%c",&con);
if(con=='Y'||con=='N')
exit(0);//退出系统
break;
default: system("cls");//清屏
printf("请输入正确选项!按任意键返回:");
getchar();
getchar();//按任意键返回
}
}
}
// ---会员设置
void memberManage()
{
int choice;
char con;
while(1)
{
system("cls");
printf("\n\n");
printf("\t\t*******************************\t\t\n");
printf("\t\t 会员管理 \t\t\n");
printf("\t\t*******************************\t\t\n");
printf("\n\n");
printf("\t\t\n1.会员添加\n\n");
printf("\t\t\n2.会员查询\n\n");
printf("\t\t\n3.会员统计\n\n");
printf("\t\t\n4.删除会员\n\n");
printf("\t\t\n0.返回主页面:");
printf("请输入你的选择:");
scanf("%d",&choice);
switch(choice)
{
case 1:memberdsAdd();break;//会员添加
case 2:memberQuery();break;//会员查询加
case 3:memberStat();break;//会员统计
case 4:memberDeleteMenu();break;//删除会员
case 0:
//返回主页面
printf("\t\t确认要返回主页面吗?(Y/N):");
scanf("%c",&con);
if(con=='Y'||con=='y')
{
beforeMianMenu();
}
break;
default:
system("cls");
printf("请输入正确选择!(按任意键返回会员管理)");
getchar();getchar();//任意键返回
}
}
}
void memberQurey()
{
int choice;
char con;
int number;
while(1)
{
system("cls");
printf("\n\n");
printf("\t\t*******************************\t\t\n");
printf("\t\t 会员查询 \t\t\n");
printf("\t\t*******************************\t\t\n");
printf("\n\n");
printf("\t\t按会员编号查询:\t\n\n");
printf("\t\t按身份证号查询:\t\n\n");
printf("\t\t按会员名称查询:\t\n\n");
printf("\t\t\n0.返回主页面:");
printf("请输入你的选择:");
scanf("%d",&choice);
switch(choice)
{
case 1:
printf("请输入会员编号:");
scanf("%d",&number);
numberQuery(number,0);
break;
case 2:
identityQuery();
break;
case 3:
nameQuery();
break;
case 0:
printf("\t\t确认要返回主页面吗?(Y/N):");
scanf("%c",&con);
if(con=='Y'||con=='y')
{
beforeMianMenu();
}
break;
default:
system("cls");
printf("请输入正确选择!(按任意键返回会员管理)");
getchar();getchar();//任意键返回
}
}
}
//-----------会员统计
void memberStatMenu()
{
int choice;
char con;
while(1)//循环选择
{
system("cls");
printf("\n\n");
printf("\t\t*******************************\t\t\n");
printf("\t\t 会员统计 \t\t\n");
printf("\t\t*******************************\t\t\n");
printf("\n\n");
printf("\t\t\n1.按会员编号降序排列\n\n");
printf("\t\t\n2.按会员编号升序排列\n\n");
printf("\t\t\n0.返回会员管理:");
scanf("%d",&choice);
switch(choice)
{
case 1:
memberStat(1);//降序
break;
case 2:
memberStat(2);//升序
break;
case 0:
{//返回主页面
printf("\t\t确认要返回吗?(Y/N):");
scanf("%c",&con);
if(con=='Y'||con=='y')
return;
}
break;
default:
system("cls");
printf("请输入正确选择!(按任意键返回)");
getchar();getchar();//任意键返回
}
}
}
//----会员添加
void memberAdd()
{
struct member hy;
FILE *fp,*bhfp;
int bh=1;
char con;
//打开一个二进制文件夹,添加数据
if((fp=fopen("data\\member.dat","ab"))==NULL)
{
fp=fopen("data\\member.dat","wb");
return;
}
while(1)
{
if((bhfp=fopen("data\\memberNumber.dat","r"))==NULL)
{
printf("不能打开文件夹,可按任意键新建\n");
bhfp=fopen("data\\memberNumber.dat","wb");
putw(1,bhfp);
fclose(bhfp);
getchar();getchar();
memberManage();
}
else
{
bh=getw(bhfp);
}
hy.memberNumber=bh;
fclose(bhfp);
system("cls");
printf("\n\n");
printf("\t\t*******************************\t\t\n");
printf("\t\t 会员添加 \t\t\n");
printf("\t\t*******************************\t\t\n");
printf("\n\n");
//会员信息录入
printf("\t\t会员的编号:\t%d\n",bh);
printf("\t\t请输入会员姓名:\n");
scanf("%s",&hy.memberName);
printf("\t\t请输入会员身份证号:\n");
scanf("%s",&hy.identity);
printf("\t\t请确认添加会员的信息:(Y/N)\n");
scanf("%c",&con);
if(con=='Y'||con=='y')
{
if((fwrite(&hy,sizeof(struct number),1,fp)!=1)
{
printf("\n\n添加失败!\n");
}
else
{
printf("\n\n添加成功!\n");
//保存会员
if((bhfp=fopen("data\\memberNumber.dat","w"))==NULL)
{
printf("不能打开文件夹\n");
putw(1,bhfp);
return;
}
//会员编号递增
putw(bh+1,bhfp);
fclose(bhfp);
getchar();getchar();
}
}
//返回处理
printf("\t\t确认要返回吗?(Y/N):");
scanf("%c",&con);
if(con=='N'||con=='n')
{
break;
}
}
fclose(fp);
}
//---------会员编号查询
int numberQuery(int number)
{
struct member hy;
FILE *fp;
if((fp=fopen("data\\member.dat","rb"))==NULL)
{
printf("不能打开文件夹!\n");
return 0;
}
while(!feof(fp))
{
fread(&hy,sizeof(struct member),1,fp);
if(hy.memberNumber==number)
{
system("cls");
printf("\n\n");
printf("\t\t*******************************\t\t\n");
printf("\t\t 会员查询结果: \t\t\n");
printf("\t\t*******************************\t\t\n");
printf("\n\n");
printf("\t\t按会员编号查询:\t%d\n\n",hy.memberNumber);
printf("\t\t按会员身份证号查询\t%d\n\n",hy.identity);
printf("\t\t按会员名称查询:\t%s\n\n",hy.memberName);
printf("\t\t按任意键返回会员查询页面");
getchar();getchar();
fclose(fp);
return 1;
}
}
system("cls");
printf("\n\n无此会员编号");
printf("\t\t按任意键返回会员查询页面");
getchar();getchar();
fclose(fp);
return 0;
}
//----按会员姓名查询
void nameQuery()
{
struct member hy;
int found=0;//0--未找到,1--找到。
char memberName[20];
FILE *fp;
if((fp=fopen("data\\member.dat","rb"))==NULL)
{
printf("文件夹不能打开!\n");
return;
}
pirntf("请输入会员姓名");
scanf("%s",&memberName);
while(!feof(fp))
{
fread(&hy,sizeof(struct member),1,fp);
if(struct(hy.memberName,memberName)==0)
{
system("cls");
found=1;
printf("\n\n");
printf("\n\n");
printf("\t\t*******************************\t\t\n");
printf("\t\t 查询结果如下: \t\t\n");
printf("\t\t*******************************\t\t\n");
printf("\n\n");
printf("\t\t会员编号:\t%d\n\n",hy.memberNumber);
printf("\t\t会员身份证号\t%d\n\n",hy.identity);
printf("\t\t会员名称:\t%s\n\n",hy.memberName);
printf("\t\t按任意键返回会员查询页面");
getchar();getchar();
break;
}
if(found==0)
{
system("cls");
printf("\n\n无此会员");
printf("\t\t按任意键继续查询");
getchar();getchar();
}
fclose(fp);
}
//---按身份证号查询
void identityQuery()
{
struct member hy;
int found=0;//0--未找到,1--找到。
char identity[19];
FILE *fp;
if((fp=fopen("data\\member.dat","rb"))==NULL)
{
printf("文件夹不能打开!\n");
return;
}
pirntf("请输入会员身份证号");
scanf("%s",&identity);
while(!feof(fp))
{
fread(&hy,sizeof(struct member),1,fp);
if(struct(hy.identity,identity)==0)
{
system("cls");
found=1;
printf("\n\n");
printf("\n\n");
printf("\t\t*******************************\t\t\n");
printf("\t\t 查询结果如下: \t\t\n");
printf("\t\t*******************************\t\t\n");
printf("\n\n");
printf("\t\t会员编号:\t%d\n\n",hy.memberNumber);
printf("\t\t会员身份证号\t%d\n\n",hy.identity);
printf("\t\t会员名称:\t%s\n\n",hy.memberName);
printf("\t\t按任意键返回会员查询页面");
getchar();getchar();
break;
}
if(found==0)
{
system("cls");
printf("\n\n无此会员");
printf("\t\t按任意键继续查询");
getchar();getchar();
}
fclose(fp);
}
/* ---会员统计-----*/
int memberStat(int i)
{
struct member hy;
struct member memberinfo[1000];
int countNum=0;
int k,j;
FILE *fp;
if((fp=fopen("data\\member.dat","rb"))==NULL)
{
printf("不能打开文件夹!\n");
return 0;
}
if(!feof(fp))
{
fread(&hy,sizeof(struct member),1,fp);
}
while(!feof(fp))
{
memberinfo[countNum]=hy;
countNum++;
fread(&hy,sizeof(struct member),1,fp);
}
if(i==1)
{
for(j=0;j<countNum;j++)