我在source files中建立了2个.c文件,分别为main.c和machdize.c
在main.c中#include<stdio.h>
#include<string.h>
#include<conio.h>
#include<stdlib.h>
#include”common.h”
#include”machdize.c”
#include<string.h>
#include<conio.h>
#include<stdlib.h>
#include”common.h”
#include”machdize.c”
void showMenu();
void main()
{
int nSelect;
while(1)
{
showMenu();
printf(“请选择操作(0-7):”);
scanf(“%d”,&nSelect);
switch(nSelect)
{
case 1:
main_Machandize();
break;
case 0:
printf(“程序退出!\n”);
break;
default:
printf(“错误输入,请重试!\n”);
}
}
printf(“程序退出,按任意键继续”);
getch();
}
void showMenu()
{
printf(“——————————————————–\n”);
printf(“* 商品库存管理系统 *\n”);
printf(“——————————————————–\n”);
printf(“* 1.商品信息维护 *\n”);
printf(“* 2.客户信息维护 *\n”);
printf(“* 3.供应商信息维护 *\n”);
printf(“* 4.入库管理 *\n”);
printf(“* 5.出库管理 *\n”);
printf(“* 6.查询与统计 *\n”);
printf(“* 7.用户管理 *\n”);
printf(“* 0.退出 *\n”);
printf(“——————————————————–\n”);
}
{
printf(“——————————————————–\n”);
printf(“* 商品库存管理系统 *\n”);
printf(“——————————————————–\n”);
printf(“* 1.商品信息维护 *\n”);
printf(“* 2.客户信息维护 *\n”);
printf(“* 3.供应商信息维护 *\n”);
printf(“* 4.入库管理 *\n”);
printf(“* 5.出库管理 *\n”);
printf(“* 6.查询与统计 *\n”);
printf(“* 7.用户管理 *\n”);
printf(“* 0.退出 *\n”);
printf(“——————————————————–\n”);
}
在machdize.c中
#include<stdio.h>
#include<string.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>
#include<conio.h>
#include<stdlib.h>
struct stMerchandize
{
char num[10];
char name[20];
char supply[10];
int num_of_inventory;
int price;
};
{
char num[10];
char name[20];
char supply[10];
int num_of_inventory;
int price;
};
int len=0;
void viewMachandize(struct stMerchandize *a);
void showMcMenu();
void addMachandize(struct stMerchandize *a);
void modify(struct stMerchandize *a,int n,char ID[]);
void delMachandize(struct stMerchandize *a);
void main_Machandize()
{
int nSelect;
char ID[10];
struct stMerchandize b[10],*a;
a=b;
system(“cls”);
while(1)
{
showMcMenu();
printf(“请选择操作(0-4)”);
scanf(“%d”,&nSelect);
switch(nSelect)
{
case 2:
addMachandize(b);
break;
case 1:
viewMachandize(b);
break;
case 3:
delMachandize(b);
break;
case 4:
printf(“输入要修改商品的编号”);
scanf(“%s”,&ID);
modify(a,len,ID);
break;
case 0:
printf(“程序退出!\n”);
break;
default:
printf(“错误输入,请重试!\n”);
}
printf(“程序退出,按任意键继续”);
getch();
system(“cls”);
}
}
{
int nSelect;
char ID[10];
struct stMerchandize b[10],*a;
a=b;
system(“cls”);
while(1)
{
showMcMenu();
printf(“请选择操作(0-4)”);
scanf(“%d”,&nSelect);
switch(nSelect)
{
case 2:
addMachandize(b);
break;
case 1:
viewMachandize(b);
break;
case 3:
delMachandize(b);
break;
case 4:
printf(“输入要修改商品的编号”);
scanf(“%s”,&ID);
modify(a,len,ID);
break;
case 0:
printf(“程序退出!\n”);
break;
default:
printf(“错误输入,请重试!\n”);
}
printf(“程序退出,按任意键继续”);
getch();
system(“cls”);
}
}
void showMcMenu()
{
printf(“——————————————————–\n”);
printf(“* 商品信息维护子系统 *\n”);
printf(“——————————————————–\n”);
printf(“* 1.显示所有商品信息 *\n”);
printf(“* 2.添加商品 *\n”);
printf(“* 3.删除商品 *\n”);
printf(“* 4.修改商品信息 *\n”);
printf(“* 0.退出 *\n”);
printf(“——————————————————–\n”);
}
void addMachandize(struct stMerchandize *a)
{
fflush(stdin);
printf(“输入商品的名称:”);
scanf(“%s”,(a+len)->name);
printf(“输入商品的编号:”);
scanf(“%s”,(a+len)->num);
printf(“输入商品的供应商:”);
scanf(“%s”,(a+len)->supply);
printf(“输入商品的库存:”);
scanf(“%d”,&(a+len)->num_of_inventory);
printf(“输入商品的单价:”);
scanf(“%d”,&(a+len)->price);
len++;
}
void viewMachandize(struct stMerchandize *a)
{
int i;
printf(“商品的名称、编号、供应商、库存、单价\n”);
for(i=0;i<len;i++)
{
printf(“%s “,(a+i)->name);
printf(“%s “,(a+i)->num);
printf(“%s “,(a+i)->supply);
printf(“%d “,(a+i)->num_of_inventory);
printf(“%d\n”,(a+i)->price);
}
a++;
}
void modify(struct stMerchandize *a,int n,char ID[])
{
int i;
int index = -1;
for (i=0;i<n;i++)
{
if(strcmp((a+i)->num,ID)==0)
{
printf(“商品的名称修改为:”);
scanf(“%s”,(a+i)->name);
printf(“商品的编号修改为:”);
scanf(“%s”,(a+i)->num);
printf(“商品的供应商修改为:”);
scanf(“%s”,(a+i)->supply);
printf(“商品的库存修改为:”);
scanf(“%d”,&(a+i)->num_of_inventory);
printf(“商品的单价修改为:”);
scanf(“%d”,&(a+i)->price);
break;
}
}
if(i>=n)
{
printf(“没有找到数据!\n”);
}
}
void delMachandize(struct stMerchandize *a)
{
char b[10];
int i,j;
printf(“输入要删除商品的编号”);
scanf(“%s”,&b);
for (i=0;i<len;i++)
{
if(strcmp((a+i)->num,b)==0)
{
for(j=i+1;j<len;j++,i++)
{
strcpy((a+i)->name,(a+j)->name);
strcpy((a+i)->num,(a+j)->num);
strcpy((a+i)->supply,(a+j)->supply);
(a+i)->num_of_inventory=(a+j)->num_of_inventory;
(a+i)->price=(a+j)->price;
void addMachandize(struct stMerchandize *a)
{
fflush(stdin);
printf(“输入商品的名称:”);
scanf(“%s”,(a+len)->name);
printf(“输入商品的编号:”);
scanf(“%s”,(a+len)->num);
printf(“输入商品的供应商:”);
scanf(“%s”,(a+len)->supply);
printf(“输入商品的库存:”);
scanf(“%d”,&(a+len)->num_of_inventory);
printf(“输入商品的单价:”);
scanf(“%d”,&(a+len)->price);
len++;
}
void viewMachandize(struct stMerchandize *a)
{
int i;
printf(“商品的名称、编号、供应商、库存、单价\n”);
for(i=0;i<len;i++)
{
printf(“%s “,(a+i)->name);
printf(“%s “,(a+i)->num);
printf(“%s “,(a+i)->supply);
printf(“%d “,(a+i)->num_of_inventory);
printf(“%d\n”,(a+i)->price);
}
a++;
}
void modify(struct stMerchandize *a,int n,char ID[])
{
int i;
int index = -1;
for (i=0;i<n;i++)
{
if(strcmp((a+i)->num,ID)==0)
{
printf(“商品的名称修改为:”);
scanf(“%s”,(a+i)->name);
printf(“商品的编号修改为:”);
scanf(“%s”,(a+i)->num);
printf(“商品的供应商修改为:”);
scanf(“%s”,(a+i)->supply);
printf(“商品的库存修改为:”);
scanf(“%d”,&(a+i)->num_of_inventory);
printf(“商品的单价修改为:”);
scanf(“%d”,&(a+i)->price);
break;
}
}
if(i>=n)
{
printf(“没有找到数据!\n”);
}
}
void delMachandize(struct stMerchandize *a)
{
char b[10];
int i,j;
printf(“输入要删除商品的编号”);
scanf(“%s”,&b);
for (i=0;i<len;i++)
{
if(strcmp((a+i)->num,b)==0)
{
for(j=i+1;j<len;j++,i++)
{
strcpy((a+i)->name,(a+j)->name);
strcpy((a+i)->num,(a+j)->num);
strcpy((a+i)->supply,(a+j)->supply);
(a+i)->num_of_inventory=(a+j)->num_of_inventory;
(a+i)->price=(a+j)->price;
}
len=len-1;
break;
}
}
}
len=len-1;
break;
}
}
}
在common.h中我定义了各种结构体,可是就是运行不了,machdize.c单独运行改一点就能正常运行,可是想进行主函数的调用,就不好使了,问题在哪啊,大家能帮着改改吗,就是main的case1调用machdize.c的函数,调用不了啊,怎么回事啊
>> 本文固定链接: http://www.vcgood.com/archives/3420
我在source files中建立了2个.c文件,分别为main.c和machdize.c
#include<string.h>
#include<conio.h>
#include<stdlib.h>
#include”common.h”
#include”machdize.c”
{
int nSelect;
{
showMenu();
printf(“请选择操作(0-7):”);
scanf(“%d”,&nSelect);
switch(nSelect)
{
case 1:
main_Machandize();
break;
case 0:
printf(“程序退出!\n”);
break;
default:
printf(“错误输入,请重试!\n”);
}
}
printf(“程序退出,按任意键继续”);
getch();
}
{
printf(“——————————————————–\n”);
printf(“* 商品库存管理系统 *\n”);
printf(“——————————————————–\n”);
printf(“* 1.商品信息维护 *\n”);
printf(“* 2.客户信息维护 *\n”);
printf(“* 3.供应商信息维护 *\n”);
printf(“* 4.入库管理 *\n”);
printf(“* 5.出库管理 *\n”);
printf(“* 6.查询与统计 *\n”);
printf(“* 7.用户管理 *\n”);
printf(“* 0.退出 *\n”);
printf(“——————————————————–\n”);
}
#include<string.h>
#include<conio.h>
#include<stdlib.h>
{
char num[10];
char name[20];
char supply[10];
int num_of_inventory;
int price;
};
void showMcMenu();
void addMachandize(struct stMerchandize *a);
void modify(struct stMerchandize *a,int n,char ID[]);
void delMachandize(struct stMerchandize *a);
{
int nSelect;
char ID[10];
struct stMerchandize b[10],*a;
a=b;
system(“cls”);
while(1)
{
showMcMenu();
printf(“请选择操作(0-4)”);
scanf(“%d”,&nSelect);
switch(nSelect)
{
case 2:
addMachandize(b);
break;
case 1:
viewMachandize(b);
break;
case 3:
delMachandize(b);
break;
case 4:
printf(“输入要修改商品的编号”);
scanf(“%s”,&ID);
modify(a,len,ID);
break;
case 0:
printf(“程序退出!\n”);
break;
default:
printf(“错误输入,请重试!\n”);
}
printf(“程序退出,按任意键继续”);
getch();
system(“cls”);
}
}
{
printf(“——————————————————–\n”);
printf(“* 商品信息维护子系统 *\n”);
printf(“——————————————————–\n”);
printf(“* 1.显示所有商品信息 *\n”);
printf(“* 2.添加商品 *\n”);
printf(“* 3.删除商品 *\n”);
printf(“* 4.修改商品信息 *\n”);
printf(“* 0.退出 *\n”);
printf(“——————————————————–\n”);
void addMachandize(struct stMerchandize *a)
{
fflush(stdin);
printf(“输入商品的名称:”);
scanf(“%s”,(a+len)->name);
printf(“输入商品的编号:”);
scanf(“%s”,(a+len)->num);
printf(“输入商品的供应商:”);
scanf(“%s”,(a+len)->supply);
printf(“输入商品的库存:”);
scanf(“%d”,&(a+len)->num_of_inventory);
printf(“输入商品的单价:”);
scanf(“%d”,&(a+len)->price);
len++;
}
void viewMachandize(struct stMerchandize *a)
{
int i;
printf(“商品的名称、编号、供应商、库存、单价\n”);
for(i=0;i<len;i++)
{
printf(“%s “,(a+i)->name);
printf(“%s “,(a+i)->num);
printf(“%s “,(a+i)->supply);
printf(“%d “,(a+i)->num_of_inventory);
printf(“%d\n”,(a+i)->price);
}
a++;
}
void modify(struct stMerchandize *a,int n,char ID[])
{
int i;
int index = -1;
for (i=0;i<n;i++)
{
if(strcmp((a+i)->num,ID)==0)
{
printf(“商品的名称修改为:”);
scanf(“%s”,(a+i)->name);
printf(“商品的编号修改为:”);
scanf(“%s”,(a+i)->num);
printf(“商品的供应商修改为:”);
scanf(“%s”,(a+i)->supply);
printf(“商品的库存修改为:”);
scanf(“%d”,&(a+i)->num_of_inventory);
printf(“商品的单价修改为:”);
scanf(“%d”,&(a+i)->price);
break;
}
}
if(i>=n)
{
printf(“没有找到数据!\n”);
}
}
void delMachandize(struct stMerchandize *a)
{
char b[10];
int i,j;
printf(“输入要删除商品的编号”);
scanf(“%s”,&b);
for (i=0;i<len;i++)
{
if(strcmp((a+i)->num,b)==0)
{
for(j=i+1;j<len;j++,i++)
{
strcpy((a+i)->name,(a+j)->name);
strcpy((a+i)->num,(a+j)->num);
strcpy((a+i)->supply,(a+j)->supply);
(a+i)->num_of_inventory=(a+j)->num_of_inventory;
(a+i)->price=(a+j)->price;
len=len-1;
break;
}
}
}