#include typedef struct /*定义结构体*/ { int id; /*编号*/ char name[10]; /*名称*/ int num; /*数量*/ float price; /*价格*/ }good; /*结构体名称*/ typedef struct { int id; char name[10]; int num; float price; float total; char date[10]; }list; typedef struct { int id; char name[10]; int num; float price; float total; char date[10]; }total; total alllist[500]; /*声明结构体数组变量*/ list salelist[500]; good information[500]; l=0; /*定义全局变量*/ void main() /*主函数*/ { void Buy(good information[],int n); /*函数声明*/ void List(list salelist[],int m); void Display(good information[],int n); void Sort_by_id(good information[],int n); void Savetofile(good information[],int n); void Tongji(total alllist[],int l); void Welcome(); int Sell(good information[],int n); int Add_a_record(good information[],int n); int Delete_a_record(good information[],int n); int Addfromfile(good information[],int n); int Password(int v); int menu_select(); int n=0,v=1; /*定义变量并赋初值*/ Welcome(); /*函数调用*/ Password(v); for(;;) { switch(menu_select()) /*选择判断*/ { case 1: printf(\"\\输入编号,销售商品\\n\"); l=Sell(information,n); /*销售商品*/ break; case 2: printf(\"\\输入编号,进购商品\\n\"); Buy(information,n); /*进购商品*/ printf(\"\\\"); system(\"pause\"); break; case 3: printf(\"\\请输入商品信息:\\n\"); n=Add_a_record(information,n); /*增加一种商品*/ Sort_by_id(information,n); /*按商品编号排序*/ printf(\"\\\"); system(\"pause\"); break; case 4: printf(\"\\按名称查找,删除一种商品\\n\"); n=Delete_a_record(information,n); /*按名称查找,删除一种商品*/ Sort_by_id(information,n); /*按商品编号排序*/ printf(\"\\\"); system(\"pause\"); break; case 5: Tongji(alllist,l); /*某日销售统计*/ printf(\"\\"); system(\"pause\"); break; case 6: Display(information,n); /*显示库存记录*/ break; case 7: system(\"cls\"); Savetofile(information,n); /*保存商品信息*/ break; case 8: system(\"cls\"); n=Addfromfile(information,n); /*添加商品信息*/ break; case 0: printf(\"\\n\"); printf(\"\\\\谢谢使用,再见!\\n\"); printf(\"\\n\"); printf(\"\\\ \"); system(\"pause\"); printf(\"\\n\\\\"); exit(0); /*结束程序*/ } } } void Welcome() /*欢迎界面*/ { system(\"cls\"); printf(\"\\n\"); printf(\"\\n\"); printf(\"\\n\"); printf(\"\\n\"); printf(\"\\n\"); printf(\"\\┌───────────────────────┐\\n\"); printf(\"\\│\\商店销售管理系统\\│\\n\"); printf(\"\\└───────────────────────┘\\n\"); printf(\"\\\\\\Design by:shi jie\\n\"); printf(\"\\n\"); printf(\"\\n\"); printf(\"\\n\"); printf(\"\\n\"); } printf(\"\\n\"); int Password(int v) /*密码函数*/ { int w; printf(\"\\请输入密码:\"); scanf(\"%d\ if(v>2) /*判断输入次数*/ { printf(\"\\n\"); printf(\"\\输入错误次数过多,即将自动退出系统!\\n\"); printf(\"\\\"); system(\"pause\"); printf(\"\\\"); exit(0); /*结束程序*/ } if(w!=3090432002) { v++; /*计算输入次数*/ printf(\"\\密码错误,请重输!\\n\"); Password(v); /*函数的递归调用*/ return(v); } else { system(\"cls\"); /*运行前清屏*/ printf(\"\\n\"); printf(\"\\n\"); printf(\"\\\ 恭喜您,密码正确!\"); printf(\"\\n\"); printf(\"\\n\"); printf(\"\\\\"); system(\"pause\"); system(\"cls\"); /*运行前清屏*/ printf(\"\\n\"); printf(\"\\n\"); printf(\"\\n\"); printf(\"\\\欢迎进入商店销售管理系统!\\n\"); printf(\"\\n\"); printf(\"\\n\"); printf(\"\\\\"); system(\"pause\"); } return(v); } int menu_select() /*菜单函数*/ { char c; do { system(\"cls\"); /*运行前清屏*/ printf(\"\\ ╔══════商店销售管理系统══════╗\\n\"); 单选择*/ printf(\"\\ ║ ║\\n\"); printf(\"\\ ║ 1. 售货 ║\\n\"); printf(\"\\ ║ 2. 进货 ║\\n\"); printf(\"\\ ║ 3. 添加商品 ║\\n\"); printf(\"\\ ║ 4. 删除商品 ║\\n\"); printf(\"\\ ║ 5. 某日销售统计 ║\\n\"); printf(\"\\ ║ 6. 查询库存记录 ║\\n\"); printf(\"\\ ║ 7. 保存当前数据 ║\\n\"); printf(\"\\ ║ 8. 录入已有数据 ║\\n\"); printf(\"\\ ║ 0. 退出程序 ║\\n\"); printf(\"\\ ║ ║\\n\"); printf(\"\\ ╚════════════════════╝\\n\"); printf(\"\\\请选择您要运行的选项按(0-8):\"); c=getchar(); /*读入选择*/ } while(c<'0'||c>'8'); return(c-'0'); /*返回选择*/ } int Sell(good information[],int n) /*销售函数*/ { int m=0,e=0,u; char sign,d[10],x[10]; printf(\"\\输入日期(****.**.**):\"); scanf(\"%s\ while(sign!='n'&&sign!='N') /*菜 { int i=0,j,k; printf(\"\\请输入商品编号:\"); scanf(\"%d\ while(information[i].id!=k&&i if(information[i].num==0) /*判断库存数量是否为零*/ { printf(\"\\该商品库存为零,请选择其他商品!\\n\"); continue; /*跳出本次循环*/ } else { printf(\"\\请输入销售数量(不得大于%d!):\do { scanf(\"%d\ if(information[i].num while(u==1); information[i].num-=j; /*数量减少*/ salelist[m].id=information[i].id; /*交换信息*/ strcpy(salelist[m].name,information[i].name); salelist[m].num=j; salelist[m].price=information[i].price; salelist[m].total=salelist[m].price*j; strcpy(salelist[m].date,d); alllist[l+m].id=salelist[m].id; strcpy(alllist[l+m].name,salelist[m].name); alllist[l+m].num=salelist[m].num; } } } alllist[l+m].price=salelist[m].price; alllist[l+m].total=salelist[m].total; strcpy(alllist[l+m].date,salelist[m].date); m++; gets(x); printf(\"\\销售成功!是否继续输入?(Y/N)\"); scanf(\"\\%c\ l+=m; /*计算销售信息条数*/ List(salelist,m); /*调用单次销售清单函数*/ return(l); void List(list salelist[],int m) /*单次销售清单函数*/ { int i; float sum=0; /*总价计算*/ system(\"cls\"); printf(\"\销售清单:\\n\"); printf(\"\┌─────┬─────┬─────┬─────┬─────┐\\n\"); printf(\"\│ 编号 │ 名称 │ 数量 │ 单价 │ 总价 │\\n\"); printf(\"\└─────┴─────┴─────┴─────┴─────┘\\n\"); printf(\"\--------------------------------------------------------------\\n\"); for(i=1;i system(\"pause\"); return; void Buy(good information[],int n) /*进购函数*/ { int i=0,j,k; printf(\"\\请输入商品编号:\"); scanf(\"%d\ while(information[i].id!=k&&i printf(\"\\请输入进货数量:\"); scanf(\"%d\ information[i].num+=j; printf(\"\\进货成功!\\n\"); } int Add_a_record(good information[],int n) /*添加一种商品*/ { char x[100]; /*清除多余输入所用*/ printf(\"\\编号:\"); /*输入商品信息*/ scanf(\"\\%d\ printf(\"\\名称:\"); scanf(\"\\%s\printf(\"\\数量:\"); scanf(\"\\%d\printf(\"\\价格:\"); scanf(\"\\%f\gets(x); n++; printf(\"\\添加商品成功!\\n\"); return(n); /*返回成功信息*/ } int Delete_a_record(good information[],int n) /*输入商品名称,删除该商品*/ { char s[20]; int i=0,j; printf(\"\\输入商品名称:\"); scanf(\"%s\ while(strcmp(information[i].name,s)!=0&&i void Sort_by_id(good information[],int n) /*按商品编号排序函数*/ { int i,j,p; float q; char t[20]; for(i=0;i void Tongji(total alllist[],int l) /*某日销售统计函数*/ { int i,j=0; float sum=0; char d[10]; system(\"cls\"); printf(\"\请输入日期(****.**.**):\"); scanf(\"%s\ while(strcmp(alllist[j].date,d)!=0&&j printf(\"已找到相关记录,\"); system(\"pause\"); system(\"cls\"); printf(\"\以下是%10s销售统计:\\n\ printf(\"\┌─────┬─────┬─────┬─────┬─────┐\\n\"); printf(\"\│ 编号 │ 名称 │ 数量 │ 单价 │ 总价 │\\n\"); printf(\"\└─────┴─────┴─────┴─────┴─────┘\\n\"); printf(\"\--------------------------------------------------------------\\n\"); for(i=1;i continue; /*跳出当此循环*/ } printf(\"\--------------------------------------------------------------\\n\"); printf(\"\合计:%-8.2f\\\\\日期:%-10s\\n\ printf(\"\\n\"); return; } void Display(good information[],int n) /*显示库存函数*/ { int i; system(\"cls\"); printf(\"\ 库存记录:\\n\"); printf(\"\ ┌──────┬──────┬──────┬──────┐\\n\"); printf(\"\ │ 编号 │ 名称 │ 数量 │ 价格 │\\n\"); printf(\"\ └──────┴──────┴──────┴──────┘\\n\"); printf(\"\ ----------------------------------------------------------\\n\"); for(i=1;i printf(\"\ ----------------------------------------------------------\\n\"); /*格式*/ printf(\"\ \"); system(\"pause\"); printf(\"\ ----------------------------------------------------------\\n\"); } } printf(\"\ ----------------------------------------------------------\\n\"); printf(\"\ \"); system(\"pause\"); void Savetofile(good information[],int n) /*将记录写入文件函数*/ { int i=0; FILE *fp; /*定义文件指针*/ char filename[50]; /*定义文件名*/ printf(\"输入文件名:\"); scanf(\"%s\ /*输入文件名*/ if((fp=fopen(filename,\"w+\"))==NULL) /*打开文件*/ { printf(\"无法打开该文件!\\n\"); system(\"pause\"); return; } while(i i++; } fclose(fp); /*关闭文件*/ printf(\"保存成功!\\n\"); /*返回成功信息*/ system(\"pause\"); int Addfromfile(good information[],int n) /*从文件中读入数据函数*/ { int i=0; } FILE *fp; /*定义文件指针*/ char filename[50]; /*定义文件名*/ printf(\"输入文件名:\"); scanf(\"%s\ /*输入文件名*/ if((fp=fopen(filename,\"r\"))==NULL) /*打开文件*/ { printf(\"无法打开该文件\\n\"); /*打开失败信息*/ system(\"pause\"); } while(!feof(fp)) /*循环读入数据*/ { fscanf(fp,\"%10d%10s%10d%10f\\n\ &information[i].num,&information[i].price); i++; } n=i; fclose(fp); /*关闭文件*/ printf(\"录入成功!\\n\"); printf(\"已录入%d条记录!\\n\system(\"pause\"); return(n); /*返回成功信息*/
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- 99spj.com 版权所有 湘ICP备2022005869号-5
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务