湖北汽车工业学院C语言课程设计商品销售信息管理系统源代码.docx
《湖北汽车工业学院C语言课程设计商品销售信息管理系统源代码.docx》由会员分享,可在线阅读,更多相关《湖北汽车工业学院C语言课程设计商品销售信息管理系统源代码.docx(30页珍藏版)》请在冰豆网上搜索。
湖北汽车工业学院C语言课程设计商品销售信息管理系统源代码
C语言课程设计
商品销售信息管理系统
#include
#include
#include
#include
structproduct//定义商品数据结构
{
intnum;//商品编号
charproductname[20];//商品名称
floatprice;//商品售价
charplace[30];//商品产地
intstorage;//商品库存
structproduct*next;
}*head,*p1,*p2;//定义主结构体数组和备用结构体数组及指针
structtime//定义时间结构体
{
intyear;
intmonth;
intday;
};
structsell//定义销售数据结构
{
intID;//顾客代码
charcustomername[20];//顾客姓名
intnum;//商品编号
intcount;//销售数量
chardate[10];//日期
structsell*next1;
}*head1;//定义头指针head,缓冲指针p1,以及尾指针p2
/*************************函数申明****************************/
voidEnter_productmessage();//导入商品信息
voidCreat();//输入销售记录
voidSearch_num();//按编号查询销售历史
voidSearch_customername();//按顾客姓名查询购买历史
voidPrintf_customername();//显示顾客信息
voidSearch_date();//计算时间段内销售总额
voidSave_product();//保存销售信息
voidSave_customername();//保存顾客信息
voidExit();//退出程序
/***************************主菜单******************************/
intselect()
{
intc;
printf("\t\t************欢迎使用商品销售管理程序**************\n");
printf("\t\tT1123-5班胡军一分耕耘一分收获\n");
printf("\n--------------------------------------------------------------------------------\n");
printf("\n");
printf("\t\t********************************************\n");
printf("\t\t**********欢迎使用商品销售管理系统**********\n");
printf("\t\t****\n");
printf("\t\t**1:
导入商品信息**\n");
printf("\t\t**2:
输入销售记录**\n");
printf("\t\t**3:
按编号查询销售历史**\n");
printf("\t\t**4:
按顾客姓名查询购买历史**\n");
printf("\t\t**5:
计算时段内各销售总额**\n");
printf("\t\t**6:
显示顾客信息**\n");
printf("\t\t**7:
保存销售信息**\n");
printf("\t\t**8:
保存顾客信息**\n");
printf("\t\t**0:
退出**\n");
printf("\t\t********************************************\n");
printf("\n--------------------------------------------------------------------------------\n");
printf("\t\t请输入您的选择(0~8的整数):
");
scanf("%d",&c);
returnc;
}
/********************************主函数***************************/
intmain()
{
for(;;)
{
switch(select())
{
case1:
system("cls");Enter_productmessage();break;
case2:
system("cls");Creat();break;
case3:
system("cls");Search_num();break;
case4:
system("cls");Search_customername();break;
case5:
system("cls");Search_date();break;
case6:
system("cls");Printf_customername();break;
case7:
system("cls");Save_product();break;
case8:
system("cls");Save_customername();break;
case0:
system("cls");Exit();break;
default:
{system("cls");
printf("\n\n\n\n\n\n");
printf("\t\t*******************************************************\n");
printf("\t\t**输入错误!
!
!
请重新输入您的选择(0~8的整数)**\n");
printf("\t\t**请按Enter键返回!
!
!
**\n");
printf("\t\t*******************************************************\n");
getchar();
getchar();
system("cls");
}
}
}
return0;
}
/****************************************************************/
intjudgech(char*a)//判断是否为汉字
{
inti,flag;
for(i=0;a[i]!
='\0';i++)
if(a[i]>=0)
{
flag=0;
break;
}
else
flag=1;
returnflag;
}
intjudgedate(chardate[10])//判断日期是否合法
{
inti,year,month,day,s1=0;//日期格式输入正确则s1=1,否则s1=0
for(i=0;i<10;i++)
if(date[i]=='\0')
{
s1=0;
break;
}
if(date[4]=='-'&&date[7]=='-')
{
if(strlen(date)==10)
{
year=1000*(date[0]-48)+100*(date[1]-48)+10*(date[2]-48)+(date[3]-48);//年月日
month=10*(date[5]-48)+(date[6]-48);
day=10*(date[8]-48)+(date[9]-48);
}
}
if(i==10)
{
if(year%4==0&&month==2&&day>0&&day<=29)s1=1;
elseif(year%4!
=0&&month==2&&day>0&&day<=28)s1=1;
elseif((month==1||month==3||month==5||month==7||month==8||month==10||month==12)&&day>0&&day<=31)s1=1;
elseif((month==4||month==6||month==9||month==11)&&day>0&&day<=30)s1=1;
}
returns1;
}
voidfile()//读入文件操作
{
inti=0,m=0,k=1,j=1,c=1,o=1,v=1;
FILE*fp;
charfilename[30];
printf("请输入读入文件路径:
");
rewind(stdin);
gets(filename);
rewind(stdin);
p1=p2=head=(structproduct*)malloc(sizeof(structproduct));
if((fp=fopen(filename,"r+"))==NULL)
{
printf("\t\t********************************************\n");
printf("\t\t**导入信息文件错误!
请检查文件路径!
!
!
**\n");
printf("\t\t********************************************\n");
getchar();
system("cls");
Enter_productmessage();
}
printf("********************************商品信息***********************************\n");
printf("编号(1-10的整数)名称(汉字)价格(数字)产地(汉字)库存数量\n");
printf("***************************************************************************\n");
while(!
feof(fp))
{
p1=(structproduct*)malloc(sizeof(structproduct));
p2->next=p1;
p1->next=NULL;
p2=p1;
fscanf(fp,"%d%s%f%s%d",&p2->num,p2->productname,&p2->price,p2->place,&p2->storage);
while(k==1)
{
if(p2->num>10||p2->num<=0)
{
printf("\t*******************************************************\n");
printf("\t\t第%d个商品编码!
请重新输入(1-10):
",i+1);
rewind(