c语言销售管理系统
- 格式:docx
- 大小:35.04 KB
- 文档页数:24
课程设计说明书
学院、系:
专业:
学生姓名:设计题
目:
销售管理系统起迄日期:
指导教师:
日期:2017年5月12日
1 设计目的
1. 了解管理信息系统的开发流程,熟悉C语言的文件和结构数组的各种基本操作。
2. 握高级程序设计语言的知识。
3. 践中逐步掌握程序设计的思想和方法,培养问题求解和语言的应用能力。
4. 程序中涉及结构体、数组、文件等方面的知识。通过本程序的训练,能对C语言
的文件操作有一个更深刻的了解。
5. 提高与程序设计和软件开发有关的各种综合能力。
6. 通过本课程设计,培养上机动手能力,巩固《C 语言程序设计》课程学习的内容,掌握工程软件设计的基本方法,强化上机动手能力,闯过编程关;
7. 为后续各门计算机课程的学习打下坚实基础;
8. 学会用c 语言程序设计来设计销售管理系统设计。
2 任务概述
某公司有四个销售员(编号:1-4),负责销售五种产品(编号:1-5)。每个销售员都将当天出售的每种产品各写一张便条交上来。每张便条包含内容:1)销售员的代号,2)产品的代号,3)这种产品的当天的销售额。每位销售员每天上缴 1 张便条。
试设计一个便条管理系统,使之能提供以下功能:
1 、系统以菜单方式工作
2、便条信息录入功能(便条信息用文件保存)--输入
3、收集到了上个月的所有便条后,读取销售情况
1)计算每个人每种产品的销售额。
2)按销售额对销售员进行排序,输出排序结果(销售员代号)
3 )统计每种产品的总销售额,对这些产品按从高到底的顺序,输出排序结果
4 )输出统计报表
3 模块划分
主菜单及头文件设计
编辑系统菜单运行
输入信息
保存信息,参数为结构体数组和记录数
读入取函数,参数为结构体数组
清单输出
主要功能的实现
4 主要函数说明及其N-S 图
主菜单及头文件设计:
我们按照老师所给的示例我们首先编译了一个头文件,在头文件里,编译了主函数需要用到的一些函数,如#include "stdio.h" 等,因为需要录入便条的所有信息,所有用一个数据结构来实现信息的储存方式,用数组方式,把每条信息都编译成一个数组,如销售员代号用name[4] 记录。头文件还包括了定义常数记录数typedef struct ,主函数原型
int menu_select();/* 声明函数*/
int enter(RECODE t[]);/* 声明函数*/
void salor(RECODE t[],int n);/* 声明函数*/
int sum(RECODE t[],int n,int m);/* 声明函数*/
void list1(RECODE t[],int n);/* 声明函数*/
void list2(RECODE t[],int n);/* 声明函数*/
void list3(RECODE t[],int n);/* 声明函数*/
void save(RECODE t[],int n);/* 声明函数*/
int load(RECODE t[]);/* 声明函数*/
这些的都是主函数需要用到的数据,因此放入头文件当中,在主程序开始之前直接引
用#include "pro.h" 。
2. 编辑系统菜单运行:
题目要求我们系统以菜单方式工作,所以我们现要定义一个系统的结构体数组RECODE
rec[600] ,用for (;;) 循环让菜单实现无限循环,让switch(menu_select()) 调用主菜单函数,返回值整数作开关语句的条件,之后分别定义菜单的信息,如:
case 1:
length=enter(rec);
就是输入信息的定义编辑,当然最后需要用到break 来实现返回。菜单定义完成之后,开
始编译菜单的输出,这部分,用了printf 就把需要显示的菜单显示出来,然后由用户选择菜单的选项,因为菜单只有0~7 的选项,为了防止用户输入选项超值,所以用do while 语句来控制,(c<0||c>7)限定了用户输入的数据只有0〜7才有效,超值则返回开始菜单,重新选择
(return )。
3. 输入信息:
输入信息一般都是使用scanf 来实现,但在用户输入之前需要解决一个问题,程序必须限制用户的输入序数(记录条数),所以在输入数据之前,必须先限定序数,方法则是用一个for 循环来实现,有用户输入一个数字,成为循环的上限,而用户输入的便条信息则在此限定下,不能超出,当超出时则返回到开始菜单。用户输入的便条信息分别存入对应的数组当中,如便条条数则存入t[i].num 当中。
4. 保存信息,参数为结构体数组和记录数:
用户输入的信息需要保存时,用save 选项进行保存。保存的时候,实现应该建立一个指向文件的指针,从而固定保存文件时的位置,之后用if 语句来判断打开文件是否正常,if
((fp=fopen("record.txt","wb"))==NULL),如果没打开(打开不正常),则程序执行退
出;当判断文件打开正常时,系统显示“保存文件”(用printf("\n 保存文件\n")来完成),保存信息是用到的fprintf 函数,将制定记录数输入文件fprintf(fp,"%d",n),因为源文件中采用了换行,保存文件是系统默认不会进行保存,所有必须加如换行符号保存,防止文件丢失,保证文件以用户输入的信息一致,保存换行符号依然采用fprintf 函数来实现,具体源文件为fprintf (fp,"\r\n");当确立了保存的可以性之后,系统开始录入需要保存的信息,用for 循环语句,不断把用户输入的信息保存,因为之前在编写输入,输出程序时,都用到了一定的格式,保证信息的一一对应,所以在保存文件时,也需要确定和输入是相同的格式,这里依然使用fprintf 函数来进行保存,如fprintf(fp,"%-10d%-7d%-7d%-7d%-7d-