C语言程序设计实验个人物品管理程序_第1页
C语言程序设计实验个人物品管理程序_第2页
C语言程序设计实验个人物品管理程序_第3页
C语言程序设计实验个人物品管理程序_第4页
C语言程序设计实验个人物品管理程序_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、程序设计与算法综合实习I个人物品管理程序题目班级:学生学号: 学生姓名: 指导老师:欢迎下载36提交时间:2015.05.16成绩:评分项目得分功能完整性(40分)界面美观性(10分)设计合理性及创新性(20分)答辩表现(20分)报告撰写质量(10分)华南农业大学信息学院个人物品管理程序1.问题描述1.1问题描述 设计一个个人物品管理程序,该程序具有以下功能:(1 )用户登录:输入用户名和密码,密码正确才允许登录。(2)录入个人物品信息;(3)给定物品名或编号,修改该个人物品信息;(4)给定物品名或编号,删除该个人物品信息;(5)根据输入的物品名或编号,显示查找到的相应物品信息;(6 )根据输

2、入的分类,显示该分类的所有物品信息;(7) 根据输入的时间,查询过期或3月内将过期的物品信息;(8)统计功能:统计各分类的物品。(9) 新功能:导出个人物品信息至Excel表格。1.2系统功能分析(1)登录功能:这是一个个人物品管理程序,具有很大的开放性,已经注册的用户可以 直接输入密码登陆系统,没有注册的用户可以根据自己的需要注册账户,并输入个人物品 信息。(2)录入个人物品信息:这个系统设置录入的物品信息主要包括物品的名称、编号、价 格、分类、生产日期和过期日期。(3)给定物品名或编号,修改个人物品信息:要修改物品信息时,输入物品的编号或名 称查看物品信息,确认无误后可以选择对应的物品信息

3、进行修改。(4)给定物品名或编号,删除个人物品信息:要删除物品信息时,输入物品的编号或名 称查看物品信息,确认无误后可以删除该物品信息。(5)根据输入的物品名或编号,显示查找到的相应物品信息:输入你想查找的物品名 或编号,若找到对应物品信息,则显示;否则提示用户查找的物品不存在,请重新输入想 要查找的物品名或编号。(6)根据输入的分类,显示该分类的所有物品信息:若找到则显示该分类的物品信 息,否则提示用户该分类不存在。(7) 根据输入的时间,查询已过期或3个月内将过期的物品信息:将物品的过期时间与输入时间作比较,若过期时间与输入时差小于3个月则输出对应物品信息。(8 )统计功能:统计各分类的物

4、品信息。(9)导出个人物品信息至 Excel表格:每个人都可以将自己的物品信息导出至Excel表格,可以对自己的个人物品信息一目了然。1.3开发平台及工具介绍我这个程序是使用 Code:Blocks10.05 编写的,它是一个开放源码的全功能的跨平台 C/C+集成开发环境,它使用了著名的的图形界面库wxWidgets版。它还提供了许多工程模板,包括控制台应用、DirectX应用和动态链接库等,另外它还支持用户自定义模板;它支持语法彩色醒目显示,支持代码完成,支持工程管理、项目构建、调试;它还具有灵活 而强大的配置功能。1.系统设计2.1系统总体结构设计(1) 运行程序时,一开始我设置了对系统进

5、行操作的选择界面,包括3个功能,一是 登录系统,二是创建新账户,三是退出程序。用户可以根据自己的实际情况进行选择,输入对应的操作数从而选择不同的功能。我在这里使用了switch-case语句。当用户选择了登陆系统或创建新账户操作时,程序会要求输入账号(20个字符以内),以及密码(10个字符以内),在输入密码时我使用了getch()函数(在头文件 conio.h中)隐藏用户密码信息,当用户登陆成功或创建新用户成功时程序就会进入功能选择界面;如果用户选择退出 程序,程序运行停止。(2)功能选择界面,我提供了九个功能选择,分别是录入个人物品信息、给定物品名 或编号,修改该个人物品信息、给定物品名或编

