
就提供给你思路吧。
职工信息可以存入一个结构体数组中,此结构体元素包含有货物编号(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、 在查验过程中出现问题,可以拒收货物。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)