湖北汽车工业学院C语言课程设计商品销售信息管理系统源代码.docx

上传人:wj 文档编号:5337860 上传时间:2023-05-08 格式:DOCX 页数:20 大小:22.58KB
下载 相关 举报
湖北汽车工业学院C语言课程设计商品销售信息管理系统源代码.docx_第1页
第1页 / 共20页
湖北汽车工业学院C语言课程设计商品销售信息管理系统源代码.docx_第2页
第2页 / 共20页
湖北汽车工业学院C语言课程设计商品销售信息管理系统源代码.docx_第3页
第3页 / 共20页
湖北汽车工业学院C语言课程设计商品销售信息管理系统源代码.docx_第4页
第4页 / 共20页
湖北汽车工业学院C语言课程设计商品销售信息管理系统源代码.docx_第5页
第5页 / 共20页
湖北汽车工业学院C语言课程设计商品销售信息管理系统源代码.docx_第6页
第6页 / 共20页
湖北汽车工业学院C语言课程设计商品销售信息管理系统源代码.docx_第7页
第7页 / 共20页
湖北汽车工业学院C语言课程设计商品销售信息管理系统源代码.docx_第8页
第8页 / 共20页
湖北汽车工业学院C语言课程设计商品销售信息管理系统源代码.docx_第9页
第9页 / 共20页
湖北汽车工业学院C语言课程设计商品销售信息管理系统源代码.docx_第10页
第10页 / 共20页
湖北汽车工业学院C语言课程设计商品销售信息管理系统源代码.docx_第11页
第11页 / 共20页
湖北汽车工业学院C语言课程设计商品销售信息管理系统源代码.docx_第12页
第12页 / 共20页
湖北汽车工业学院C语言课程设计商品销售信息管理系统源代码.docx_第13页
第13页 / 共20页
湖北汽车工业学院C语言课程设计商品销售信息管理系统源代码.docx_第14页
第14页 / 共20页
湖北汽车工业学院C语言课程设计商品销售信息管理系统源代码.docx_第15页
第15页 / 共20页
湖北汽车工业学院C语言课程设计商品销售信息管理系统源代码.docx_第16页
第16页 / 共20页
湖北汽车工业学院C语言课程设计商品销售信息管理系统源代码.docx_第17页
第17页 / 共20页
湖北汽车工业学院C语言课程设计商品销售信息管理系统源代码.docx_第18页
第18页 / 共20页
湖北汽车工业学院C语言课程设计商品销售信息管理系统源代码.docx_第19页
第19页 / 共20页
湖北汽车工业学院C语言课程设计商品销售信息管理系统源代码.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

湖北汽车工业学院C语言课程设计商品销售信息管理系统源代码.docx

《湖北汽车工业学院C语言课程设计商品销售信息管理系统源代码.docx》由会员分享,可在线阅读,更多相关《湖北汽车工业学院C语言课程设计商品销售信息管理系统源代码.docx(20页珍藏版)》请在冰点文库上搜索。

湖北汽车工业学院C语言课程设计商品销售信息管理系统源代码.docx

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(stdin);

scanf("%d",&p2->num);

k=1;

}

elsek=0;

}

while(j==1){

if(judgech(p2->productname)==0)

{

printf("\t\t第%d个商品名称错误!

请重新输入(汉字):

",i+1);

rewind(stdin);

scanf("%s",p2->productname);

j=1;

}

elsej=0;

}

while(o==1){

if(p2->price<=0)

{

printf("\t\t第%d个商品价格错误!

请重新输入价格(>0):

",i+1);

rewind(stdin);

scanf("%f",&p2->price);

o=1;

}

elseo=0;

}

while(c==1){

if(judgech(p2->place)==0)

{

printf("\t\t第%d个商品产地格式错误!

请重新输入(汉字):

",i+1);

rewind(stdin);

scanf("%s",p2->place);

c=0;

}

elsec=0;

}

while(v==1){

if(p2->storage!

=1000)

{

printf("\t*******************************************************\n");

printf("\t\t第%d个商品数量错误!

请输入1000:

",i+1);

rewind(stdin);

scanf("%d",&p2->storage);

v=1;

}

elsev=0;

}

printf("\t%-12d%-15s%-15.2f%-15s%-12d\n",p2->num,p2->productname,p2->price,p2->place,p2->storage);

}

fclose(fp);

}

voidcomp()

{

FILE*fp;

inti=0,n,k=1,m=1,c=1,l=1,d=1;

charfilename[20],a;

printf("\t请输入商品信息保存路径:

");

rewind(stdin);

gets(filename);

p1=p2=head=(structproduct*)malloc(sizeof(structproduct));

if((fp=fopen(filename,"a+"))==NULL)

{

printf("\t\t********************************************\n");

printf("\t\t**不能打开文件!

请检查文件路径!

!

!

**\n");

printf("\t\t********************************************\n");

getchar();

system("cls");

Enter_productmessage();

}

printf("\n\n\n");

printf("\t\t********************************************\n");

printf("\t\t**若输入路径与从文件导入商品信息路径相同!

**\n");

printf("\t\t**并已导入十个商品信息,请不要再导入!

!

!

**\n");

printf("\t\t**注意商品编号不要和已导入的编码重复!

!

!

**\n");

printf("\t\t********************************************\n");

printf("\n\n\n");

getchar();

system("cls");

printf("\t已从文件导入的个数和要输入的个数和不超过十!

!

!

\n\n");

printf("\t请输入要导入的销售记录个数:

");

scanf("%d",&n);

if(n>0)

{

do{

p1=(structproduct*)malloc(sizeof(structproduct));

p2->next=p1;

p1->next=NULL;

p2=p1;

printf("***********************************商品信息*****************************\n");

printf("编号(整数)名称(汉字)价格(数字)产地(汉字)库存数量\n");

scanf("%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商品编码!

请重新输入(1-10):

");

rewind(stdin);

scanf("%d",&p2->num);

k=1;

}

elsek=0;

}

while(m==1){

if(judgech(p2->productname)==0)

{

printf("\t\t商品名称错误!

请重新输入(汉字):

");

rewind(stdin);

scanf("%s",p2->productname);

m=1;

}

elsem=0;

}

while(l==1){

if(p2->price<=0)

{

printf("\t\t商品价格错误!

请重新输入价格(>0):

");

rewind(stdin);

scanf("%f",&p2->price);

l=1;

}

elsel=0;

}

while(c==1){

if(judgech(p2->place)==0)

{

printf("\t\t商品产地格式错误!

请重新输入(汉字):

");

rewind(stdin);

scanf("%s",p2->place);

c=1;

}

elsec=0;

}

while(d==1){

if(p2->storage!

=1000)

{

printf("\t*******************************************************\n");

printf("\t\t商品数量错误!

请输入1000:

");

rewind(stdin);

scanf("%d",&p2->storage);

d=1;

}

elsed=0;

}

p2=head->next;

fprintf(fp,"\n%-6d%-6s%-6.2f%-6s%-6d\n",p2->num,p2->productname,p2->price,p2->place,p2->storage);

printf("\n%-6d%-6s%-6.2f%-6s%-6d\n",p2->num,p2->productname,p2->price,p2->place,p2->storage);

printf("\t\t是否继续输入信息(Y/N)?

\n");

getchar();

a=getchar();

}while(a=='Y'||a=='y');

}

fclose(fp);//关闭文件夹

if(n==0)

{

printf("\t\t不从键盘输入入信息!

!

!

");

getchar();

getchar();

system("cls");

}

fclose(fp);//关闭文件夹

}

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 工作计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2