6、号,删除该个人物品信息、根据输入的物 品名或编号,显示查找到的相应物品信息、根据输入的分类,显示该分类的所有物品信息、根据输入的时间,查询已过期或3个月内将过期的物品信息、统计功能:统计各分类的物品信息、导出个人物品信息至 Excel表格、退出到登陆界面。根据用户输入的操作 数,我使用了 switch语句实现相应功能。(3)录入个人物品信息:录入的物品信息包括物品的名称、编号、价格、分类、生产日期和过期日期。我首先将信息录入链表中,之后用自定义的保存函数Save ()将信息存入文件中。(4)给定物品名或编号,删除个人物品信息:先输入要删除的物品名或编号,之后再通 过文件指针在文件中找到相应物品

7、信息并输出,用户确定无误后可以自行选择删除与否, 若删除再调用Save函数,否则退回到功能选择界面。(5)给定物品名或编号,修改个人物品信息:与删除个人物品信息一样,根据输入的物 品名或编号,通过文件指针找到物品信息并输出,用户可以根据自己的需要选择修改对应 的信息,在确认修改后,通过 Save函数保存信息,放弃修改则退回功能选择界面。(6)根据输入的物品名或编号,显示查找到的相应物品的所有信息,这也是通过文件指 针实现的查找。(7)根据输入的分类,显示该分类的所有物品信息:输入想查找的分类,使用一个字符数组记录输入的分类,使用文件指针对文件进行只读操作,将输入的分类与fgets()读出的分类

8、比较,若相同则输出对应物品所有信息,直到文件指针为空。(8)根据输入的时间,查询已过期或 3个月内将过期的物品信息:按照固定的时间输入格式(如2015年1月1日则写成20150101 )输入时间,再与文件中的过期时间比较,通 过比较,输出输入时间与过期时间之差小于3个月的物品信息。(9)统计功能:统计各分类的物品信息,使用文件指针对文件进行读操作,分别记录 不同分类的物品个数,之后输出分类信息和对应的物品个数。(10) 导出个人物品信息至Excel表格:创建新的文件指针,将链表里的信息写入名为“goods.xls ”的Excel文件里,输出的时候包括跳格符t和换行符n符号,保证输出格式的正确性

9、。(11)退出到登陆界面,其他用户可以继续使用该系统。2.2数据结构设计我主要定义了用户信息结构user和物品信息结构 Goods,还有使用了 3个文件,分别用于存放用户信息和物品信息。用户信息结构体struct userchar user name20;char password8;user name是账号,password是密码。物品信息结构体typedef struct wp /定义数据结构char name20; /*名称 */char number6;/*编号 */char price6 ;/* 价格 */char categoty10; /* 分类 */char MFG9; /*

10、生产日期 */char EXP9; /*过期时间 */struct wp *n ext;Goods;2.3系统各个函数及函数之间关系设计开始2.4界面设计(1)开始界面卜欢迎使月,户统薛系霜陆建出 1 Z 3请选择你的操作:(2)功能选择界面恭喜你,登陆咸二加葩入!1冬号名称=201430330101 外入聲录密咼主冃圭冃格 表1eXCE 至 -息品息 二在心龙冷口 物口崩品 fs 加改询出 增望-导息 - -信面 息自甞a类界 信亠每分陆登 掾八i 杳黑鑒 13 5 7 9青选择味的操佢:(3)查找物品界面:01:1Q0:20140181:20160101文具口鏡价日日分 韧品品严期品 谢生

11、过物(4)录入新物品灯 0台15507 口口1匚口0 rm称号814元01日日分站产期品SW20生过物棗品口乂SAAaSaue succefully?(5)删除物品信息界面H= *.回tt An b 0 0 su0it 5 2 ff- 2删品编分叶 脾物品品产口覇 口障nnItttHW 涂册册(6)修改物品信息界面ttn笔 01416耳睑 tt 冈丄000无 耐M=i=j;= 财信口錨murihttt信 tttt壽口習出的tlclQIItt品 料基物 啊品S品斛的 tttt物 I 改(7)输出物品分类界面具文一瓦K具具具具一 彗文文文文一A I ! II一该的号我SU1O28304(8) 查询

12、过期物品界面心子桑碧多壶表 篇笔尺铅里加辛手;编号1碗1911!10Q::02 1;10 ::03115:旧4;:1B:!0S1泻::0G:15;:071is:IH81再0::091:10 :illI150!口 ce用 类具具具常活具 弁文文文養饮饮日生用;生产日期120140101IZ0KQ1O1:2Q15Q101!201S018i9201S01dlI201&02O11201413101 :201401O1i2014ai91I过期时间!I291691Q1 !2910101:120160101 i :20169101 : ! 20150601 !:20151081 ; J201S08B1 !

