• 库存管理系统C语言课程设计


    库存管理系统(只列出了大体的框架,需要源码的朋友请私信联系。)
    1、问题描述
    超市中商品分为四类,分别是食品、化妆品、日用品和饮料。每种商品都包含商品名称、价格、库存量和品牌等信息。主要完成对商品的销售、统计和简单管理。
    2、功能要求
    (1)进货功能。按要求添加相应商品的信息到库存中。添加进货日期、生产厂家、进货价等信息。
    (2)出货功能。出货时,先输入商品类别,然后输入商品名称,并在库存中查找该商品的相关信息。如果有库存量,输入出货的数量、出货日期,计算销售额和利润。如果库存量不够,给出提示信息,结束出货。
    (3)统计功能。
    输出当前库存中所有商品的总数及详细信息;能统计每种商品一周时间内的销售额和利润;能统计每类商品的一周时间内的销售额和利润。输出统计信息时,要按从大到小进行排序。
    (4)商品简单管理功能。
    添加功能:主要完成商品基本信息的添加。
    查询功能:可按商品类别、商品名称、生产厂家、进货日期进行查询。若存在相应信息,输出所查询的信息,若不存在该记录,则提示“该记录不存在!”。
    修改功能:可根据查询结果对相应的记录进行修改。
    删除功能:主要完成商品信息的删除。先输入商品类别,再输入要删除的商品名称,根据查询结果删除该物品的记录,如果该商品不在物品库中,则提示“该商品不存在”。
    商品信息存盘:将当前程序中的商品信息存入文件中。
    读出信息:从文件中将商品信息读入程序。

    struct goods{
    	char name[20];
    	char press[20];
    	char code[20];
    	char type[20];
    	double num;
    	double price;
    	double selling;
    	char date[20];	
    };
    
    struct Node{
    	struct goods data;
    	struct Node* next;
    };
    
    //创建链表(头) 
    struct Node* createList(){
    	struct Node* listHeadNode=(struct Node*)malloc(sizeof(struct Node));
    	listHeadNode->next=NULL;
    	return listHeadNode;
    }
    
    //创建节点 
    struct Node* createNode(struct goods data){
    	struct Node* newNode=(struct Node*)malloc(sizeof(struct Node));
    	newNode->data=data;
    	newNode->next=NULL;
    	return newNode;
    }
    
    int add(void);
    
    //查询信息 
     struct Node* searchNodeByAppoin(struct Node* listHeadNode,int a,char *way){
    	struct Node* input=listHeadNode->next;
    	struct Node* tempNode=NULL;
    	if(input==NULL){ 
    		printf("未找到相关信息"); 
    		return input;
    	} else{
    
    		if(a==1){
    		   while(input!=NULL){
    			if(strcmp(input->data.name,way)==0){
    				printNode(input);
    				tempNode=input;
    			}
    
    			input=input->next;
    			}
    		}else if(a==2){
    			while(input!=NULL){
    			if(strcmp(input->data.code,way)==0){
    				printNode(input);
    				tempNode=input;
    			}
    
    			input=input->next;
    			}
    		}else if(a==3){
    
    			while(input){
    				if(strcmp(input->data.type,way)==0){
    					printNode(input);
    					tempNode=input;
    				}
    
    				input=input->next;
    			}
    		}else if(a==4){
    		while(input!=NULL){
    			if(strcmp(input->data.press,way)==0){
    				printNode(input);
    				tempNode=input;
    			}
    
    			input=input->next;
    			}
    		}
    		if(tempNode==NULL){
    			printf("该标题不存在");
    		}
    		return tempNode;
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86

    在这里插入图片描述
    (只列出了大体的框架,需要源码的朋友请私信联系。)

  • 相关阅读:
    揭秘Karmada百倍集群规模多云基础设施体系
    使用Go语言和chromedp库下载Instagram图片:简易指南
    How To Improve Your LISTENING SKILLS( 如何提升你的听力技能) 学习
    TCP协议之《套接口sk_backlog接收队列》
    HTML5学习系列之实用性标记
    Win10修复IPv6优先访问
    Java面试题整理常用类部分
    Studio One6.5版本要不要更新?哪些人需要更新?更新了哪些内容
    C站专家圈分享-低代码构建WebAPI的原理与体验
    MySQL-存储过程-函数-
  • 原文地址:https://blog.csdn.net/weixin_45735797/article/details/125436465