怎么用C语言链表实现销售管理系统
发表于:2024-09-24 作者:千家信息网编辑
千家信息网最后更新 2024年09月24日,这篇文章主要介绍"怎么用C语言链表实现销售管理系统"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"怎么用C语言链表实现销售管理系统"文章能帮助大家解决问题。源码
千家信息网最后更新 2024年09月24日怎么用C语言链表实现销售管理系统
这篇文章主要介绍"怎么用C语言链表实现销售管理系统"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"怎么用C语言链表实现销售管理系统"文章能帮助大家解决问题。
源码
#include#include #include typedef struct sale{ char no[12]; //代号 char name[40]; //姓名 int month[12]; //月份 float sales[12]; //月销售额 float total; //年度总销售额 struct sale *next; //指向下一节点的指针}SALE;//函数声明放在这里void ListCreate(SALE *L, int n); //创建链表节点void LIstSearch(SALE *L); //查找某个销售员某个月的销售额void ListModify(SALE *L); //修改某个销售员某个月的销售额void ListDelete(SALE *L); //删除某个销售员的销售信息void Input(SALE *p, int i); //录入销售员每个月销售额及其相关信息void Sum(SALE *L); //统计所有销售员的年度销售总额void SumSale(SALE *L); //输出所有销售员的年度销售总额void Max(SALE *L); //找出最大月销售额和年度总销售额void Min(SALE *L); //找出最大月销售额和年度总销售额void Menu(); //销售管理系统的菜单//销售管理系统的主函数入口int main(){ int item, n; //item用于接收输入的命令,n用于接收输入的销售员人数 SALE *L = NULL; //初始化一个头节点 L = (SALE *)malloc(sizeof(SALE)); //为头节点开辟内存空间 L->next = NULL; //将头节点的指针域置空 do { Menu(); //菜单 printf("请输入相应的数字,进行相应的操作:\n"); scanf("%d", &item); system("cls"); switch (item) { case 1: printf("请输入您要录入的销售员人数:"); scanf("%d", &n); ListCreate(L, n); getchar(); printf("\n请按任意键返回主菜单\n"); getchar(); system("cls"); break; case 2: LIstSearch(L); getchar(); printf("\n请按任意键返回主菜单\n"); getchar(); system("cls"); break; case 3: ListModify(L); //修改某个销售员某个月的销售额 getchar(); printf("\n请按任意键返回主菜单\n"); getchar(); system("cls"); break; case 4: ListDelete(L); //删除信息 getchar(); printf("\n请按任意键返回主菜单\n"); getchar(); system("cls"); break; case 5: Sum(L); SumSale(L); getchar(); printf("\n请按任意键返回主菜单\n"); getchar(); system("cls"); break; case 6: Sum(L); Max(L); printf("\n"); Min(L); getchar(); printf("\n请按任意键返回主菜单\n"); getchar(); system("cls"); break; case 0: //退出销售管理系统 printf("即将退出销售管理系统....."); exit(0); default: printf("您输入的指令不正确,请重新输入"); } printf("\n\n"); } while (item); return 0;}//创建链表,将新生成的节点插入到链表的表头void ListCreate(SALE *L, int n){ int i; for (i = 0; i < n; i++) { SALE *p; //将新生成的节点插入到链表中 p = NULL; p = (SALE *)malloc(sizeof(SALE)); Input(p, i); p->next = L->next; L->next = p; } printf("录入成功!");}//查找某个销售员某个月的销售额void LIstSearch(SALE *L){ int a; char n[40]; SALE *p = L->next; if (p == NULL) printf("数据为空,无法查找!"); else { printf("请输入您要查找的销售员姓名:"); scanf("%s", n); while (strcmp(p->name, n) != 0) { p = p->next; if (p == NULL) { printf("没有找到相关信息\n"); return; } } printf("请输入您要查找该销售员第几个月的销售额:"); scanf("%d",&a); printf("销售员%s第%d月的销售额为%.2f\n",p->name,a,p->sales[a-1]); }}// 修改某个销售员某个月的销售额void ListModify(SALE *L){ int a; char nam[40]; SALE *p = L->next; if (p == NULL) printf("数据为空,无法修改!"); else { printf("请输入您修改的销售员姓名:"); scanf("%s",nam); while(strcmp(p->name, nam) != 0) { p = p->next; if (p == NULL) { printf("没有找到相关信息\n"); return; } } printf("请输入您修改该销售员第几个月的销售额:"); scanf("%d",&a); printf("请输入您修改后的第%d月的销售额:",a); scanf("%f",&p->sales[a-1]); printf("修改成功"); }}//删除销售员销售信息void ListDelete(SALE *L){ char n[40]; SALE *p = L->next, *pre = L; //定义p指针指向头节点的指向,定义pre指向头节点,pre始终指向p的前驱节点 if (p == NULL) printf("数据为空,无法删除!"); else { printf("请输入您要删除的销售员姓名:"); scanf("%s", n); while (strcmp(p->name, n) != 0) { pre = p; p = pre->next; if (p == NULL) { printf("没有找到相关信息,无法删除\n"); return; } } pre->next = p->next; free(p); printf("删除成功"); }}//统计所有销售员的年度总销售额void Sum(SALE *L){ int i; SALE *p=L->next; while(p!=NULL) { p->total=0; for(i=0;i<12;i++) p->total+=p->sales[i]; p=p->next; }}//输出所有销售员的年度总销售额void SumSale(SALE *L){ SALE *p=L->next; printf("\n代号\t\t姓名\t\t年度总销售额\n"); while(p!=NULL) { printf("\n%s\t\t%s\t\t%.2f",p->no,p->name,p->total); p=p->next; }}//找出最大月销售额和年度总销售额void Max(SALE *L){ int i; float m=0,y=0; //m用于表示月销售额,y用于表示年销售额 SALE *p=L->next; while(p!=NULL) { for(i=0;i<12;i++) { if(p->sales[i]>m) m=p->sales[i]; } if(p->total>y) y=p->total; p=p->next; } printf("最大月销售额为%.2f元\n",m); printf("最大年销售额为%.2f元\n",y);}//找出最小月销售额和年度总销售额void Min(SALE *L){ int i; float m,y; //m用于表示月销售额,y用于表示年销售额 SALE *p=L->next; m=p->sales[0]; y=p->total; while(p!=NULL) { for(i=1;i<12;i++) { if(p->sales[i] sales[i]; } if(p->total total; p=p->next; } printf("最小月销售额为%.2f元\n",m); printf("最小年销售额为%.2f元\n",y);}//输入销售员每个月的销售额的相关信息void Input(SALE *p, int i){ int j; printf("请输入第%d个销售员代号:", i + 1); scanf("%s", p->no); printf("请输入第%d个销售员的姓名:", i + 1); scanf("%s", p->name); printf("请输入第%d名销售员12个月的的销售额(用空格隔开):", i + 1); for (j = 0; j < 12; j++) { scanf("%f", &p->sales[j]); //输入每个月的销售额 }}//销售管理系统的菜单void Menu(){ printf("\n\n"); printf("\t\t\t======================销售管理系统==========================\n"); printf("\t\t\t* 作者:XXX 班级:XXXXXXXXXXX 学号:XXXXXXXXXX *\n"); printf("\t\t\t* *\n"); printf("\t\t\t* 1>. 录入销售员每个月销售额及其相关信息 *\n"); printf("\t\t\t* 2>. 查找某个销售员某个月的销售额 *\n"); printf("\t\t\t* 3>. 修改某个销售员某个月的销售额 *\n"); printf("\t\t\t* 4>. 删除某个销售员的销售信息 *\n"); printf("\t\t\t* 5>. 统计所有销售员的销售信息 *\n"); printf("\t\t\t* 6>. 找出最大(或最小)月销售额和年度总销售额 *\n"); printf("\t\t\t* 0>. 退出管理系统 *\n"); printf("\t\t\t* 欢迎使用本系统! *\n"); printf("\t\t\t===========================================================\n"); printf("\t\t\t输入选项,按回车进入选项: \n");}
主界面
关于"怎么用C语言链表实现销售管理系统"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。
销售
销售额
销售员
输入
系统
信息
年度
管理系统
管理
节点
菜单
最大
姓名
最小
语言
成功
代号
指向
指针
数据
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
陕西学习软件开发商
根据数据库画er图
国家网络安全推进什么体系建设
c 数据库list
上海软件开发石家庄
dna数据库只采集男的
数据库中的码是指
服务器pe系统下载
南京俞晶软件开发工作室
学习计算机网络技术买什么笔记本
移动终端与软件开发
管理部门大服务器
移动电子商务网络安全对策
荣成软件开发服务
网络安全手抄报简单内容少
阳江卫星软件开发价目表
网络安全有风险无法登录
服务器管理及维护
服务器集显独显都能用
计算机软件开发管辖
不在网络安全基本范围内的
网上外卖系统数据库设计
徐州品牌网络技术服务费
数据库安装完后怎么用
静安区网络软件开发创新服务
计算机网络技术必考试题
广东省网络安全管理征求意见
太空服务器
aeecss数据库网络上用
大量数据导入数据库