13、123169101 !i20160101!120153181 i(9) 统计分类信息界面 目擞槳:1;1 分 品品 各皿;3用用:1 品具料常活具 物系日生用(10)导出物品信息到 Excel表格界面3系统实现 登陆模块登录系统欢迎使用个人物品管理系统创建新账户退出系统选择对应操作,登陆时用户名或密码错误会提示输入账号或密码错误,并退回到本界 面;创建新账户成功后会提示创建成功,并退到本界面,只需用刚创建的用户名和密码登 陆即可,只有用户和密码都正确,才会提示登陆成功并跳转到功能选择界面。 录入个人物品信息物品名称物品编号物品价格录入物品信息物品分类生产日期过期时间按照提示输入相应的物品信息。

14、 输入物品名或编号之后,程序会输入对应物品信息,确认删除后才会删除对应物品信息并保存。物品名称物品编号物品价格删除物品信息物品分类生产日期过期时间 修改物品信息:输入物品名或编号之后,程序会输入对应物品信息,可以选择对应信息进行修改。列出要修改物品所有信息修改物品信息选择对应信息进行修改 查找物品信息输入物品名或编号查找物品信息列出对应物品信息 根据输入的分类,显示该分类的所有物品信息输入物品分类根据输入分类显示物品信息列出对应物品信息 根据输入的时间,查询已过期或3个月内将过期的物品信息输入查询时间查询过期物品或三个月内过期物品比较输入的时间和过期时间输出对应物品信息 统计功能:统计各分类的

15、物品信息用不同变量记录不同分类的物品个数统计各分类的物品信息用文件指针对文件进行读写输出物品分类及对应物品个数 导出个人物品信息至Excel表格输出物品存储信息项目名称 导出物品信息到 Excel表格1.系统测试(1)设计测试用例:登陆账号名称:201430330101密码:123456名称编号价格(元)分类生产日期过期时间钢笔1100文具2014010120160101笔芯210文具2015010120160101尺子35文具2014010120160101铅笔410文具2015010120160101可乐55饮料2015010120150601雪碧65饮料2015010120151001加

16、多宝75饮料2015020120150801水壶850日常用品2014010120160101书910生活用品2014010120160101手表1150用具2014010120150101物品信息:录入个人物品信息:名称:水杯编号:10价格:50分类:日常用品 生产日期:20140101过期时间:20160101删除物品信息:名称:钢笔编号:01修改个人物品信息:修改编号为11的物品名称为灯查找物品信息:查找编号为10的物品信息根据输入分类输出该分类所有物品:输入文具过期物品查询:输入时间为20160101统计各分类物品个数;导出物品信息到 Excel表格;预期结果:全都符合要求。1.系统运

17、行界面:登录系统输入账号名 = 201130330101恭喜你,登陆成功输入豊录密中* 录入个人物品信息器龍爲杯格(兀)=50歌曬駅跨常胶冀物品分靈IUfftj = 2014B101:20168101Save succef ull/! 删除物品信息IF:钢笔品纟附文具0=261&0101你團定要删除该物品的信息吗?:煌2 .否;01:20140101Save suecef你已成功删除该物品信息I 修改个人物品信息修改物品基.也品giSi手表115020140101 30150101 用具盲踣日分 聊品口出严期品 生过检品品籍鱷贈帶物品名1.1Save siiGGBfull? 物品信息已完成修改

18、? 查找物品信息:10:日常用品:Z0140101:201t0101根据输入分类输出该分类所有物品过期物品查询空1-fi-n?x11E-pJ/ij jii编号i102!163!1价格110;5ITQ-qR1104:HT空I_ji至白i手-tqI伽!106i!5:5用荃宝 1107!-rk -iZT1*中!If1108 ;5GIF1;研itieJpTlAliHi!朮杯1110iI5U统计各分类物品个数饮料日常用品 生活舄品 用具2010101I王严鬥期 120150181 120140101 i20150101 120153101 1201SSI01 ! 23159201 ;20140101 :

19、20140101 120140101 日常用品:过期时间120160101 120160101I201S0C01!2015QS91;2016Q101120160101123150101123140131他詰各分类数和II-日常用品汀生活用晶注20160101:1导出物品信息到Excel表格宝A称応子笔乐碧多壶 杯名笔尺铅可雪加水书灯水BC | DEF元10 !生产日期过期时间 20150101 20160101 20140101 20160101 20150101 20160101 20150101 20150601 20150101 20151001 120150201 20150801Si

