c物流运输管理系统源码(c语言仓库货物管理系统)
本文目录一览:
- 1、物流运输管理系统TMS具体功能与作用是什么?
- 2、一、设计目标 用C语言或C++编程实现物流配送管理系统,主要巩固和使用C语言或C++中结构体和文件的相关知识
- 3、c语言仓库管理系统源代码
- 4、C语言编程:货物管理系统
物流运输管理系统TMS具体功能与作用是什么?
tms物流运输系统常用的功能有:路径优化,运单分配,车辆管理、车辆跟踪、轨迹查看,异常反馈,绩效管理等。
作用:提高竞争力,提高物流运作效率,车辆周转趟次,提高内部协作管理能力,提高物流管理的透明度,减少大量人力物力成本,透明化管理,提高客户的满意度。
一、设计目标 用C语言或C++编程实现物流配送管理系统,主要巩固和使用C语言或C++中结构体和文件的相关知识
首先建立一个结构体,包含以下属性:物品名称、物品编号、物品出厂地、物品配送地、配送方式、配送个数、配送金额、配送日期(年、月、日)等
然后调用STL中的list(链表),简单点的可以用结构体数组,在内存中建立所有的节点信息
添加就直接对上述数据结构进行操作即可
显示的话轮询上述结构,依次输出
存储则调用文件读写接口依次写到文件里去
查询就是查找数据结构,根据关键字找到后进行输出
更改首先也是找到该节点,然后对结构体节点进行修改
删除则直接抹掉该节点,前后指针连起来即可
程序设计的作业吧? 亲,我们就算帮你写出来了,用到的东西可能是超出你们现在学习程度的,你保证你们老师看不出来?
自己老老实实写吧,思路都给你提供了,照着一步步做就行了
写完一个这样的东西之后,以后就简单了,我们当时也是这么写代码过来的
c语言仓库管理系统源代码
学籍管理的程序,你自己改改吧
#includestdio.h
#includewindows.h
#includeconio.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]; //身份证号码
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=0;break;
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身份证号:");
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=0;zj;z++)
{
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身份证号:");
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=0;zj;z++)
{
if(strcmp(stu[z].stuid,a)==0)
{
flag=1;
for(x=z;xj;x++)
{
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=0;zj;z++)
{
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身份证号:%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=0;zj;z++)
{
if(strcmp(stu[z].classid,a)==0)
{
flag=1;
system("cls");
printf("\t%s %s 基本信息\n",stu[z].specialty,stu[z].classid);
for(x=0;xj;x++)
{
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身份证号:%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
请采纳。
C语言编程:货物管理系统
可以提供一个很类似的:
#include stdio.h
#include string.h
#include stdlib.h
#define N 100
struct hardware
{
int ID;
char name[35];
int num;
float price;
}output={0,"empty",0,0};
int main()
{
void init( hardware *output );
void delect( void );
void foutput( void );
void renew( void );
int i=0,select;// 记录静态链表的长度
do
{
printf("**************************\n");
printf("* 请输入您要执行的操作: *\n");
printf("* 0------创建商品文件 *\n");
printf("* 1------更新商品信息 *\n");
printf("* 2------打印商品文件 *\n");
printf("* 3------删除商品信息 *\n");
printf("* 4------确定退出程序 *\n");
printf("**************************\n");
printf("请输入您的选择:");
scanf("%d",select);
if( select==4 )
{
return 0;
}
else if( i==0 select!=0 )
{
printf("商品文件尚未建立,不能进行该操作!\n");
select=5;
}
switch(select)
{
case 0:init( output ); printf("文件commodity.dat已创建完成!\n"); i++; break;
case 1:renew( );printf("指定的信息已经更新完成.\n"); break;
case 2:foutput( ); printf("指定的文件commodity.dat已经打印完成.\n"); break;
case 3:delect( );printf("库存为零的商品已经删除完成.\n"); break;
case 4:break;
default:printf("输入有误!请重新输入.\n");
}
}while( select!=4 );
return 0;
}
void renew( void )
{
FILE *pf;
hardware *tem;
int i=0,j,num,ID;
if( (tem= (hardware*) malloc ( sizeof(hardware)) )==NULL )
{
printf("memory error!\n");
exit(0);
}
printf("请输入您要您要更新的商品条数:\n");
scanf("%d",num);
while( inum )
{
z:printf("请输入需要更新的商品号:\n");
scanf("%d",ID);
if( IDN || ID1 )
{
printf("输入的商品号有误,请重新输入!\n");
goto z;
}
if( (pf=fopen("D:\\commodity.dat","rb+"))==NULL )
{
printf("open file error!\n");
exit(0);
}
for( j=0; jN; j++)// 读出数据
{
if( !fread( tem,sizeof(hardware),1,pf) )
{
printf("output error!\n");
}
if( tem-ID==ID )
{
printf("记录号:%d\t工具名%s\t数量%d\t价格%.3f\n",tem-ID,tem-name,tem-num,tem-price);
printf("\n请输入新的商品信息:\n");
printf("请输入需要更新的第%d件的工具名:\n",i+1);
scanf("%s",tem-name);
printf("请输入需要更新的第%d件商品数量和价格(以空格隔开):\n",i+1);
scanf("%d %f",tem-num,tem-price);
fseek(pf,-1L*sizeof(hardware),1);
if( !fwrite( tem,sizeof(hardware),1,pf) )
{
printf("input error!\n");
}
printf("第%d个商品数据更新成功!\n",i+1);
break;
}// if
}// for
fclose(pf);
i++;
}//while
free(tem);
}
void foutput( void )
{
FILE *pf;
hardware tem;
int i;
if( (pf=fopen("D:\\commodity.dat","rb"))==NULL )
{
printf("open file error!\n");
exit(0);
}
printf("\n*********打印列表如下:*********\n");
for( i=0; iN; i++ )// 读出数据
{
if( !fread(tem,sizeof(hardware),1,pf) )
{
printf("output error!\n");
}
if( strcmp(tem.name,"empty") )//
{
printf("记录号:%d\t工具名%s\t数量%d\t价格%.3f\n",tem.ID,tem.name,tem.num,tem.price);
}
}
fclose(pf);
}
void delect( void )
{
FILE *pf;
hardware *tem;
int i;
if( (tem= (hardware*) malloc (sizeof(hardware)) )==NULL )
{
printf("memory error!\n");
exit(0);
}
if( (pf=fopen("D:\\commodity.dat","rb+"))==NULL )
{
printf("open file error!\n");
exit(0);
}
for(i=0; iN; i++ )// 读出数据
{
fseek( pf,0,1);
if( !fread( tem,sizeof(hardware),1,pf) )
{
printf("output error!\n");
}
if( tem-num==0 )
{
strcpy(tem-name,"empty");//
tem-price=0;
fseek(pf,-1L*sizeof(hardware),1);
if( !fwrite( tem,sizeof(hardware),1,pf) )
{
printf("input error!\n");
}
}// if
}// for
fclose(pf);
free(tem);
}
void init( hardware *output )
{
FILE *pf;
int i;
if( (pf=fopen("D:\\commodity.dat","wb"))==NULL )
{
printf("open file error!\n");
exit(0);
}
for( i=0; iN; i++)// 初始化100个元素
{
output-ID=i+1;
if(!fwrite( output,sizeof(hardware),1,pf ))
{
printf("input error!\n");
}
}
fclose(pf);// 关闭文件,完成初始化的所有操作
}