用c语言编写一个仓库货物管理系统的程序

用c语言编写一个仓库货物管理系统的程序,第1张

个人觉得,题主的题的难度不亚于一个C语言的课程设计哈,在这提问不太合适。

就提供给你思路吧。

职工信息可以存入一个结构体数组中,此结构体元素包含有货物编号(unsigned int cargo_number);货物名称(char cargo_name[10]);货物价格(unsigned int cargo_price);货物数量(unsigned int cargo_price)。。。其他元素,题主根据要求添加元素。

然后,构建函数用来添加货物名称:void add_cargo_info(...)(形参元素为结构体数组名),即手动添加货物信息,完事后记得要将信息写入磁盘文件中;

然后,构建函数显弊悔拍示信息,这个简单,void display_cargo_info(...)(形参为结构体数组名),用一个while循环输出即可;

然后,查询函数,void cargo_info_search(...)(形参可为多种,名字,编号。。。),同样用while循环搞定;

然后,修改信息,void cargo_info_update(...)(形参前李同为结构体数组),调用查找函数,找到要修改的货物,然后在此信息中修改即可;

然后,删除信息,void cargo_info_delete(...)(形参同为租羡结构体数组),也是首先找到要删除的信息,然后要调用保存函数。

这个就是我的思路,题主可以参考,希望解决了题主的问题。

学籍管理的程序,你自己改改吧

#include<stdio.h>

#include<windows.h>

#include<conio.h>

int add()

int amend()

int remove()

int show_student()

int show_class()

struct info //定义结构体info,用于存储学生信息

{

char name[20] //姓名

char sex[20] //性别

char idcard[20]//身份z号码

char stuid[10] //学号

char academe[20] //学院

char specialty[20] //专业

char classid[20] //班级

char home[20]//生源地

}stu[100]

int j=0

int main(void) //主函数

{

/*登陆界面设计*/

char gongnengxuanzhe

int flag=1

system("cls")

printf("\n")

printf("\t\t\t\t 欢迎\n")

printf("\n\n\t尊敬的用户, 非常感谢您使用本系统 , 您的完美体验将是我们前进的方向 !\n\n\n")

printf("\t系统功能简介谨轿扰:\n\n\n")

printf("\t\t①:通过键盘输入某位学生的学生证信息。\n\n")

printf("\t\t②:给定学号,显示某位学生的学生证信息。\n\n")

printf("\t\t③:给定某个班级的班号,显示该班所有学生的学生证信息。\n\n")

printf("\t\t④帆差:给定某位学生的学号,修改该学生的学生证信息。\n\n")

printf("\t\t⑤:给定某位学生的学号,删除该学生的学生证信息。\n\n")

printf("\t\祥旦t⑥:按出生日期对全班学生的信息进行排序。\n\n\n")

printf("\t按任意键进入系统......")

getch()

do

{

system("cls")

printf("\n\n\n")

printf("尊敬的用户 ,欢迎您使用本系统 !\n")

printf("\n\n\n")

printf(" 1.增加学生信息\n\n")

printf(" 2.修改学生信息\n\n")

printf(" 3.删除学生信息\n\n")

printf(" 4.显示单个学生信息\n\n")

printf(" 5.显示整个班级学生信息\n\n")

printf(" 0.退出系统\n\n\n\n")

printf("请选择您需要使用的功能:")

gongnengxuanzhe=getch()

switch(gongnengxuanzhe)

{

case '1':add()break

case '2':amend()break

case '3':remove()break

case '4':show_student()break

case '5':show_class()break

case '0':flag=0break

default:

{

printf("\n\n您的输入有误,请仔细阅读使用说明!")

printf("\n任意键继续...")

getch()

}

}

}while(flag==1)

system("cls")

printf("\n\n\n\n\n\n\n\n\n\n\t尊敬的用户,非常感谢您的使用,您对于完美的追求是我们唯一的动力!")

printf("\n\n\t\t\t 按任意键退出系统......")

getch()

return 0

}

int add()//增加学生信息函数