20、50 日常用品2014010120160101910活用品20140101201601011150 甲亘 20140101 2015硕loT50 20160101日常用品20140101(3)运行结果与预期结果相同。1.总结刚开始设计时毫无头绪,代码也是写得一团糟,感觉自己对上学期的内容好陌生,所 以决定还是先把有关内容看一遍。后来我看了课本和上网查了有关资料,然后再仔细地看了一遍题目要求:信息要求必 须存在文件里面,而且数据操作要用链表,所以我将程序设计为开始时读取文件信息到链 表,退出时再把链表信息全部覆盖写回文件里面。但是在实际操作中发现自己对链表这一 块还是不太熟悉,所以又去找了一些和

21、链表有关的资料。最后自己就边摸索着尝试了一 下,最后发现原来也不是特别难,其实最大的欠缺就是动手能力差。这次的程序设计,我觉得不仅是让我复习了上学期学过的内容,更是发现了自己在学 习上的许多缺点和不足,也是给了自己一个反省的机会,我觉得自己在以后的学习中必须 要将理论与实际相结合,在巩固理论知识的基础上一定要将其付诸实践,要敢于尝试,不 要让一次的失败就让自己士气全无。附(源代码)#i nclude#i nclude#in clude#in clude#in cludestruct user/ 用户信息 char user name20;char password8;;typedef stru

