北京邮电大学课程设计报告
课程设计
名称
C程序设计实践
学 院
信通院
指导教师
学生姓名
班 级
学 号
课
程
设
计
内
容
在这次C程序设计实践课程中,着重练习链表与结构体的应用,熟练掌握了通过函数对链表进行创建、修改及删除等操作;
同时也对文件操作加深了理解,对将链表内容按格式输入到文件和将文件内容转化为链表并进行操作也进行了实践;
还有对链表内容进行筛选查找、按要求排序以及求特定部分的和;
更重要的是,要了解程序设计是要以需求为导向的,所以在设计功能和按钮的时候要尽量设身处地的为用户考虑,丰富意外情况处理经验,提高程序可用性。
学生
课程设计
报告
(附页)
见附页
课
程
设
计
成
绩
评
定
遵照实践教学大纲并根据以下四方面综合评定成绩:
1、课程设计目的任务明确,选题符合教学要求,份量及难易程度
2、团队分工是否恰当与合理
3、综合运用所学知识,提高分析问题、解决问题及实践动手能力的效果
4、是否认真、独立完成属于自己的课程设计内容,课程设计报告是否思路清晰、文字通顺、书写规范
评语:
成绩:
指导教师签名:
年 月 日
北京邮电大学信息与通信工程学院
10级小学期C程序设计实践
实验报告
题目:实验室物料管理系统
班级:班
姓名:
学号:
手机号:
邮箱:
功能描述:
基本功能:
添加记录
能够添加一条或多条记录,记录包括物料类别、名称、型号、价格、库存等数据。
显示记录
显示当前所有记录。
更新记录
能够修改已存在记录的信息,可按型号选择要更新的纪录并且选择更新的方式。
删除记录
实现删除指定型号记录的功能。
查询记录
实现按型号查找的基本功能。
保存文件
存储所有记录到文本文档wrecord.txt。
读取文件
从rrecord.txt读入所有记录,同时能实现在读入后继续添加记录并执行操作。
统计总量
能实现将各类别记录的库存总量存入文本文件total.txt的功能。
排序
实现基本功能的按库存量顺序排序,并且存储到文件。
退出系统
结束软件操作,释放内存后退出。
扩展功能:
统计时加入借出量的统计,使物料管理更健全。
进入时需要输入用户名和密码,通过区分采购员和教师给与用户不同的功能使用权限,使程序的针对性更强。
可以选择按照单价或型号进行查找,并给与用户随时退出到主菜单的选项。
可以选择按照库存量或单价进行排序,并将结果打印。
数据结构描述:
struct info
{
int type_a;//类型,因为是1到5,所以采用int型变量
char name_b[10000];//名称
char model_c[10000];//型号,因为二者都可能是字符数字混合,所以采用char型变量
float price;//价格,有可能精确到分,所以选择float型变量,并且保留两位显示
int inside;//库存
int outside;//借出
struct info *next;
};
程序模块描述:
void buy(void);和void use(void);
分别对应两种权限的使用者:采购员和实验室老师。在屏幕上显示菜单,通过输入0-X之间的数字调用相应的功能函数。
add()
在链表尚不存在的情况下,逐个输入物料记录信息,如类别、物料名称、型号、数量等。(1)假设新创建链表时只增加库存数量而缺省地保持借出数量为0;(2)申请内存空间,验证输入数据是否符合要求,设置输入结束标志。
printlist()
显示当前链表中的所有记录,即每种物料的库存和借出情况。
update()
根据物料外借、归还、后续购买或报废等不同情况进行物料信息的更新。例如,当外借物料时,需要根据借出的数量,减少库存数量而增加外借数量;当归还物料时,增加库存而减少外借数量;当后续购买库存已有的物料时,需要增加库存信息而保持外借数量不变;当报废已借出的物料时,需要减少外借数量而保持库存信息不变。
delate()
删除指定型号的物料记录并释放该记录占用的内存空间。
find()
按型号查找并显示记录。并扩展为可以选择按照单价或型号进行查找。
save()
将物料信息保存到指定文件(wrecord.txt)中。
load()
从指定的文件(rrecord.txt)中读入所有物料记录。
quit()
结束软件操作,释放内存后退出。
sum()
统计各类别物料的库存数量并保存到文件total.txt中。
sort()
根据库存数量进行排序。并扩展为可以选择按照库存或单价进行排序。
struct info * search(struct info *p,char c[]);
找到符合条件的记录,并返回它的首地址,如没有符合项则返回NULL。
int login