用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*/
}
/*
* @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*/
}
相关文章推荐
- C语言编写的商品管理系统
- 用C语言编写的超市商品信息管理系统
- C语言编写学生成绩管理系统
- 【linux下用C语言编写带图形界面的成绩管理系统附带源代码】
- 完成库存管理系统文档编写
- 《C语言编写 学生成绩管理系统》
- 《C语言编写 学生成绩管理系统》
- c语言编写的简单信息管理系统
- MVC大型商贸系统(库存管理)技术解释(四) 商品调拨
- 【C语言】商品管理系统 哪错了 哪位大神来解答一下啊。。。
- java 课设 商品库存管理系统
- 二叉树的应用:利用C语言编写简单的家谱管理系统
- 纯Java编写的商品管理系统 List集合模仿数据库
- C语言练手自己编写学生成绩管理系统
- c语言编写学生管理系统
- 小的库存管理程序 C语言编写
- c语言使用链表编写一个可以实现班级学生管理系统,增加,删除,修改学生信息
- C语言编写学生管理系统
- 《C语言编写 学生成绩管理系统》
- 学生管理系统----用c语言在Xcode里编写 学生管理系统