{

char flag='1'

do

{

system("cls")

printf("\n\t姓名:")

scanf("%s",&stu[j].name)

printf("\n\n\t性别:")

scanf("%s",&stu[j].sex)

printf("\n\n\t身份z号:")

scanf("%s",&stu[j].idcard)

printf("\n\n\t学院:")

scanf("%s",&stu[j].academe)

printf("\n\n\t专业:")

scanf("%s",&stu[j].specialty)

printf("\n\n\t班级:")

scanf("%s",&stu[j].classid)

printf("\n\n\t学号:")

scanf("%s",&stu[j].stuid)

printf("\n\n\t生源地:")

scanf("%s",&stu[j].home)

j++

printf("\n\t继续增加请键入1,返回请键入其他任意键:")

getchar()

flag=getchar()

}while(flag=='1')

return 0

}

int amend() //修改学生信息函数

{

if(j==0)

{

system("cls")

printf("\n\n\n\n\n\n\n\n\n\n\t\t 系统无任何可以修改的记录,请先行输入数据!")

printf("\n\n\t\t\t 按任意键返回......")

getch()

return 0

}

char a[20]

int z

int flag=0

do

{

system("cls")

printf("\n\t需要修改的学生学号:")

scanf("%s",a)

for(z=0z<jz++)

{

if(strcmp(stu[z].stuid,a)==0)

{

flag=1

break //break退出后,z++不会执行

}

}

if(flag==0)

{

printf("\t对不起,你请求学生信息不存在,请核实后重试!\n")

printf("\t按任意键继续......")

getch()

}

}while(flag==0)

system("cls")

printf("\n\t姓名:")

scanf("%s",&stu[z].name)

printf("\n\n\t性别:")

scanf("%s",&stu[z].sex)

printf("\n\n\t身份z号:")

scanf("%s",&stu[z].idcard)

printf("\n\n\t学院:")

scanf("%s",&stu[z].academe)

printf("\n\n\t专业:")

scanf("%s",&stu[z].specialty)

printf("\n\n\t班级:")

scanf("%s",&stu[z].classid)

printf("\n\n\t学号:")

scanf("%s",&stu[z].stuid)

printf("\n\n\t生源地:")

scanf("%s",&stu[z].home)

return 0

}

int remove() //删除学生信息函数

{

if(j==0)

{

system("cls")

printf("\n\n\n\n\n\n\n\n\n\n\t\t 系统无任何可以删除的记录,请先行输入数据!")

printf("\n\n\t\t\t 按任意键返回......")

getch()

return 0

}

char a[20]

int z

int x

int flag=0

do

{

system("cls")

printf("\n\t需要删除的学生学号:")

scanf("%s",a)

for(z=0z<jz++)

{

if(strcmp(stu[z].stuid,a)==0)

{

flag=1

for(x=zx<jx++)

{

strcpy(stu[x].name,stu[x+1].name)

strcpy(stu[x].sex,stu[x+1].sex)

strcpy(stu[x].idcard,stu[x+1].idcard)

strcpy(stu[x].academe,stu[x+1].academe)

strcpy(stu[x].specialty,stu[x+1].specialty)

strcpy(stu[x].classid,stu[x+1].classid)

strcpy(stu[x].stuid,stu[x+1].stuid)

strcpy(stu[x].stuid,stu[x+1].stuid)

}

j--

printf("\n\t删除成功!")

printf("\n\t按任意键返回上级菜单......")

getch()

}

}

if(flag==0)

{

printf("\t对不起,你请求学生信息不存在,请核实后重试!\n")

printf("\t按任意键继续......")

getch()

}

}while(flag==0)

return 0

}

int show_student()//单个显示学生信息函数

