您的位置:首页 > 编程语言 > C语言/C++

用C语言编写的商品库存管理系统

2014-01-14 20:02 573 查看
这次的程序主要写了商品库存管系统的基本操作(录入、查看、删除、修改、查询),全部都是自己写的,主要练习的是如何运用注释(文件注释、函数注释、if/while/switch条件注释[b]等)。[/b]

/*

* @Copyright(C),2014-2015,Buu.

* @author

* @Version:1.0

* @Date:2014-1-13 13:03

* @Filename:Main.c

* @Description: 主函数,程序从这个函数开始运行。

* @FunctionList:

* 1. int main(void);主函数

* 2.void add_goods(information im[], int geshu);录入商品信息

* 3.check_goods(information im[]);查询并显示所有商品

* 4.menu(); 列出对商品所要执行的操作:录入、查询、删除、修改

* 5.void del_goodsinfor(information im[],int goods_number);

* 对商品进行删除操作

* 6. void check_oneGoods(information im[], int goods_number);

* 对商品按编号进行查询

* 7. void menu1();列出对商品信息修改操作:名称、编号、数目

* 8. void change_goodsinfor(information im[],int goods_number)

* 对商品信息进行修改

* @Others:

* @History: <author><time><version><desc>

*/

#include<stdio.h>

#define max 100/*给定结构体数组的最大值*/

int size = 0;


/*显示商品属性的信息*/

typedef struct goodsInformation

{

char goods_name[20];/*商品的名字*/

int goods_number;/*商品的编号*/

int goods_count;/*商品的数目*/

}information;


/*

* Function:void add_goods(information im[], int geshu)

* Description:存储商品的信息

* Called By:

* int main(void)

* Input:用户根据相应的提示,输入商品信息

*

*/

void add_goods(information im[], int geshu)

{

int i;

int count = size + geshu;

/*目的是实现商品的多次输入*/

for(i = size; i < count; i++)

{

printf("请录入商品的名称:\n");

scanf("%s",im[i].goods_name);


printf("请录入商品的编号:\n");

scanf("%d",&im[i].goods_number);

printf("请录入商品的数目:\n");

scanf("%d",&im[i].goods_count);

size++;

}/*end of for*/

printf("添加成功!\n\n");

}


/*

* Function:void check_goods(information im[])

* Description:查询所有的商品并显示出来

* Called By:

* int main(void)

* Output:显示所有的商品

*

*/

void check_goods(information im[])

{

int i;

/*目的是实现输入多个商品*/

for(i = 0; i < size; i++)

{

printf("库存的商品有:");

printf("商品的名称=%s\t商品的编号=%d\t商品的数目=%d\n",

im[i].goods_name,im[i].goods_number,im[i].goods_count);

}/*end of for*/

}


/*

* Function:void menu()

* Description:列出对商品所要执行的操作:录入、查询、删除、修改等。

* Called By:

* int main(void)

* Output:列出对商品所要执行的操作:录入、查询、删除、修改

*

*/

void menu()

{

printf("\n\t\t\t菜单栏\n\n\t\t1.录入\t\t2.查看\n\n\t\t3.删除\t\t4.修改\n\n\t\t5.查询\t\t退出请按:-1\n\n");

}


/*

* Function:void del_goodsinfor(information im[],int goods_number)

* Description:删除对应编号的商品信息。

* Called By:

* int main(void)

* Output:输出提示信息

*

*/

void del_goodsinfor(information im[],int goods_number)

{

int i,j;

/*找到给定的编号,并删除对应编号的信息*/

for(i = 0; i < size; i++)

{

/*通过比较找到对应编号,然后删除*/

if(im[i].goods_number == goods_number)

{

/*通过移动数组元素来删除信息*/

for(j = i; j < size - 1; j++)

{

im[j] = im[j+1];

} /*end of for*/

size--;

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

return ;

}/*end of if*/

}/*end of for*/

printf("没有该商品\n");

}


/*

* Function:void check_oneGoods(information im[], int goods_number)

* Description:根据相应的编号,查询一个商品的信息并显示出来

* Called By:

* int main(void)

* Output:一个的商品的信息

*

*/

void check_oneGoods(information im[], int goods_number)