22、ct wp / 定义数据结构char name20; /*名称 */char number6;/*编号 */char price6;/* 价格 */char categoty10; /* 分类 */char MFG9; /*生产日期 */char EXP9; /*过期时间 */struct wp *n ext;Goods;void Newuser(void)/创建新账户prin tf(欢迎创建新账户!n);FILE *fp;char p10;i nt i=0;void en crypt(char *mima);/加密算法struct user su;if(fp=fope n(f:usermes

23、sage,a+)=NULL)printf(文件打开失败!n);exit(O);printf(请输入新账号:);sca nf(%s,su.user name);printf(请输入密码:);while(pi=getch()!=r)prin tf(*);i+;pi=0;strcpy(su.password,p);en crypt(su.password);fpri ntf(fp,%s %sn,su.user name,su.password);if(fclose(fp)printf(文件无法关闭!n);exit(O);!n);prin tf(n恭喜你成功创建新账户void en crypt(cha

24、r *mima)加密程序int i,j;j=strle n(mima);for(i=0;in ext;fclose(fp);Goods *Load(char *mark)读入记录Goods *p,*q,*h=NULL;char ch;FILE *fp;char wp20;strcpy(wp,mark);system(cls);strcat(wp,.dat);if(fp=fope n(wp,ab+)=NULL)pr in tf(Cant ope n thefile!n);exit(1);p=(Goods *)malloc(sizeof(Goods);if(!p)pri ntf(”Memory o

25、verflow!n);return h;h=p;ch=fgetc(fp);if(ch=EOF)h=NULL;p- next=NULL;return h;rewi nd(fp);while(!feof(fp)if(1!=fread(p,sizeof(Goods),1,fp)break;p-n ext=(Goods *)malloc(sizeof(Goods);if(!p-n ext)Memoryprintf(“overflow! n);return h;q=p;p=p-n ext;q- next=NULL;fclose(fp);return h;void Excel(char *mark)新功能

26、,将物品信息导岀至Excel表格system(cls);Goods *p,*head=Load(mark);p=head;FILE *fpex;int i=0;if(fpex=fope n( goods.xls,w)=NULL)system(color 04);printf(文件导岀失败!);exit(0);fprintf(fpex,名称 编号价格(元) 分类生产日期过期时间n);while(p!=NULL)fprintf(fpex,%s %s%s %s %s %sn,p-name,p-number,p-price,p-categoty,p-MFG,p-EXP);p=p-n ext;i+;if

27、(fclose(fpex)printf(Cant close the file!n);exit(0);if(i)prin tf(n);printf(i1n);printf(丨文件成功导岀至“ goods.xls ” . I n“);printf(11n);elsesystem(color 04);n i1n);printf( I 导岀至文件“ goods.xls ” 失败! I n);pri ntf( 11n);void DeleteGoods(char *mark)给定物品名或编号,删除该个人物品信息system(cls);char s10;int i=0,a=1,j=0;int k;Goo

28、ds *p,*q,*head=Load(mark);p=head;while(a=1)prin tf(输入要删除物品名或编号:“);scan f(%s,s);while(p匸NULL)i+;if(strcmp(s,p-n ame)=0)break;if(strcmp(s,p-n umber)=0)break;p=p-n ext;if(p!=NULL)prin tf(# #);printf(要删除物品名:);prin tf(%sn,p_ n ame);prin tf(要删除物品编号:);prin tf(%sn,p_ nu mber);prin tf(要删除物品价格:);prin tf(%sn,p

29、_price);prin tf(要删除物品生产日期:);prin tf(%sn,p-MFG);prin tf(要删除物品分类:);prin tf(%sn,p_categoty);prin tf(要删除物品过期时间:”);prin tf(%sn,p-EXP);prin tf(# #);a=2;elseprintf(您要删除的物品不存在!请重新输入!n);printf(你确定要删除该物品的信息吗?n1.是2.否n);sca nf(%d,&k);if(k=1)if(i=1)head=head-n ext; elsep=head;while(p- next&j next;+j;if(!(p- next

30、)|ji-1)exit(0);q=p-n ext;p-n ext=q _n ext;free(q);Save(head,mark);prin tf(你已成功删除该物品信息!else prin tf(你已取消删除操作!n);n);void AddNewGoods(char *mark)录入个人物品信息 system(cls);Goods *p,*head,*s,*q;head=Load(mark);p=q=head;i nt a=1; s=(Goods*)malloc(sizeof(Goods);pri ntf( n);printf(”卜请输入新物品信息 T n);pri ntf(“n);pri

31、ntf(输入物品名称:“);sca nf(%s,s- name);while(a=1)while(q匸NULL)if(strcmp(s-n ame,q- name)=0) break;q=q_n ext;if(q!=NULL)prin tf(该物品名已存在,请重新输入物品名:);sca nf(%s,s- name);q=head;elsea=2; q=head;printf(输入物品编号:);sea nf(%s,s-n umber);while(a=2)while(q匸NULL)if(strcmp(s-n umber,q- number)=O) break;q=q_n ext;if(q!=NU

32、LL)printf(”该物品编号已存在,请重新输入物品编号:);sca nf(%s,s-n umber);q=head;elsea=3;q=head;printf(“输入物品价格(元):);sca nf(%s,s-price);printf(日期输入格式(例:20150101)n);printf(“输入物品生产日期:“);sca nf(%s,s-MFG);printf(“输入物品过期日期:“);sca nf(%s,s-EXP);printf(“输入物品分类:”);sca nf(%s,s-categoty);s- next=NULL;if(p=NULL)Save(s,mark);elsewhil

33、e(p- next!=NULL)p=p-n ext;p_n ext=s;Save(head,mark);根据输入的物品名或编号,显示查找到的相应物品信息void SearchGoods(char *mark)system(cls);char s10;printf(“输入物品名或编号:);scan f(%s,s);Goods *head,*q;head=Load(mark);q=head;while(q匸NULL)if(strcmp(s,q-n ame)=0)break;if(strcmp(s,q-n umber)=0)break;q=q_n ext;if(q!=NULL)printf(物品名:

34、);prin tf(%sn,q_ name);printf(物品编号:);prin tf(%sn,q_ nu mber);printf(物品价格:);prin tf(%sn,q_price);printf(物品生产日期:);prin tf(%sn,q-MFG);printf(物品过期日期:”);prin tf(%sn,q-EXP);printf(物品分类:);prin tf(%sn,q-categoty);else pri ntf(没有找到该物品!n);void Cha ngeGoods(char *mark)给定物品名或编号,修改该个人物品信息system(cls);char s10;i n

35、t choice=0;i nt i=1;i nt k;printf(输入要修改物品名或编号:“);sca nf(%s,s);Goods *head,*p,*q;Goods w;head=Load(mark);p=q=head;while(p!=NULL)if(strcmp(s,p-n ame)=0)break;if(strcmp(s,p-n umber)=O) break;p=p-n ext;;if(p匸NULL)prin tf(# #);printf(“修改物品基本信息:nprintf(“物品名:);prin tf(%sn,p_ n ame);printf(“物品编号:);prin tf(%

36、sn,p_ nu mber);printf(“物品价格:);prin tf(%sn,p_price);printf(“物品生产日期:);prin tf(%sn,p-MFG);printf(“物品过期时间:);prin tf(%sn,p-EXP);printf(“物品分类:);prin tf(%sn,p_categoty);prin tf(# #);printf(“请输入要修改的物品信息:n);prin tf(1.物品名);printf(“2.物品编号n);prin tf(3.物品价格);printf(“4.物品生产日期n);prin tf(5.物品过期时间);prin tf(6.物品分类n);

37、sca nf(%d, &choice);switch(choice)case 1:pri ntf(”请输入修改后物品名:);sca nf(%s,w. name);while(i=1)while(q匸NULL)if(strcmp(w. name,q- name)=0)break;q=q_n ext;if(q匸NULL)printf(”该物品名已存在,请重新输入物品名:);sea nf(%s,w. name);q=head;elsei=2;q=head;strcpy(p-n ame,w. name);break;case 2:pr in tf(请输入修改后的物品编号:);sca nf(%s,w .

38、n umber);while(q匸NULL)if(strcmp(w. number,q- number)=O)break;q=q_n ext;if(q!=NULL)prin tf(该物品名已存在,请重新输入物品名:”);sca nf(%s,w .n umber);q=head;elsei=2;q=head;strcpy(p-n umber,w .n umber);break;case 3:pri ntf(请输入修改后的物品价格:);sca nf(%s,p-price);case 4:pri ntf(请输入修改后的物品生产日期:);sca nf(%s,p-MFG);case 5:pri ntf(

39、请输入修改后的物品过期时间:“);sca nf(%s,p-EXP);case 6:pri ntf(请输入修改后的物品类别:”);sca nf(%s,p_categoty);default: printf(”输入错误!请重新输入要修改的物品信息sca nf(%d, &choice);break;else pri ntf(没有找到该物品!n);printf(“你确定修改信息?n1.是2.否n);sca nf(%d,&k); if(k=1)物品信息已完成修改!n); 你已取消修改物品信息!n);Save(head,mark); printf(else prin tf(void Sort(char *

40、mark)根据输入的物品名或编号,显示查找到的相应物品信息system(cls);Goods *head,*p,*q,*k;int i=1;head=Load(mark);q=p=k=head;char s10;system(cls);while(i=1)printf(请输入需要查找的该分类:“);sca nf(%s,s);while(q匸NULL)if(strcmp(s,q-categoty)=0)break;q=q_n ext;prin tf(|名称 | 编号|分类 |n);if(q!=NULL)for(;)if(strcmp(p-categoty,s)=0)&p!=NULL)prin t

41、f(|%-10s|%-6s|%-10s|n,p- name,p- number,p-categoty);p=p-n ext;if(p=NULL)i=2;break;else printf(您输入的分类不存在,请重新输入!n);q=k;void AIISort(char *mark)根据输入的分类,显示该分类的所有物品信息system(cls);Goods *head,*p,*q;char b10;int i=0;head=Load(mark);p=q=head;typedef struct lbchar categoty20;struct lb *n ext;lb;lb *k,*l,*m,*s

42、,*j;k=(lb*)malloc(sizeof(lb);k- next=NULL;l=(lb*)malloc(sizeof(lb);s=(lb*)malloc(sizeof(lb);j=(lb*)malloc(sizeof(lb);s=k;l=k;if(head=NULL)prin tf(不存在任何物品!n);elsewhile(p匸NULL)while(l- next!=NULL)j=l-n ext;if(strcmp(j-categoty,p-categoty)=0)l=s;p=p-n ext;else l=l-n ext;m=(lb*)malloc(sizeof(lb);strcpy(

43、b,p-categoty);strcpy(m-categoty,b);m-n ext=k- n ext;k- n ext=m;k=m;l=s;p=p-n ext;prin tf(物品各分类数目:n);while(s- next!=NULL)pr in tf(%s:,s-n ext-categoty);strcpy(b,s-n ext-categoty);while(q匸NULL)if(strcmp(b,q-categoty)=0)i+;q=q_n ext;if(q=NULL)prin tf(%dn,i);i=O;q=head;s=s-n ext;int atoi(co nst char *s)把字符窜转换成整型数int a,b,c,d;a=strle n(s);c=sa_2_0;b=sa-1-O;d=c*10+b;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论