logo资料库

产品进销存管理系统(C语言源代码).docx

第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
资料共6页,全文预览结束
int year, month, day; void input_date(){ scanf("%d-%d-%d",&year,&month,&day); } void show_date() { printf("%d-%d-%d\n",year,month,day); } #include #include #include #include typedef struct date { }date; typedef struct product { char product_name[50]; int total, sales; date in_date, out_date; product* next_product; }product, *List_product; typedef struct kind { kind_name[50]; char kind* next_kind; List_product head; }kind, *List_kind; bool Find_kind(List_kind Q, char* name) { kind* pk=Q->next_kind; while(pk!=NULL) { if(strcmp(pk->kind_name, name)==0) return true; pk=pk->next_kind; } return false; } bool Find_product(List_kind Q, char* name) { kind* pk=Q->next_kind; while(pk!=NULL) { product* pp=pk->head; while(pp!=NULL) { } pk=pk->next_kind; } if(strcmp(pp->product_name, name)==0) return true; pp=pp->next_product;
return false; } void display_product(kind* pk, product* pp) { //输出产品信息 puts("产品的信息如下: "); printf("产品所属类名称:%s\n", pk->kind_name); printf("产 品 名 称:%s\n", pp->product_name); printf("产 品 总 量:%d\n", pp->total); printf("产 品 销 售 量: %d\n", pp->sales); printf("产品的进货日期:"); pp->in_date.show_date(); printf("产品的销售日期:"); pp->out_date.show_date(); } void Insert_kind(List_kind &Q) { //添加产品类 printf("请输入添加产品类的数量: "); int n, i; scanf("%d",&n); for(i=1; i<=n; ++i) { printf("输入添加的第%d 个产品类的名称: ", i); List_kind pk=(List_kind)malloc(sizeof(kind)); scanf("%s", pk->kind_name); if(Find_kind(Q, pk->kind_name)) { puts("产品类名已经存在,无需添加!!"); system("pause"); continue; } pk->head=NULL; pk->next_kind=Q->next_kind; Q->next_kind=pk; printf("第%d 个产品类添加成功!\n", i); system("pause"); } } void Insert_product(List_kind &Q) { //添加产品 printf("请输入添加产品的数量: "); int n, i; scanf("%d",&n); for(i=1; i<=n; ++i) { printf("请输入第%d 个产品所属类名:"); char k_name[50]; scanf("%s", k_name); if(!Find_kind(Q, k_name)) {
puts("没有找到这个产品类!"); system("pause"); continue; } printf("请输入第%d 个产品的名称:"); product* pp=(product*)malloc(sizeof(product)); scanf("%s", pp->product_name); if(Find_product(Q, pp->product_name)) { puts("该产品已经存在,不需要添加!"); system("pause"); continue; } pp->sales = 0; printf("请输入产品的进货时期(yyyy-mm-dd):"); pp->in_date.input_date(); printf("请输入产品的进货数量:"); scanf("%d", &pp->total); kind* pk=Q->next_kind; while(pk!=NULL) { if(strcmp(pk->kind_name, k_name)==0) break; pk=pk->next_kind; } pp=pk->head; pk->head=pp; printf("第%d 个产品添加成功!\n", i); system("pause"); } } void Add_total(List_kind &Q) { //增加产品数量 printf("请输入增加的产品名称:"); char p_name[50]; scanf("%s", p_name); if(!Find_kind(Q, p_name)) { puts("没有找到该产品!"); system("pause"); return ; } printf("请输入需要增加的数量:"); int n; scanf("%d", &n); bool ok=false; kind* pk=Q->next_kind; product* pp; while(pk!=NULL) { pp=pk->head; while(pp!=NULL) {
if(strcmp(pp->product_name, p_name)==0) { pp->total += n; ok=true; break; } pp=pp->next_product; } if(ok) break; pk=pk->next_kind; } puts("产品数量增加成功!"); display_product(pk, pp); system("pause"); } void Sale_product(List_kind &Q) { //销售产品 printf("请输入销售的产品名称:"); char p_name[50]; scanf("%s", p_name); if(!Find_kind(Q, p_name)) { puts("没有找到该产品!"); system("pause"); return ; } printf("请输入产品销售的数量:"); int n; scanf("%d", &n); bool ok=false; kind* pk=Q->next_kind; product* pp; while(pk!=NULL) { pp=pk->head; while(pp!=NULL) { if(strcmp(pp->product_name, p_name)==0) { printf("请输入产品的销售时期(yyyy-mm-dd):"); pp->out_date.input_date(); pp->total -= n; pp->sales += n; ok=true; break; } pp=pp->next_product; } if(ok) break; pk=pk->next_kind; } puts("产品数量销售成功!"); display_product(pk, pp);
system("pause"); } void Query_product(List_kind &Q) { //查找产品 printf("请输入查找的产品名称:"); char p_name[50]; scanf("%s", p_name); if(!Find_kind(Q, p_name)) { puts("没有找到该产品!"); system("pause"); return ; } kind* pk=Q->next_kind; product* pp; while(pk!=NULL) { pp=pk->head; while(pp!=NULL) { if(strcmp(pp->product_name, p_name)==0) { display_product(pk, pp); system("pause"); return ; } pp=pp->next_product; } pk=pk->next_kind; } } int menu() { while(true) { system("cls"); puts("\n\n\t\t\t1、添 加 产 品 类"); puts("\n\t\t\t2、添 加 产 品"); puts("\n\t\t\t3、增加产品的数量"); puts("\n\t\t\t4、产 品 销 售"); puts("\n\t\t\t5、查 询 产 品"); puts("\n\t\t\t0、退 出 程 序"); printf("\n\n\n\t 请选择应用菜单: "); int sel; scanf("%d",&sel); if(sel<0||sel>5) { puts("输入有误,请重新输入!"); system("pause"); } else return sel; } } int main() {
List_kind Q=(List_kind)malloc(sizeof(kind)); Q->next_kind=NULL; while(true) { int sel=menu(); if(sel==1) Insert_kind(Q); else if(sel==2) Insert_product(Q); else if(sel==3) Add_total(Q); else if(sel==4) Sale_product(Q); else if(sel==5) Query_product(Q); else return 0; } return 0; }
分享到:
收藏