C语言商品管理系统

  • 格式:docx
  • 大小:424.02 KB
  • 文档页数:21

目录1 问题定义.......................................................... ..12系统设计22. 1 总体设计 (3)2. 2 详细设计 (5)2.2.1 数据结构设计 (6)2.2.2 主控流程 (7)2.2.3 函数功能描述 .............................................................. .73 系统实现83.1 编码93.1.1 程序预处理 (10)3.1.2 主函数ma in () ......... . .......................................................................... ..123.1.3 主菜单界面 ............ ............................................. .133.1.4输入商品信…… ... .......................................................... .153.1.5查找商品信息 ................................................................. .163.1.6 录入商品信息......... . .. (17)3.1.7显示商品信息............ . . (18)3.1.8添加商品信息............ . (18)3.2 测试与调试 (20)3.2.1 概述............ . (20)3.2.2 程序测试............ . (21)4 系统维护 (21)5 归纳总结 (21)5.1 开发经验 (22)5.2 实训中遇到的问题及解决方法 (22)5.3 设计中的不足之处 (23)5.4 感想和心得体会 (23)6 参考资料 (23)、/. —前言课程设计环节是应用型本科院校非常重要的一个教学环节,是学完一门课后应用本课知识及以前的知识积累而进行的综合性、开放性的训练。

通过课程设计,不仅能够使学生得到系统的技能训练,巩固和加强所学得专业理论知识,而且能够培养学生工程意识、创新能力、团队精神等综合素质,培养学生的设计能力和解决实际问题的能力。

C语言由于其强大的功能,丰富的表达能力,高效的代码,良好的移植性和灵活性,自1972 年问世以来,经久不衰,即使现在出现了面向对象的程序设计方法和开发工具,但它仍然是人们学习程序设计的首选语言,用它训练和提高编程技术,以及开发应用程序等。

我们通过《C语言程序设计》这门课程的学习,已经能编写解决小问题的程序,对程序的开发也有了初步的认识,还掌握了C 语言的基本语法,这一过程确确实实令我们感到欣喜,有点计算机可以完成自我任务的成就感。

但是,对于程序设计而言,学习 C 的步伐不应该停留于此。

我们最终的目的应该是掌握开发大型综合程序的方法,即遵循软件工程的开发步骤和结构化程序设计思想,用C 语言开发出解决复杂问题的大型综合程序。

可是对于多数学生来说,学习了C语言后,除了应付各种考试之外,别无它用,对Turbo C语言丰富的函数知之甚少,加上DOS环境所限,因而对C语言兴趣不大,也感到C语言比较难以掌握。

本实训就是为了让学生在学完C语言后进一步了解C语言的知识,掌握C语言在软件开发方面的使用方法,希望通过此次实训,不仅能提高学生学习C语言的兴趣,更为今后学习其它专业知识及开发程序打下坚实的基础。

本指导书中有些内容借鉴了互联网上相关程序的设计思想,在此对相关者表示衷心的感谢。

由于时间、经验及水平的原因,不当、不足之处,请大家提出宝贵意见。

编者桂林电子科技大学信息科技学院商品管理系统本题目设计目的是训练学生的基本编程能力,了解管理信息系统的开发流程,熟悉 C 语言的文件和单链表的各种基本操作。

本程序中涉及结构体、数组、文件等方面的知识。

通过本程序的训练,使学生能对C 语言的文件操作有一个更深刻的了解,掌握利用文件保存实现对商品管理管理的原理,为进一步开发出高质量的管理信息系统打下坚实的基础。

1、问题定义制作一个商品管理系统,功能包括商品录入、商品排序、商品查找、商品存储与读入、商品单价等图1.1商品管理系统功能需求在问题定义阶段要考虑题目的可行性和需求分析,接下来进入开发阶段,完成系统设计和系统实现的任务。

2、系统设计2. 1总体设计采用模块化的程序设计方法,即将较大的任务按照一定的原则分为一个个较小的任务,然后分别设计各个小任务。

需要注意的是划分出来的模块应该相对独立但又相关,且容易理解。

可以用模块化层次结构图(即模块图)来分析其任务的划分,一般从上到下进行,最上面一层是主模块,下面各层是其上一层模块的逐步细化描述。

图2.1 学生成绩管理系统功能模块图本商品管理系统采用文件保存实现,如图 2.1所示,它由如下五大功能模块组成: 输入商品信息模块。

完成将信息输入文件的工作。

信息以二进制形式存储的数据文件中读入。

商品信息由商品序号,商品生产商,商品单价构成。

