8-1 简易库存-销售系统

该博客介绍了一个使用C语言设计的简易库存-销售系统,系统支持销售记录录入、销售情况统计等功能,包括销售员和产品的销售额统计,以及按销售额排序。此外,文章还要求实现数据文件保存,错误处理,并提供了实验报告的结构要求。
摘要由CSDN通过智能技术生成

@
某公司有N(N<=20)位销售员(编号:E001-E00N,至少包含销售员的若干基本信息如姓名、性别、受教育程度等),负责销售M(M<=30)个产品(编号:P001-P00M,至少包含产品的基本信息,如产品名称、单价、库存量等信息)。每个销售员在销售商品时,执行订单操作(销售记录,至少包含销售日期、销售编号、销售员编号、销售产品编号、销售数量等信息)。
设计一个简易库存-销售系统,使之能提供以下功能:
1、系统以菜单方式工作;
2、销售表信息录入功能(销售记录信息用文件保存)--输入;
3、统计销售情况
1)统计每个销售员的总销售额、每种产品的总销售额;
2)按销售额对销售员进行升序排序,输出排序结果;
3)按销售额对产品进行降序排序,输出排序结果。
(提示:至少应该有三个文件来保存基本数据,一个文件保存商品的基本信息,一个文件保存销售员的基本信息,还有一个文件保存销售记录。自行设计完整的数据结构并实现以上功能,程序应具有简单的错误处理,如不存在的销售员、超过库存的销售、不存在的产品等。如同学觉得能有更好的想法,也可以增加额外的功能,会酌情加分)。

项目的实验报告包括以下部分内容:

一、报告封面(请自行设计,内容清晰明了);

二、第一章:项目介绍;

三、第二章:完善的程序设计算法与流程;

四、第三章:清晰的测试结果;

五、第四章:分析与评论:完整且清晰的注释;

整个报告必须是:完整的包含以上内容且文档的总体风格非常专业(包括:参考文献、版权声明等)。

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int count_salasman = 0 ;
int count_product = 0  ;
int count_information = 0 ;


struct salasman {
	char num[10];
	char name[20] ;
	char gender[20] ;//性别
	char education[20] ;//学历
	int sum_salas ;
} s[20];


struct product {
	char number[10] ;
	char goods[20] ;
	double price ;
	int repertory  ;
	int sum_salas = 0  ;
} p[30];

struct salas_information {
	char data[30] ;//这里的订单操作日期格式为2022.06.01
	int num ; //销售编号按照顺序从1开始
	char salasman_num[20] ;
	char products_num[20] ;
	int sum ;
} s_i[200];

void menu_sum() {
	printf("主程序!!!\n") ;
	printf("自动从文件中读取销售员、商品和销售信息\n") ;
	printf("1.查询/修改销售员信息(修改后自动修改文件里的信息)\n") ;
	printf("2.查询/修改商品信息(修改后自动修改文件里的信息)\n") ;
	printf("3.添加销售信息\n") ;
	printf("4.查询每个销售员的总销售额\n") ;
	printf("5.查询每种产品的总销售额\n") ;
	printf("6.按销售额对销售员进行升序排序\n") ;
	printf("7.按销售额对产品进行降序排序\n") ;
//	printf("8.从文件中读取商品的基本信息\n") ;
//	printf("9.从文件中读取销售员信息\n") ;
//	printf("10.从文件中读取销售记录\n") ;
	printf("0.退出程序\n") ;

	printf("请输入你的选择:") ;
}

void menu1() {
	printf("员工程序!!!\n") ;
	printf("1.添加销售员信息\n") ;
	printf("2.输出销售员信息\n") ;
	printf("3.修改销售员信息\n") ;
	printf("4.删除销售员信息\n") ;
	printf("5.将所有调整好的销售员信息读入到文件夹中\n") ;
	printf("0.退出销售员程序\n") ;
	printf("请输入你的选择:") ;
}


void Print_S_record() {
	int i ;
	if (count_salasman == 0) {
		printf("Count of salasman is zero!\n");
		return;
	}
	printf("总共有%d个员工\n", count_salasman) ;
	printf("编号\t姓名\t性别\t学历\n") ;
	for (i = 0; i < count_salasman; i++) {
		printf("%s\t%s\t%s\t%s\n", s[i].num, s[i].name, s[i].gender, s[i].education);
	}
}

void Add_S_record() {
	int i, n ;
	if ( count_salasman == 20 ) {
		printf("FULL!\n") ;
		return ;
	}
	int temp = count_salasman ;
	printf("Please input the Number of Salasman:") ;
	scanf("%d", &n) ;
	for (i = temp; i < temp + n ; i++) {
		printf("Input the salasman's num:") ;
		scanf("%s", s[i].num) ;
		printf("Input the salasman's name:") ;
		scanf("%s", s[i].name) ;
		printf("Input the salasman's gender:") ;
		scanf("%s", s[i].gender) ;
		printf("Input the salasman's education background:") ;
		scanf("%s", s[i].education) ;
		count_salasman++ ;
	}
	printf("输入成功!\n") ;
}

void Modify_S_record() {
	int flag = -1 ;
	
	int i ;
	char num[20] ;
	int c ;
	char data[50] ;
	printf("输入销售员的编号:");
	scanf("%s", num) ;
	pr
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值