{

int i,j;

/*是实现一个商品的查询*/

for(i = 0; i < size; i++)

{

if(im[i].goods_number == goods_number)

{

printf("商品的名称=%s\t商品的编号=%d\t商品的数目=%d\n",

im[i].goods_name,im[i].goods_number,im[i].goods_count);

return ;

}/*end of if*/

}/*end of for*/

printf("没有该商品\n");


}

/*

* Function:void menu1()

* Description:列出对商品的属性所要执行的操作:名称、编号、数目等。

* Called By:

* void change_goodsinfor(information im[],int goods_number)

* Output:列出对商品所要执行的操作:名称、编号、数目

*

*/

void menu1()

{

printf("\n\t\t\t选择修改项\n\n\t\t1.名称\t\t2.编号\n\n\t\t3.数目\t4.修改所有信息\n\n");

}


/*

* Function:void change_goodsinfor(information im[],int goods_number)

* Description:根据相应的编号,修改一个商品的信息

* Calls: void menu1()

* Called By:

* int main(void)

* Output:对商品的修改信息进行提示

*

*/

void change_goodsinfor(information im[],int goods_number)

{

int i, choose;

/*找到对应的编号,然后根据对应编号的商品信息进行修改*/

for(i=0; i<size; i++)

{

/*通过比较找到修改的编号,进行修改*/

if(im[i].goods_number == goods_number)

{

menu1(); /*列出对商品所要执行的操作:名称、编号、数目*/

printf("请选择要修改的信息项目:");

scanf("%d",&choose);

/*根据用户选择进行相应的修改*/

switch(choose)

{

case 1:

printf("请录入修改的商品的名称:\n");

scanf("%s",im[i].goods_name);

printf("修改成功!\n");

break;

case 2:

printf("请录入修改的商品的编号:\n");

scanf("%d",&im[i].goods_number);

printf("修改成功!\n");

break;

case 3:

printf("请录入修改的商品的数目:\n");

scanf("%d",&im[i].goods_count);

printf("修改成功!\n");

break;

case 4:

printf("请录入修改的商品的名称:\n");

scanf("%s",im[i].goods_name);

printf("请录入修改的商品的编号:\n");

scanf("%d",&im[i].goods_number);

printf("请录入修改的商品的数目:\n");

scanf("%d",&im[i].goods_count);

printf("修改成功!\n");

break;

default:

printf("输入错误!!");

} /*end of switch*/

return;

}/*end of if*/

}/*end of for*/

printf("没有该商品\n");

}


/*

* Function:int main(void) Description:主函数

* Calls:

* 1.void add_goods(information im[], int geshu);

* 2.check_goods(information im[]);

* 3.menu();

* 4.void del_goodsinfor(information im[],int goods_number);

* 5. void check_oneGoods(information im[], int goods_number);

* 6. void change_goodsinfor(information im[],int goods_number)

* Input:用户根据需要,输入要选择的功能的编号

* Output:查询并显示所有的商品

*

*/

int main(void)

{

information goods[max];

int geshu;

int value = 0;

int goods_id;

while(value != -1)//当用户不想对商品进行操作时,按"-1"结束操作

{

menu();//列出操作:录入、查询、删除、修改等

printf("请选择所要执行的操作:\n");

scanf("%d",&value);

switch(value)//根据value的值来执行相应的操作

{

case 1:

printf("请输入你要录入商品种类的个数:");

scanf("%d",&geshu);

add_goods(goods, geshu);//商品的录入

break;

case 2:

check_goods(goods);//所有商品的查询

break;

case 3:

printf("请输入要删除的商品的编号:");

scanf("%d",&goods_id);

del_goodsinfor(goods,goods_id);//删除商品的信息

break;

case 4:

printf("请输入要修改的商品的编号:");

scanf("%d",&goods_id);

change_goodsinfor(goods,goods_id);//修改商品的信息

break;

case 5:

printf("请输入要查询的商品的编号:");

scanf("%d",&goods_id);

check_oneGoods(goods,goods_id);//商品信息的查询

break;

case -1:

printf("退出!");

break;

default:

printf("输入信息错误!!");

} /*end of switch*/

}/*end of while*/

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: