C语言课程设计综合性程序设计报告设计题目:电脑公司进销存管理系统专业:冶金工程学号:8090507姓名:刘欢成绩:____________设计时间:2010年11月03日二.开题说明1.问题概要该系统用于处理某电脑公司的设备买入,卖出,仓储等设备账目。在买入设备时,记录设备的数量型号(如computer,keyboard)和价钱,并在库房记录中添加设备,在卖出设备时从库房中减掉该设备,并根据卖出的数量型号和价钱得出每一笔买出的利润。每个一段时间盘点库房和账目计算出利润等数据。基本要求:有货物管理(设备的添加,删除,修改)有账目管理可以查询账目清单可以计算年度或月份或季度利润。2.问题分析:先定义合适的结构体,存储物品信息。在程序中建立一个文件用于存储,凡进行了进货操作的物品在文件中都有记录,进货时由于尚不知售货时间与售价、利润,故此三项(实际为四项,时间分为年、月两项)暂先赋值为零,待进行售货操作时再输入各数值,其中利润由系统自动计算得出并保存。账目清单分为已售、仓储两部分,由此可看到所有购进、卖出的货物信息。月利润查询可查得所输入年月的各类所售货物数量与利润。三.功能模块四.技术说明1.函数模块:voidin();//为输入操作函数voidshow();//为账目清单函数voidmodify();//为修改信息函数voidsell();//为收获操作函数voidmenu();//为菜单函数voidmonthearn();//为月利润查询函数2.结构体structobject{intnum,inyear,inmonth,outyear,outmonth;charname[10];floatinprice,outprice,profit;}obj[100];说明:此为货物基本信息包括:编号,进货年、月,售货年、月,进价,售价,利润。共定义100个,即最多可存储100件货物的信息菜单进货操作售货操作修改信息账目清单退出月利润查询3.指针structobject*p1=obj;//定义此指针*p1指向obj数组的首地址之后用(p1+i)-name代替obj[i].name等4.宏定义#defineLENsizeof(structobject)#defineFORMAT1\t%-8d%-11s%-9.2f%-6d%-4d\n#defineDATA1(p1+i)-num,(p1+i)-name,(p1+i)-inprice,(p1+i)-inyear,(p1+i)-inmonth#defineFORMAT2\t%-8d%-11s%-9.2f%-9.2f%-7.2f%-6d%-4d%-6d%-4d\n#defineDATA2(p1+i)-num,(p1+i)-name,(p1+i)-inprice,(p1+i)-outprice,(p1+i)-profit,(p1+i)-inyear,(p1+i)-inmonth,(p1+i)-outyear,(p1+i)-outmonth5.文件操作本程序只建立一个文件“data”,每次操作后,文件中信息得到相应修改并重新储存6.注:设计中未解决的问题:调试中程序整体运行正常,但“账目清单”测试时,发现进货后在仓储存储的物品加倍,如原本在进货中在2010年9月购进了1台显示器,编号为“2”,进价345元,但仓储中显示两台同样信息的机器(在示例第5步的界面中可清楚地看到,其中一台已卖出)。此问题发现许久但至今未解决。个人认为很可能是在“in()”函数的文件操作中的问题,但学生愚钝,无力解决,此处还望老师指导!其它功能运行均无误。五.操作说明进入菜单,会有六个选项,功能如上图。输入对应的代码,可执行该功能。设定共可以管理的物品有四种,分别为主机、键盘、显示器、鼠标,输入名称时分别用拼音表示,分别为zhuji、jianpan、xianshiqi、shubiao。也可输入其他名称,但在月利润查询功能中只处理以上四种名称。每个物品都有唯一的编号,故输入的编号与以存储的物品有重复时,会提示重新输入编号。在进货时输入进货编号、进价、进货日期,售货时输入售价与售货日期,程序自动计算出利润。交到PPT的作品中含data文件,先前已进行过部分操作,与exe文件放在同一文件夹。示例:1.进入程序出现主菜单如图2.选“1”进行进货操作,界面如图:3.选“2”,进行售货操作,界面如图:4.选“3”,进行修改信息,界面如图:5.选“4”,查看账目信息,结果如图:6.选“5”,查询月利润,如图六.设计体会原来的基础知识掌握不扎实,应付简单的设计题目勉强过关,但此程序功能完备,涉及知识较多,几乎囊括了课本中全部知识,设计时曾一度没有思路,但最终不得不重新拿起课本细细体会当初忽略的问题与章节,同时到图书馆查阅相关资源。最终历时两周,前后用在此设计上的时间加起来不下两个全日,完成此题目,随不甚完美,且感觉较累,但一则完成任务,二则扎实地掌握了基本知识,颇有成就感。总结此间经历,略有体会,现将问题列举如下。1.对于文件的存、取操作较吃力;2.基础知识掌握不扎实,很多问题都要查书;3.书写格式易出错,由此造成较大的时间浪费4.系统、全局意识较差,五个函数相互联系,局部修改往往造成别处的错误,调试时往往顾此失彼