b2c信息网

您现在的位置是:首页 > 热点事件 > 正文

热点事件

c物流运输管理系统源码(c语言仓库货物管理系统)

hacker2022-07-13 21:02:20热点事件83
本文目录一览:1、物流运输管理系统TMS具体功能与作用是什么?2、

本文目录一览:

物流运输管理系统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);// 关闭文件,完成初始化的所有操作 

}

发表评论

评论列表

  • 只酷夏棠(2022-07-14 07:17:39)回复取消回复

       {   printf("记录号:%d\t工具名%s\t数量%d\t价格%.3f\n",tem.ID,tem.name,tem.num,tem.price);  } }  fclose(pf);}void

  • 惑心节枝(2022-07-13 21:48:19)回复取消回复

     printf("记录号:%d\t工具名%s\t数量%d\t价格%.3f\n",tem.ID,tem.name,tem.num,tem.price);  } }  fclose(pf);}void delect(