这是之前学经济方向的同学让我利用C语言写的关于MRP的数据处理的过程,在用C语言写的过程中利用了动态数组使得时区不仅限于这8时区,有相关的同学可以进行查看
代码运行结果如下(该代码可以自动调整参数,时区可以设置8天以上,比较灵活)
#include <iostream>
#include <stdlib.h>
using namespace std;int main(){//定义变量startint leadTime;//提前期int initialInventory;//初始库存量int dayNumber;//时区(列数)int netDemand=0;//净需求量int i,j;//定义变量endprintf("请输入提前期:");scanf("%d",&leadTime);printf("请输入初始库存量:");scanf("%d",&initialInventory);printf("请输入时区数:");scanf("%d",&dayNumber);//定义动态数组startint **array = (int **)calloc(7,sizeof(int));//7行固定for(i=0;i<7;i++) {array[i] = (int*)calloc(dayNumber,sizeof(int));}//定义动态数组endarray[3][0]=initialInventory;//时区1的库存量为初始库存量array[0][0]=1;//输入不同时区段的毛需求量和计划接受量startfor(i=0;i<dayNumber;i++){array[0][i]=i+1;printf("请输入%d时区的毛需求量:",i+1);scanf("%d",&array[1][i]);printf("请输入%d时区的计划接收量:",i+1);scanf("%d",&array[2][i]);}printf("\n");//输入不同时区段的毛需求量和计划接受量end/*//输出不同时区段的毛需求量和计划接受量startfor(i=0;i<3;i++){for(j=0;j<dayNumber;j++){printf("%d\t",array[i][j]);}printf("\n");//换行}//输出不同时区段的毛需求量和计划接受量end
*///计算其他数据量startfor(i=1;i<dayNumber;i++){//每列进行遍历,第一列不需要进行遍历array[3][i]=array[3][i-1]-array[1][i]+array[2][i];if(array[3][i]<0){array[4][i]=(0-array[3][i])-netDemand;array[5][i]=array[4][i];array[6][i-4]=array[5][i];}else{array[4][i]=0;array[5][i]=array[4][i];array[6][i]=array[5][i];}netDemand=netDemand+array[4][i];}//计算其他数据量start//输出数据start/*for(i=0;i<7;i++){for(j=0;j<dayNumber;j++){printf("%d\t",array[i][j]);}printf("\n");}*/printf("时区\t\t");for(j=0;j<dayNumber;j++){printf("%d\t",array[0][j]);}printf("\n");printf("毛需求量\t");for(j=0;j<dayNumber;j++){printf("%d\t",array[1][j]);}printf("\n");printf("计划接收量\t");for(j=0;j<dayNumber;j++){printf("%d\t",array[2][j]);}printf("\n");printf("库存量\t\t");for(j=0;j<dayNumber;j++){printf("%d\t",array[3][j]);}printf("\n");printf("净需求量\t");for(j=0;j<dayNumber;j++){printf("%d\t",array[4][j]);}printf("\n");printf("计划订货量\t");for(j=0;j<dayNumber;j++){printf("%d\t",array[5][j]);}printf("\n");printf("计划订单下达\t");for(j=0;j<dayNumber;j++){printf("%d\t",array[6][j]);}printf("\n");//输出数据end//释放指针startfor(i=0;i<7;i++) free(array[i]);free(array);//释放指针endreturn 0;
}
更多文章请关注以下公众号