首先要创建数据库啊,也就是一个txt文件,要让里面有内容啊。其次是你的增加删除商品种类,修改指定商品的数目之类的,具体看老师的要求。
例程(基本框架,具体的操作需进一步开发):
#include <stdio.h>#include <stdlib.h>
#include <conio.h>
#include <memory.h>
int count=0
struct commodity
{
int id /*商品编号*/
int number /*库存数量*/
int price /*单价*/
char name[20] /*商品名称*/
char indate[9] /*入库时间*/
char deadline[9] /*有效日期*/
}a[100]
void page_title(char *menu_item)
{
printf("【商品库存管理系统】\n",menu_item)
}
void return_confirm(void)
{
printf("\n按任意键返回……\n")
getch()
}
void insert(void) /*1插入*/
{
}
int search(void) /*2商品信息的查询*/
{
}
void del(void) /*3删除*/
{
}
void sort() /*4排序*/
{
}
int modify(void) /*5修改*/
{
}
int main(void)
{ menu: page_title("操作选单")
printf("\t\t\t 1 信息查询\t2 全部商品\n\n")
printf("\t\t\t 3 商品增加\t4 商品删除\n\n")
printf("\t\t\t 5 信息修改\t0 退出程序\n\n ")
switch(getch())
{
case '1' : search()break
case '2' : sort()break
case '3' : insert()break
case '4' : del()break
case '5' : modify()break
case '0' : exit(0)
}
goto menu
return 0
}
#include <stdio.h>#include <stdlib.h>
#include <string.h>
typedef struct node{
char no[20]//存放编号
char name[40]//存放名称
int reserve//库存
struct node *next
}NODE
typedef struct link{
NODE *front//头指针
NODE *rear//尾指针
}LINK;
NODE *create_node(void){
NODE *node = (NODE *)malloc(sizeof(NODE))
printf("请输入货物编号:")
gets(node->no)
printf("请输入货物名称:")
gets(node->name)
printf("请输入货物名称:")
char ch
while( (ch= getchar()) != '\n')//rewind(stdin)
scanf("%d",&node->reserve)
node->next = NULL
return node
}
void init_link(LINK *link){
link->rear = NULL
link->front = NULL
}
int link_empty(LINK *link){
return link->front == NULL ? 1: 0
}
int node_num(LINK *link){
int num = 0
if( link_empty(link)){
return num
}
num = 1
NODE *node = link->front
while(node != link->rear){
node = node->next
++num
}
return num
}
/*NODE *node_find(LINK *link,const int n){
int num = node_num(link)
if(num <n){
printf("公有节点%d个,无法找到第%d个节点\n",num,n)
}
else{
}
}
*/
void node_push(LINK *link){
NODE *node = create_node()
if(link->front == NULL){
link->front = node
link->rear = node
node->next = NULL
}
else{
link->rear->next = node
link->rear = node
node->next = NULL
}
}
void node_insert(LINK *link,const int n){
int num = 0,i = 1
NODE *node = link->front
NODE *new_node = NULL
if ( link_empty(link) ){
printf("链表为空,将建立链表!\n")
node_push(link)
}
else{
if( n <= 1){
printf("在链表头插入数据\n")
new_node = create_node()
new_node->next = link->front
link->front = new_node
}
else if( n>= num = node_num(link) ){
printf("节点数少于%d,将在末尾插入节点.\n",n)
node_push(link)
}
else{
printf("在第n个节点后插入数据\n")
if(num >= n){
while( i != n){
node = node->next
++i
}
new_node = create_node()
new_node-next = node->next
node->next = new_node
}
}
}
void find_node_insert(LIKNK *link,const char *name){
NODE *node = link->front
if( link_empty(link) )
node_push(link)
else {
while(strcmp(node->name,name) != 0){
if(node != link->rear)
node = node->next
else break
}
if(node != NULL){
NODE *new_node = create_node()
new_node-next = node->next
node->next = new_node
}
else {
printf("没有找到相关货物,将在头节点插入数据\n")
intsert(link,0)
}
}
/*由于我不知到你对货物统计具体实现的要求,关于货物数量统计就你自己写了,应该比较简单。*/
/* 代码没有具体运行过,如果你学过C结构体与指针,就这个代码思路应该看得明白,真正的实现你自己实现吧
这样对你会更好写。可能会有错误的地方,请谨慎。 */