赞
踩
《C语言商品库存管理系统》由会员分享,可在线阅读,更多相关《C语言商品库存管理系统(31页珍藏版)》请在人人文库网上搜索。
1、建议使用VS打开运行#pragma once#includetypedef struct information /商品信息 char number20; /编号 char sname20; /名称 float price; /价格 int count; /数量char dath20; /生产日期struct information *next;inf;void menu(inf *head); /显示主菜单 inf *create(); /创建链表 void Input(inf *head); /输入商品信息 void tianjia(inf *head); /添加商品信息 void out。
2、put(inf *head); /输出商品信息 void chaxun(inf *head); /查询商品信息void chaxun_number(inf *head); /按编号查询 void chaxun_sname(inf *head); /按名称查询 void xiugai(inf *head); /修改商品信息 void shanchu(inf *head); /删除商品信息 void write_file(inf *head); /保存商品信息到文件 void paixu(inf *head);inf *Read__file(); /读取文件内商品信息 void freeh(inf。
3、 *head); /退出程序 #define _CRT_SECURE_NO_WARNINGS#include #include #include #include #include #include #pragma comment(lib, WINMM.lib)#include标头.hvoid menu(inf *head) /显示菜单 PlaySound(TEXT(sounds背景.wav), NULL,SND_FILENAME | SND_ASYNC | SND_LOOP);system(color 3B);printf(tt*n);printf(tttt欢迎进入商品库存管理系统n);pr。
4、intf(tt*n);printf(n);printf(tt|=|n);printf(tt|______________________基本信息______________________|n);printf(tt| 1.商品信息录入 | 2.添加商品信息 |n);printf(tt| 3.查找商品信息 | 4.修改商品信息 |n);printf(tt| 5.删除商品信息 | 6.保存文件信息 |n);printf(tt| 7.读取文件信息 | 8.显示商品信息 |n);printf(tt| 9.按价格从高到低进行排序 |n);printf(tt|_________________0.释放链表。
5、。退出___________________|);printf(nttt请输入你的选项(0-8):n);printf(n);printf(t请输入你的选择: n);inf *create() /创建链表 inf *p;p = (inf *)malloc(sizeof(struct information);if (p = NULL)printf(链表创建失败.n);exit(0);p-next = NULL;return (p);void Input(inf *head) /录入货物信息 inf *p;int i,n;printf(请输入:你想录入多少个商品信息: n );scanf(%d, 。
6、&n);for (i = 1; i number);printf(名称:);scanf(%s, p-sname);printf(价格:);scanf(%f, &p-price);printf(数量:);scanf(%d, &p-count);printf(生产日期:);scanf(%s,p-dath);p-next = NULL;while (head-next != NULL)head = head-next;head-next = p;void tianjia( inf *head) /添加货物信息 inf *p;int i,n;printf(请输入:你想添加多少个商品信息: n);sca。
7、nf(%d, &n);for (i = 1; i number);printf(名称:);scanf(%s, p-sname);printf(价格:);scanf(%f, &p-price);printf(数量:);scanf(%d, &p-count);printf(生产日期:);scanf(%s,p-dath);p-next = NULL;while (head-next != NULL)head = head-next;head-next = p;void output(inf *head) /输出货物信息 int n = 0;inf *p;p = head-next;if (p = N。
8、ULL)printf(链表为空,请先输入信息!n);return;while (p != NULL)n+;printf(商品信息:编号: %s,名称:%s,价格:%.2f 数量:%d 生产日期:%sn, p-number, p-sname, p-price, p-count,p-dath);p = p-next;printf(商品总数为:%d n, n);void chaxun(inf *head) /查询货物信息 函数 int a;printf(tt查询信息n);while (1)printf(t 1.按编号查询n);printf(t 2.按名称查询n);printf(请输入你的选择:n);。
9、scanf(%d, &a);if (a = 1)chaxun_number(head);/调用按编号查询的函数 break;if (a = 2)chaxun_sname(head);/调用按名称查询的函数 break;if (a != 1 & a != 2)printf(输入错误!n);break;getchar();void chaxun_number(inf *head) /按编号查询 char num20;inf *p;int i = -1;p = head;printf(请输入你要查询的商品的编号:);scanf(%s, num);while (p-next != NULL)p = p。
10、-next;if (strcmp(p-number, num) = 0)i = 1;printf(已找到该商品信息n);printf(货物信息:编号:%s,名称:%s,价格:%.2f.数量:%d,生产日期:%sn, p-number, p-sname, p-price, p-count,p-dath);if (inext != NULL)p = p-next;if (strcmp(p-sname, a) = 0)i = 1;printf(已找到该商品信息n);printf(商品信息:编号:%s,名称:%s,价格:%.2f.数量:%d,生产日期n, p-number, p-sname, p-pr。
11、ice, p-count,p-dath);if (inext != NULL)p = p-next;if (strcmp(p-number, no) = 0)i = 1;printf(已找到该商品n请输入新的的编号,名称,价格,数量:生产日期:n);printf(编号:);scanf(%s, p-number);printf(名称:);scanf(%s, p-sname);printf(价格:);scanf(%f, &p-price);printf(数量:);scanf(%d, &p-count);printf(生产日期:);scanf(%s,p-dath);if (inext;if (p =。
12、 NULL)printf(没有商品信息,请先保存商品信息!n);printf(tt 请输入要修改的内容n);printf(tt 1.修改编号 2.修改名称n);printf(tt 3.修改价格 4.修改数量n);printf(tt 5.修改生产日期n);printf(请选择 n);scanf(%d, &b);switch (b)case 1:printf(请输入原商品编号:n);scanf(%s, &number2);while (p != NULL)if (strcmp(p-number, number2) = 0)printf(已找到该商品n请输入新的编号:n);scanf(%s, &p-。
13、number);p = p-next;printf(该商品信息已修改成功。n);break;case 2:printf(请输入原名称:n);scanf(%s, &name2);while (p != NULL)if (strcmp(p-sname, name2) = 0)printf(请输入新的名称:n);scanf(%s, &p-sname);break;p = p-next;printf(该商品信息已修改成功。n);break;case 3:printf(请输入该商品编号:);scanf(%s,&number2);printf(请输入原价格:n);scanf(%f, &price2);wh。
14、ile (p != NULL)if (strcmp(p-number, number2) = 0&price2=p-price)printf(请输入新的价格:n);scanf(%f, &p-price);break;p = p-next;printf(该商品信息已修改成功。n);break;case 4:printf(请输入该商品编号:);scanf(%s,&number2);printf(请输入被修改的数量:n);scanf(%d, &count2);while (p != NULL)if (count2 = p-count&strcmp(p-number, number2) = 0)pri。
15、ntf(请输入新的数量:n);scanf(%d, &p-count);break;p = p-next;printf(该商品信息已修改成功。n);break;default:printf(修改内容有错误!n);void shanchu(inf *head) /删除货物信息 int a;printf(tt 1.按编号删除 2.按名称删除n);printf(tt请输入选项:n);scanf(%d, &a);switch (a)case 1:char number20;int i = -1;inf *p, *h;p = head;printf(请输入你要删除的商品的编号:n);scanf(%s, n。
16、umber);while (p-next != NULL)if (strcmp(number, p-next-number) = 0)i = 1;h = p-next;p-next = p-next-next;free(h);printf(已删除该商品信息。n);break;p = p-next;if (inext != NULL)if (strcmp(name, p-next-sname) = 0)i = 1;h = p-next;p-next = p-next-next;free(h);printf(已删除该商品信息。n);break;p = p-next;if (inext != NUL。
17、L)p = p-next;fwrite(p, sizeof(struct information), 1, fp);fclose(fp);inf *Read__file() /读取文件内的货物信息 inf *p, *d, *head;FILE *fp;head = (inf *)malloc(sizeof(struct information);p = (inf *)malloc(sizeof(struct information);if (fp = fopen(商品信息.txt, rb) = NULL)printf(不能打开文件!n);exit(0);if (fread(head, size。
18、of(struct information), 1, fp)d = head;while (fread(p, sizeof(struct information), 1, fp)d-next = p;d = p;p = (inf *)malloc(sizeof(struct information);d -next = NULL;fclose(fp);return (head);void freeh(inf *head) /释放空间 退出程序 inf *p;p = (inf *)malloc(sizeof(struct information);p = head;while (head-nex。
19、t != NULL)head = head-next;free(p);p = head;free(p);void paixu(inf *head)inf *p=head,*q=NULL,*t=NULL,*subhead=NULL;int i, j, count = 0;while (p-next != NULL)count+;p = p-next;for (i = 0; i next;q = p-next;for (j = 0; j price price)subhead-next = p-next;p-next = q-next;q-next = p;t= p;p = q;q = t;sub。
20、head = subhead-next;p = p-next;q = q-next;output(head);int main()inf *head;head = (inf*)malloc(sizeof(struct information);head = create();while (1)menu(head);int h;scanf(%d, &h);switch (h) /功能选择 case 1:Input( head);Sleep(500);break;case 2:tianjia( head);Sleep(1000);break;case 3:chaxun(head);break;ca。
21、se 4:xiugai(head);write_file(head);break;case 5:shanchu(head);write_file(head);output(head);break;case 6:write_file(head);printf(t已经成功保存信息!tn);Sleep(1000);break;case 7:head-next = Read__file();output(head);Sleep(1000);break;case 8:output(head);Sleep(1000);break;case 9:paixu(head);Sleep(1000);break;case 0:freeh(head);printf(t-已经退出程序-tn);exit(0);default:printf(输入错误n);break。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。