{

if(j==0)

{

system("cls")

printf("\n\n\n\n\n\n\n\n\n\n\t\t 系统无任何可以显示的记录,请先行输入数据!")

printf("\n\n\t\t\t 按任意键返回......")

getch()

return 0

}

char a[20]

int z

int flag=0

do

{

system("cls")

printf("\n\t需要显示的学生学号:")

scanf("%s",a)

for(z=0z<jz++)

{

if(strcmp(stu[z].stuid,a)==0)

{

flag=1

system("cls")

printf("\n\t姓名:%s",stu[z].name)

printf("\n\n\t性别:%s",stu[z].sex)

printf("\n\n\t身份z号:%s",stu[z].idcard)

printf("\n\n\t学院:%s",stu[z].academe)

printf("\n\n\t专业:%s",stu[z].specialty)

printf("\n\n\t班级:%s",stu[z].classid)

printf("\n\n\t学号:%s",stu[z].stuid)

printf("\n\n\t生源地:%s",stu[z].home)

printf("\n\n\t按任意键返回上级菜单......")

getch()

}

}

if(flag==0)

{

printf("\t对不起,你请求显示的学生信息不存在,请核实后重试!\n")

printf("\t按任意键继续......")

getch()

}

}while(flag==0)

return 0

}

int show_class() //显示整个班级学生信息函数

{

if(j==0)

{

system("cls")

printf("\n\n\n\n\n\n\n\n\n\n\t\t 系统无任何可以显示的记录,请先行输入数据!")

printf("\n\n\t\t\t 按任意键返回......")

getch()

return 0

}

char a[20]

int z

int x

int flag=0

do

{

system("cls")

printf("\n\t需要显示的班级号码:")

scanf("%s",a)

for(z=0z<jz++)

{

if(strcmp(stu[z].classid,a)==0)

{

flag=1

system("cls")

printf("\t%s %s 基本信息\n",stu[z].specialty,stu[z].classid)

for(x=0x<jx++)

{

if(strcmp(stu[x].classid,a)==0)

{

printf("\n\n\t姓名:%s",stu[z].name)

printf("\n\t性别:%s",stu[z].sex)

printf("\n\t身份z号:%s",stu[z].idcard)

printf("\n\t学院:%s",stu[z].academe)

printf("\n\t专业:%s",stu[z].specialty)

printf("\n\t班级:%s",stu[z].classid)

printf("\n\t学号:%s",stu[z].stuid)

printf("\n\t生源地:%s",stu[z].home)

}

}

printf("\n\n\t按任意键返回上级菜单......")

getch()

}

}

if(flag==0)

{

printf("\t对不起,你请求显示的班级信息不存在,请核实后重试!\n")

printf("\t按任意键继续......")

getch()

}

}while(flag==0)

return 0

}

有疑问联系我,975853545@qq.com

请采纳。

给你个流程,自己学着做,做出来你会很有成就感的,对你的技术也有很大帮助:

仓库管理系统流程说明

(一)进货管理

现代商业管理,进货环节尤为重要,要求现场实时下订单(Purchase Order),及时补货。

1、 业务员根据手中的手持终端(Handheld Terminal,简称HHT),调用后台资料,与实际库存资料进行实 时对照,并可通过终端无线驱动打印机打印对照表;

2、 业务员根据实时对照表,现兄早枝场决定是否应补货或退货,通过终端调用后台数据库制定订单,以最羡敏快速度进行补货或退货;维持库存的合理性。

(二)上架

将货物存放到货位上。

(三)交叉驳运

这种作业不对商品进行储存,只处理信息分类。作业接受来自制造商的顾客组合订货,并把他们装运到个别的顾客处去。交叉站台是指多对多的配送体系中的货物调整。直接通过交叉换货后为客户配送,可以避免出入库的麻烦。

(四)收货管理

1、 供货商按照订单要求将货品送到商场收货处;

2、 商场验收人员利用终端调用后台数据库中相应的订单存盘,与供货商送来的商品逐一检查对照,并进行确认,包括:商品编码、商品数量、生产地、品种、规格、包装时间、保质时间、旧价格、新价格、变更时间、条形码标准等信息;

注:终端在系统未授权的情况下无法修改订单。睁册

3、 商场验收人员在终端上按[确认]键,将信息上传到后台服务器,并同时记录收货时间和收货人;

4、 终端可以现场实时调用后台数据库中供货商的历史订单,逐一查验对照核算;

5、 通过终端无线驱动打印机打印收货清单;

6、 在查验过程中出现问题,可以拒收货物。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12498278.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-08-25
下一篇2025-08-25

发表评论

登录后才能评论

评论列表(0条)

    保存