
C语言程序设计实验个人物品管理系统程序.doc
29页word《程序设计与算法综合实习I》题目:个人物品管理程序班级:学生学号:学生:指导教师:提交时间:成绩:评分项目得分功能完整性〔40分〕界面美观性〔10分〕设计合理性与创新性〔20分〕辩论表现〔20分〕报告撰写质量〔10分〕华南农业大学信息学院《个人物品管理程序》1. 问题描述问题描述设计一个个人物品管理程序,该程序具有以下功能:〔1〕用户登录:输入用户名和密码,密码正确才允许登录 〔2〕录入个人物品信息; 〔3〕给定物品名或编号,修改该个人物品信息; 〔4〕给定物品名或编号,删除该个人物品信息; 〔5〕根据输入的物品名或编号,显示查找到的相应物品信息; 〔6〕根据输入的分类,显示该分类的所有物品信息; 〔7〕根据输入的时间,查询过期或3月将过期的物品信息; 〔8〕统计功能:统计各分类的物品 〔9〕新功能:导出个人物品信息至Excel表格〔1〕登录功能:这是一个个人物品管理程序,具有很大的开放性,已经注册的用户可以直接输入密码登陆系统,没有注册的用户可以根据自己的需要注册账户,并输入个人物品信息〔2〕录入个人物品信息:这个系统设置录入的物品信息主要包括物品的名称、编号、价格、分类、生产日期和过期日期。
〔3〕给定物品名或编号,修改个人物品信息:要修改物品信息时,输入物品的编号或名称查看物品信息,确认无误后可以选择对应的物品信息进展修改〔4〕给定物品名或编号,删除个人物品信息:要删除物品信息时,输入物品的编号或名称查看物品信息,确认无误后可以删除该物品信息 〔5〕根据输入的物品名或编号,显示查找到的相应物品信息:输入你想查找的物品名或编号,假如找到对应物品信息,如此显示;否如此提示用户查找的物品不存在,请重新输入想要查找的物品名或编号 〔6〕根据输入的分类,显示该分类的所有物品信息:假如找到如此显示该分类的物品信息,否如此提示用户该分类不存在 〔7〕根据输入的时间,查询已过期或3个月将过期的物品信息:将物品的过期时间与输入时间作比拟,假如过期时间与输入时差小于3个月如此输出对应物品信息 〔8〕统计功能:统计各分类的物品信息 〔9〕导出个人物品信息至Excel表格:每个人都可以将自己的物品信息导出至Excel表格,可以对自己的个人物品信息一目了然开发平台与工具介绍我这个程序是使用Code::Blocks10.05编写的,它是一个开放源码的全功能的跨平台C/C++集成开发环境,它使用了著名的的图形界面库wxWidgets版。
它还提供了许多工程模板,包括控制台应用、DirectX应用和动态库等,另外它还支持用户自定义模板;它支持语法彩色醒目显示,支持代码完成,支持工程管理、项目构建、调试;它还具有灵活而强大的配置功能1. 系统设计 〔1〕运行程序时,一开始我设置了对系统进展操作的选择界面,包括3个功能,一是登录系统,二是创建新账户,三是退出程序用户可以根据自己的实际情况进展选择,输入对应的操作数从而选择不同的功能我在这里使用了switch-case语句当用户选择了登陆系统或创建新账户操作时,程序会要求输入账号〔20个字符以〕,以与密码〔10个字符以〕,在输入密码时我使用了getch()函数〔在头文件conio.h中〕隐藏用户密码信息,当用户登陆成功或创建新用户成功时程序就会进入功能选择界面;如果用户选择退出程序,程序运行停止 〔2〕功能选择界面,我提供了九个功能选择,分别是录入个人物品信息、给定物品名或编号,修改该个人物品信息、给定物品名或编号,删除该个人物品信息、根据输入的物品名或编号,显示查找到的相应物品信息、根据输入的分类,显示该分类的所有物品信息、根据输入的时间,查询已过期或3个月将过期的物品信息、统计功能:统计各分类的物品信息、导出个人物品信息至Excel表格、退出到登陆界面。
根据用户输入的操作数,我使用了switch语句实现相应功能 〔3〕录入个人物品信息:录入的物品信息包括物品的名称、编号、价格、分类、生产日期和过期日期我首先将信息录入链表中,之后用自定义的保存函数Save〔〕将信息存入文件中〔4〕给定物品名或编号,删除个人物品信息:先输入要删除的物品名或编号,之后再通过文件指针在文件中找到相应物品信息并输出,用户确定无误后可以自行选择删除与否,假如删除再调用Save函数,否如此退回到功能选择界面〔5〕给定物品名或编号,修改个人物品信息:与删除个人物品信息一样,根据输入的物品名或编号,通过文件指针找到物品信息并输出,用户可以根据自己的需要选择修改对应的信息,在确认修改后,通过Save函数保存信息,放弃修改如此退回功能选择界面〔6〕根据输入的物品名或编号,显示查找到的相应物品的所有信息,这也是通过文件指针实现的查找〔7〕根据输入的分类,显示该分类的所有物品信息:输入想查找的分类,使用一个字符数组记录输入的分类,使用文件指针对文件进展只读操作,将输入的分类与fgets()读出的分类比拟,假如一样如此输出对应物品所有信息,直到文件指针为空〔8〕根据输入的时间,查询已过期或3个月将过期的物品信息:按照固定的时间输入格式〔如2015年1月1日如此写成20150101〕输入时间,再与文件中的过期时间比拟,通过比拟,输出输入时间与过期时间之差小于3个月的物品信息。
〔9〕统计功能:统计各分类的物品信息,使用文件指针对文件进展读操作,分别记录不同分类的物品个数,之后输出分类信息和对应的物品个数 〔10〕导出个人物品信息至Excel表格:创建新的文件指针,将链表里的信息写入名为“goods.xls〞的Excel文件里,输出的时候包括跳格符‘\t’和换行符‘\n’符号,保证输出格式的正确性 〔11〕退出到登陆界面,其他用户可以继续使用该系统我主要定义了用户信息结构user和物品信息结构Goods,还有使用了3个文件,分别用于存放用户信息和物品信息用户信息结构体struct user{ char username[20]; char password[8];};username是账号,password是密码物品信息结构体typedef struct wp //定义数据结构{ char name[20]; /*名称*/ char number[6];/*编号*/ char price[6];/*价格*/ char categoty[10]; /*分类*/ char MFG[9]; /*生产日期*/ char EXP[9]; /*过期时间*/ struct wp *next;}Goods;开始登陆系统界面设计〔1〕开始界面〔2〕功能选择界面〔3〕查找物品界面〔4〕录入新物品〔5〕删除物品信息界面〔6〕修改物品信息界面〔7〕输出物品分类界面〔8〕查询过期物品界面〔9〕统计分类信息界面〔10〕导出物品信息到Excel表格界面3.系统实现①登陆模块登录系统 欢迎使用个人物品管理系统 创建新账户 退出系统选择对应操作,登陆时用户名或密码错误会提示输入账号或密码错误,并退回到本界面;创建新账户成功后会提示创建成功,并退到本界面,只需用刚创建的用户名和密码登陆即可,只有用户和密码都正确,才会提示登陆成功并跳转到功能选择界面。
②录入个人物品信息 物品名称 物品编号 物品价格 录入物品信息 物品分类 生产日期 过期时间按照提示输入相应的物品信息③输入物品名或编号之后,程序会输入对应物品信息,确认删除后才会删除对应物品信息并保存 物品名称 物品编号 物品价格 删除物品信息 物品分类 生产日期 过期时间④修改物品信息:输入物品名或编号之后,程序会输入对应物品信息,可以选择对应信息进展修改。
列出要修改物品所有信息 修改物品信息 选择对应信息进展修改⑤查找物品信息 输入物品名或编号 查找物品信息 列出对应物品信息 ⑥根据输入的分类,显示该分类的所有物品信息 输入物品分类 根据输入分类显示物品信息 列出对应物品信息 ⑦根据输入的时间,查询已过期或3个月将过期的物品信息 输入查询时间 查询过期物品或三个月过期物品 比拟输入的时间和过期时间 输出对应物品信息⑧统计功能:统计各分类的物品信息 用不同变量记录不同分类的物品个数 统计。