显示商品模块。

完成商品信息的输入后,可以选择打开商品信息存入的文件,并按照商品号或者商品单价的排序形式输出商品信息。

查找商品信息模块。

查找要找的商品信息,打开商品存入的文件并输入商品号显示要查找的商品信息。

添加商品模块。

将新添的商品信息存储入指定的文件。

退出系统模块。

输入0按回车键退出商品管理系统。

2. 2详细设计2.2.1数据结构设计商品信息结构体typedef struct{char name[30]; /* 商品名称*/ int num;/* 商品号*/char shang[10];/*商品生产厂家*/float price;/* 商品单价*/}record;结构体struct student将用于存储商品信息,它将存储到指定的文件。

2.2.2主控main()函数执行流程输入[0〜4]中的一个数值,本成绩管理系统执行主流程如图2. 2 所示。

它先创建文件,将商品信息输入文件,并按提示输入数字( 0-4)打开文件,通过文件读写来实行商品的显示和添加等。

在选择功能时,有效的输入为本0 至4 之间的任意数值,其他输入都被视为错误按键。

若输入为0(即变量fn=0 ),它会显示退出系统,并按任意键退出。

若选择1,则调用void DataInput(record *com, int *nptr) 函数,执行输入商品信息操作;若选择2,则调用void DataDisPlay( ) 函数,执行商品显示操作;若选择3,则调用void DataFind( ) ; 函数,执行商品查找操作;若选择4,则调用void DataAdd( ) 函数,执行商品信息添加操作;若选择5,则调用void DataStatistic( ) 函数,执行退出系统操作。

2.2.3 函数功能描述DataInput(record *st, int *q)函数原型:void DataInput(record *st, int *q)DataInput(record *st, int *q) 函数用于输入商品信息,写入文件中。

DataStorage(record *st, int n)函数原型:voidDataStorage(record *st, int n)DataStorage(record *st, int n) 函数用于将商品信息存储入文件中。

DataFind( ) 函数原型:void DataFind( ) DataFind( )函数用于商品信息的查找。

DataDisPlay( ) 函数原型:voidDataDisPlay( )DataDisPlay( )函数用于显示商品信息,按指定的顺序显示出来。

void DataAdd( ) 函数原型:void void DataAdd( ) void DataAdd( ) 函数用于添加商品信息,写入并存储到指定的文件当中。

主函数main() 整个成绩管理系统控制部分,其详细说明可参考图二。

完成在上述系统设计后,即可着手进行系统实现的工作,开始程序代码的编写。

3、系统实现3.1 编码3.1.1 程序预处理包括加载头文件,定义结构体、常量和变量,并对它们进行初始化工作。

#include <stdio.h>#include <conio.h>#include <string.h>#define S 50typedef struct{char name[30];int num;char shangjia[10];float price;}record;void DataInput(record *st, int *q);int DataRead(record *st,int *q) ;void DataStorage(record *st, int n); /* 信息保存到文件*/void DataFind( );void DataDisPlay( );void DataAdd( );3.1.2 主函数main()mai n()函数主要实现了对整个程序的运行控制,以及相关功能模块的调用。

详细分析可参考图2。

int main( ){record shangpin[S];int number=20; /* 设商品数*/char a;printf("\t~~~~~~~ 欢迎进入我的商品管理系统~~~~~~~~\t");3.1.3 主菜单界面用户进入商品管理系统时,需要显示主菜单,提示用户进行选择,完成相应任务。

此代码被main() 函数调用。

while(1){printf("\n\t\t1. 录入商品\n"); /* 显示主菜单*/printf("\t\t2. 显示商品\n");printf("\t\t3. 查找商品\n");printf("\t\t4. 添加商品\n");printf("\t\t0. 退出");printf("\n\t\n");printf("\t 请输入你的一个选项(数字0-4): ");fflush(stdin);scanf("%c",&a);puts("\n");switch(a) /* 切换到不同功能*/{case '1':DataInput(shangpin, &number );break; /* 录入信息*/case '2':DataDisPlay(shangpin,number);break; /* 信息显示*/case '3':DataFind(shangpin,number );break; /* 信息查找*/case '4':DataAdd( );break; /*增加*/case '0':return 0;default:puts("\t\t 没有这个项!返回主菜单!"); break;}printf("\n\t\t 完毕!按任意键继续"); getch( );puts("\n");}}3.1.4 输入商品信息用户进入商品管理系统时,通过输入商品数量,商品名称,商品号,商品生产厂家,商品单价来录入到文件中。