导航:首页 > 源码编译 > c商品采购系统源码

c商品采购系统源码

发布时间:2023-07-15 17:24:40

❶ c语言仓库管理系统源代码

学籍管理的程序,你自己改改吧
#include<stdio.h>
#include<windows.h>
#include<conio.h>
int add();
int amend();
int remove();
int show_student();
int show_class();
struct info //定义结构体info,用于存储学生信息
{
char name[20]; //姓名
char sex[20]; //性别
char idcard[20]; //身份证号码
char stuid[10]; //学号
char academe[20]; //学院
char specialty[20]; //专业
char classid[20]; //班级
char home[20]; //生源地
}stu[100];
int j=0;
int main(void) //主函数
{
/*登陆界面设计*/
char gongnengxuanzhe;
int flag=1;
system("cls");
printf("\n");
printf("\t\t\t\t 欢迎\n");
printf("\n\n\t尊敬的用户, 非常感谢您使用本系统 , 您的完美体验将是我们前进的方向 !\n\n\n");
printf("\t系统功能简介:\n\n\n");
printf("\t\t①:通过键盘输入某位学生的学生证信息。\n\n");
printf("\t\t②:给定学号,显示某位学生的学生证信息。\n\n");
printf("\t\t③:给定某个班级的班号,显示该班所有学生的学生证信息。\n\n");
printf("\t\t④:给定某位学生的学号,修改该学生的学生证信息。\n\n");
printf("\t\t⑤:给定某位学生的学号,删除该学生的学生证信息。\n\n");
printf("\t\t⑥:按出生日期对全班学生的信息进行排序。\n\n\n");
printf("\t按任意键进入系统......");
getch();
do
{
system("cls");
printf("\n\n\n");
printf(" 尊敬的用户 ,欢迎您使用本系统 !\n");
printf("\n\n\n");
printf(" 1.增加学生信息\n\n");
printf(" 2.修改学生信息\n\n");
printf(" 3.删除学生信息\n\n");
printf(" 4.显示单个学生信息\n\n");
printf(" 5.显示整个班级学生信息\n\n");
printf(" 0.退出系统\n\n\n\n");
printf(" 请选择您需要使用的功能:");
gongnengxuanzhe=getch();
switch(gongnengxuanzhe)
{
case '1':add();break;
case '2':amend();break;
case '3':remove();break;
case '4':show_student();break;
case '5':show_class();break;
case '0':flag=0;break;
default:
{
printf("\n\n 您的输入有误,请仔细阅读使用说明!");
printf("\n 任意键继续...");
getch();
}

}
}while(flag==1);
system("cls");
printf("\n\n\n\n\n\n\n\n\n\n\t尊敬的用户,非常感谢您的使用,您对于完美的追求是我们唯一的动力!");
printf("\n\n\t\t\t 按任意键退出系统......");
getch();
return 0;
}
int add() //增加学生信息函数
{
char flag='1';
do
{
system("cls");
printf("\n\t姓名:");
scanf("%s",&stu[j].name);
printf("\n\n\t性别:");
scanf("%s",&stu[j].sex);
printf("\n\n\t身份证号:");
scanf("%s",&stu[j].idcard);
printf("\n\n\t学院:");
scanf("%s",&stu[j].academe);
printf("\n\n\t专业:");
scanf("%s",&stu[j].specialty);
printf("\n\n\t班级:");
scanf("%s",&stu[j].classid);
printf("\n\n\t学号:");
scanf("%s",&stu[j].stuid);
printf("\n\n\t生源地:");
scanf("%s",&stu[j].home);
j++;
printf("\n\t继续增加请键入1,返回请键入其他任意键:");
getchar();
flag=getchar();
}while(flag=='1');
return 0;
}
int amend() //修改学生信息函数
{
if(j==0)
{
system("cls");
printf("\n\n\n\n\n\n\n\n\n\n\t\t 系统无任何可以修改的记录,请先行输入数据!");
printf("\n\n\t\t\t 按任意键返回......");
getch();
return 0;
}
char a[20];
int z;
int flag=0;
do
{
system("cls");
printf("\n\t需要修改的学生学号:");
scanf("%s",a);
for(z=0;z<j;z++)
{
if(strcmp(stu[z].stuid,a)==0)
{
flag=1;
break; //break退出后,z++不会执行
}
}
if(flag==0)
{
printf("\t对不起,你请求学生信息不存在,请核实后重试!\n");
printf("\t按任意键继续......");
getch();
}
}while(flag==0);
system("cls");
printf("\n\t姓名:");
scanf("%s",&stu[z].name);
printf("\n\n\t性别:");
scanf("%s",&stu[z].sex);
printf("\n\n\t身份证号:");
scanf("%s",&stu[z].idcard);
printf("\n\n\t学院:");
scanf("%s",&stu[z].academe);
printf("\n\n\t专业:");
scanf("%s",&stu[z].specialty);
printf("\n\n\t班级:");
scanf("%s",&stu[z].classid);
printf("\n\n\t学号:");
scanf("%s",&stu[z].stuid);
printf("\n\n\t生源地:");
scanf("%s",&stu[z].home);
return 0;
}
int remove() //删除学生信息函数
{
if(j==0)
{
system("cls");
printf("\n\n\n\n\n\n\n\n\n\n\t\t 系统无任何可以删除的记录,请先行输入数据!");
printf("\n\n\t\t\t 按任意键返回......");
getch();
return 0;
}
char a[20];
int z;
int x;
int flag=0;
do
{
system("cls");
printf("\n\t需要删除的学生学号:");
scanf("%s",a);
for(z=0;z<j;z++)
{
if(strcmp(stu[z].stuid,a)==0)
{
flag=1;
for(x=z;x<j;x++)
{
strcpy(stu[x].name,stu[x+1].name);
strcpy(stu[x].sex,stu[x+1].sex);
strcpy(stu[x].idcard,stu[x+1].idcard);
strcpy(stu[x].academe,stu[x+1].academe);
strcpy(stu[x].specialty,stu[x+1].specialty);
strcpy(stu[x].classid,stu[x+1].classid);
strcpy(stu[x].stuid,stu[x+1].stuid);
strcpy(stu[x].stuid,stu[x+1].stuid);
}
j--;
printf("\n\t删除成功!");
printf("\n\t按任意键返回上级菜单......");
getch();
}
}
if(flag==0)
{
printf("\t对不起,你请求学生信息不存在,请核实后重试!\n");
printf("\t按任意键继续......");
getch();
}
}while(flag==0);
return 0;
}
int show_student() //单个显示学生信息函数
{
if(j==0)
{
system("cls");
printf("\n\n\n\n\n\n\n\n\n\n\t\t 系统无任何可以显示的记录,请先行输入数据!");
printf("\n\n\t\t\t 按任意键返回......");
getch();
return 0;
}
char a[20];
int z;
int flag=0;
do
{
system("cls");
printf("\n\t需要显示的学生学号:");
scanf("%s",a);
for(z=0;z<j;z++)
{
if(strcmp(stu[z].stuid,a)==0)
{
flag=1;
system("cls");
printf("\n\t姓名:%s",stu[z].name);
printf("\n\n\t性别:%s",stu[z].sex);
printf("\n\n\t身份证号:%s",stu[z].idcard);
printf("\n\n\t学院:%s",stu[z].academe);
printf("\n\n\t专业:%s",stu[z].specialty);
printf("\n\n\t班级:%s",stu[z].classid);
printf("\n\n\t学号:%s",stu[z].stuid);
printf("\n\n\t生源地:%s",stu[z].home);
printf("\n\n\t按任意键返回上级菜单......");
getch();
}
}
if(flag==0)
{
printf("\t对不起,你请求显示的学生信息不存在,请核实后重试!\n");
printf("\t按任意键继续......");
getch();
}
}while(flag==0);
return 0;
}
int show_class() //显示整个班级学生信息函数
{
if(j==0)
{
system("cls");
printf("\n\n\n\n\n\n\n\n\n\n\t\t 系统无任何可以显示的记录,请先行输入数据!");
printf("\n\n\t\t\t 按任意键返回......");
getch();
return 0;
}
char a[20];
int z;
int x;
int flag=0;
do
{
system("cls");
printf("\n\t需要显示的班级号码:");
scanf("%s",a);
for(z=0;z<j;z++)
{
if(strcmp(stu[z].classid,a)==0)
{
flag=1;
system("cls");
printf("\t%s %s 基本信息\n",stu[z].specialty,stu[z].classid);
for(x=0;x<j;x++)
{
if(strcmp(stu[x].classid,a)==0)
{
printf("\n\n\t姓名:%s",stu[z].name);
printf("\n\t性别:%s",stu[z].sex);
printf("\n\t身份证号:%s",stu[z].idcard);
printf("\n\t学院:%s",stu[z].academe);
printf("\n\t专业:%s",stu[z].specialty);
printf("\n\t班级:%s",stu[z].classid);
printf("\n\t学号:%s",stu[z].stuid);
printf("\n\t生源地:%s",stu[z].home);
}
}
printf("\n\n\t按任意键返回上级菜单......");
getch();
}
}
if(flag==0)
{
printf("\t对不起,你请求显示的班级信息不存在,请核实后重试!\n");
printf("\t按任意键继续......");
getch();
}
}while(flag==0);
return 0;
}
有疑问联系我,[email protected]
请采纳。

❷ C语言设计商品管理系统,可以实现商品的录入,查询,求源代码

#include <stdio.h>
#include <conio.h>
#include <string.h>
#define SIZE 300

typedef struct
{
char name[30];
int num;
char shang[10];
float price;
}record;

void DataInput(record *com, int *nptr);
int DataRead(record *com,int *nptr) ;
void DataStorage(record *com, int n); /*信息保存到文件*/
void DataFind( );
void DataDisPlay( );
void DataAdd( );
void DataDel( );
void DataStatistic( );

int main( )
{
record shangpin[SIZE];
int number=20; /*设商品数*/
char fn;
printf("\t~~~~~~商品管理系统~~~~~~");
while(1)
{
printf("\n\t\t1.商品信息录入\n"); /*显示主菜单*/
printf("\t\t2.商品信息显示\n");
printf("\t\t3.商品信息查找\n");
printf("\t\t4.商品信息添加\n");
printf("\t\t5.商品信息删除\n");
printf("\t\t6.商品信息统计\n");
printf("\t\t0.退出系统");

printf("\n\t~~~~~~~~~~~~~~~~\n");

printf("\t请输入你的一个选项(数字0-6): ");
fflush(stdin);
scanf("%c",&fn);
puts("\n");

switch(fn) /*切换到不同功能*/
{
case '1':
DataInput(shangpin, &number );
break; /*录入信息*/
case '2':DataDisPlay();
break; /*信息显示*/
case '3':
DataFind();
break; /*信息查找*/
case '4':
DataAdd( );
break; /*增加*/
case '5':
DataDel( );
break; /*删除*/
case '6':
DataStatistic();
break; /*信息统计*/
case '0':
return 0;

default:puts("\t\t没有这个项!返回主菜单!");
break;
}

printf("\n\t\t完毕!按任意键继续");
getch( );

puts("\n");
}
}

void DataInput(record *com, int *nptr) /*商品信息录入*/
{
int i = 0;
int n ; /*录入的总数*/
char YesOrNo; /*判断是否保存*/
char shangming[30]; /*商名*/
int haoma; /*商品号*/
char shangjia[10]; /*单价*/
float danjia;
printf("\t\t请输入商品个数:");
scanf("%d",&n);
*nptr = n; /*nptr返回商品个数*/
printf("\t\t现在开始录入这%d个商品信息:\n\n",n);
while(i<n)
{
printf("请输入商品的商品名:",i+1);
scanf("%s",&shangming);
printf("请输入商品的商品号:",i+1);
scanf("%d",&haoma);
printf("请输入商品的生产商:",i+1);
scanf("%s",&shangjia);
printf("请输入商品的单价 :",i+1);
scanf("%f",&danjia);
if(danjia>=0&&danjia<=1000) /*有效的单价才录入*/
{
strcpy(com[i].name,shangming);
com[i].num = haoma;
strcpy(com[i].shang,shangjia);
com[i].price = danjia;
i =i+1;
}
else
printf("输入的单价是一个无效的值!!!\n\n");
} /*结束while*/

printf("要保存您刚才录入的数据吗(Y/N)?"); /*选择保存*/
fflush(stdin);
scanf("%c",&YesOrNo);
if(YesOrNo=='y'||YesOrNo=='Y')
DataStorage(com,n);
else if(YesOrNo=='n'||YesOrNo=='N')
return;
else
printf("输入了不正确的选项\n");
return;

} /*结束函数*/

void DataFind( ) /*查找*/
{

void OnNumber(record *com,int n ); /*按商品号排序*/
int key; /*key为要查找的关键值*/
int low = 0; /*下限*/
int high ; /*上限*/
int mid ; /*中间值*/
char ans; /*选项*/
record com[SIZE];
int n;

if(DataRead(com,&n)==1) /*从文件中读取信息*/
{
OnNumber(com,n); /*先按商品号排序*/
high = n;
do
{
printf("\n\n\t\t请输入你要查找的商品号:");
scanf("%d",&key);

low = 0;high = n;
while (low <=high)
{
mid = (high + low)/2; /*折半查找法*/

if (key == com[mid].num )
{
printf("\n\t\t你要找的是第%d个商品\n",mid + 1);
printf("\t\t结果如下:\n\n");

printf("序号\t\t商品名\t 商品号\t生产商\t单价\n");
printf("%3d%17s%12d%12s%8.1f\n",mid+1,com[mid].name,com[mid].num,com[mid].shang,
com[mid].price);

break; /*如果找到则退出循环*/
}

if (key > com[mid].num ) low = mid + 1;
else high = mid - 1;
}

if (low > high)
printf("\t\t,没有找到这个价格!\n");
printf("\n\t\t还要继续查询吗(Y/N)?");
ans = getch( );
}
while (ans =='Y'||ans == 'y'); /*结束do....while*/
}
}

void DataStorage(record *com, int n) /*录入保存文件*/
{
int i;
FILE *comPtr;
char FileName[20];
printf("请输入您要保存的文件名:");
scanf("%s",FileName);
printf("正在将商品信息保存到文件,请稍候……\n");
if((comPtr=fopen(FileName,"w"))==NULL)
printf("没有该文件\n");
else
for(i=0 ; i<n ; i++)
fprintf(comPtr,"\n%17s%12d%12s%8.1f",com[i].name,com[i].num,com[i].shang,com[i].price);
fclose(comPtr);
}

int DataRead(record *com,int *nptr) /*读取文件*/
{
int i=0;
char datafile[20];
FILE *comPtr;

*nptr = 0;
printf("请输入文件名:");
scanf("%s",datafile);
if((comPtr = fopen(datafile,"r")) == NULL) /*打开文件*/
{
printf("没有该文件,请重新输入!\n");
return 0;
}
else
{
printf("正在读取商品单价,请稍候……\n");
while (!feof(comPtr))
{
fscanf(comPtr,"%s%d%s%f",&com[i].name,&com[i].num,&com[i].shang,&com[i].price);
i++;
}
*nptr = i;
printf("\n");

fclose(comPtr);

return 1;
}

}

void DataDisPlay()
{
void OnPrice(record *com,int n ); /*按单价*/
void OnNumber(record *com,int n ); /*按商品号*/
int N;
int i;
record com[300];
char YesNo; /*是否按顺序显示*/
char tp;

if(DataRead(com,&N)==1) /*从文件读取数据*/
{

printf("序号\t\t商品名\t 商品号\t生产商\t单价\n");
for(i=0;i<N;i++)
printf("%3d%17s%12d%12s%8.1f\n",i+1,com[i].name,com[i].num,com[i].shang,com[i].price);

printf("要按顺序显示吗?(Y/N)?");
fflush(stdin);
scanf("%c",&YesNo);
if(YesNo=='y'||YesNo=='Y')
{
printf("\t请输入排序方式:\n");
printf("\t(1.按价格排序从低到高;2.按商品号排序从低到高.)");
fflush(stdin);
scanf("%c",&tp);
if(tp=='1')
OnPrice(com,N);
else if(tp =='2')
OnNumber(com,N);
else
printf("\t输入了不正确项!\n");
}
}
} /*结束显示成绩*/

void OnPrice(record *com,int n ) /*按单价顺序*/
{ int i,j;
record temp;
printf("\t\t按单价排序---\n\n");

printf("商品总数为%d:\n",n);

for(j=0 ; j<n-1 ; j++) /*冒泡排序*/
for(i=0 ; i<n-j-1 ; i++)
if(com[i].price>com[i+1].price)
{
temp=com[i];
com[i]=com[i+1];
com[i+1]=temp;
}

printf("\n\t\t按成绩排序的结果如下(按分数从低到高):\n\n");

printf("序号\t\t商品名\t 商品号\t生产商\t单价\n");
for(i=0 ; i<n ; i++)
printf("%3d%17s%12d%12s%8.1f\n",i+1,com[i].name,com[i].num,com[i].shang,
com[i].price);

}

void OnNumber(record *com,int n ) /*按序号顺序*/
{
int i,j;
record temp;

printf("\t\t按商品号排序---\n\n");

printf("商品总数为%d:\n",n);

for(j=0 ; j<n-1 ; j++)
for(i=0 ; i<n-j-1 ; i++)
if(com[i].num>com[i+1].num)
{
temp=com[i];
com[i]=com[i+1];
com[i+1]=temp;
}

printf("\n\t按商品号排序的结果如下(按商品号从小到大):\n\n");

printf("序号\t\t商品名\t 商品号\t生产商\t单价\n");
for(i=0 ; i<n ; i++)
printf("%3d%17s%12d%12s%8.1f\n",i+1,com[i].name,com[i].num,com[i].shang,
com[i].price);

}

void DataAdd( ) /*增加*/
{
int i=0,n,m; /*商品名称*/
char shangming[30];
int haoma; /*生产商*/
char shangjia[10];
float danjia;
char YesOrNo;
record com[SIZE];

printf("\t\t读取原有数据信息---\n");
if(DataRead(com,&n)==1)
{
printf("\t\t信息读取完毕!\n\n");

printf("\t\t请输入要添加的商品总数:");
scanf("%d",&m);

printf("\t\t现在开始录入这%d个商品信息:\n\n",m);

while(i<m)
{

printf("第%d个商品的商品名:",i+1);
scanf("%s",&shangming);
printf("第%d个商品的商品号:",i+1);
scanf("%d",&haoma);
printf("第%d个商品的生产商:",i+1);
scanf("%s",&shangjia);
printf("第%d个商品的单价:",i+1);
scanf("%f",&danjia);
if(danjia>=0&&danjia<=1000) /*有效的单价才录入*/
{
strcpy(com[i+n].name,shangming);
com[i+n].num = haoma;
strcpy(com[i+n].shang,shangjia);
com[i+n].price = danjia;
i =i+1;
}
else
printf("输入的单价是一个无效的值,请重新输入!\n\n");

}

printf("要保存您刚才录入的数据吗(Y/N)?");
fflush(stdin);
scanf("%c",&YesOrNo);
if(YesOrNo=='y'||YesOrNo=='Y')
DataStorage(com,n+m);
else if(YesOrNo=='n'||YesOrNo=='N')
return;
else
printf("输入了不正确项,返回上一级\n");
return;
}
}

void DataDel( )//删除
{
void OnNumber(record *com,int n );
record com[SIZE];
int i; /*总记录数*/
int n; /*要删除的记录号*/
int m;

printf("\t\t读取原有数据信息---\n");
if(DataRead(com,&n)==1)
{
printf("\t\t原始数据如下:\n\n");
OnNumber(com,n );

printf("请输入你要删除的记录的序号");
scanf("%d",&m);
if(m>=1 && m<=n)
{
for(i=m-1;i<n-1;i++)
com [i] = com[i+1];
DataStorage(com,n-1);
}
}
}

void DataStatistic( ) /*统计信息*/
{
int high=0,low=200,ave=0;
int n,i,sum=0;
int g,l;
record com[SIZE];
printf("读取数据信息---\n");
if(DataRead(com,&n)==1)
{
printf("商品总数为%d\n\n",n);
for(i=0;i<n;i++)
{
if(com[i].price>high)
{
high = com[i].price;
g=i;
}
if(com[i].price<low)
{
low = com[i].price;
l=i;
}
sum += com[i].price;
}
ave=sum/n;
printf("\t\t最高\t最低\t平均\n"); /*计算值*/
printf("商品单价统计:\t%d\t%d\t%d\n\n",high,low,ave);
printf("序号\t\t商品名\t 商品号\t生产商\t单价\n");
for(i=0 ; i<n ; i++)
printf("%3d%17s%12d%12s%8.1f\n",i+1,com[i].name,com[i].num,com[i].shang,
com[i].price);

printf("\t\t 序号\t\t 商品名\t 商品号\t 生产商 单价\n");

printf("单价最高的商品是:%3d%17s%12d%12s%8.1f\n\n",g+1,com[g].name,com[g].num,com[g].shang,com[g].price);
printf("单价最低的商品是:%3d%17s%12d%12s%8.1f\n",l+1,com[l].name,com[l].num,com[l].shang,com[l].price);

} /*结束统计*/
}

❸ 数据结构:产品进销存管理系统的源代码(c语言或c++的)

&(p->salesquantity),&(p->salestime).year),&((p->salestime).month),&((p->salestime).day)); p->nextproct=q->nextproct;
q->nextproct=p;
q=p
}
}
return ok;
}//ProctInsert
void ProQuantity_add(sqmountlink&L,char pkindname 1[],char pname 1[],int n)
{//添加顺序表挂接链表的某产品的总量,且需添加的产品总量为n
int i,k;
plinklist p;
for(i=0;i<L.length;i++)
{
if(strcmp(L.kindelem[i]).pkindname,pkindname 1)!=0)
continue;
else
break;
}
if(i<L.length)
{
for(p=L.kindelem[i].firstproct;p!=NULL;p=p->nextproct)
{
k=strcnp(p->pname.pname);
if(k==0)
{
p->totalquantity=p->totalquantity+n;
printf("查看添加后产品的各项输出:%s %d%d,%d %d %d,%d,%d\n",p-pname,p->totalquantity,(p->goodsdate).year,(p->goodsdate).month,(p->goods).day,
p->salequanlity,(p->salestime).year,(p->salestime).month,(p->salestime).day);
}
}
}
}//ProQuantity_add
void Visit(sqmountlink&L,char pkindname3[],char pname3[])
{//在顺序表挂接链表L中,查询属于某产品类的某产品的各项信息
int i,k;
plinklist p;
for(i=0;i<L.length;i++)
{
if(strcmp((L.kindelem[i]),pkindname.pkindname3)!=0)
continue
else
break;
}
if(i<L.length)
{
for(p=L.kindelem[i].firstprodicy;p!=NULL;p=p->nextprocy)
{
k=strcmp(p->pname.pname3);
if(k==0)
break;
}
if(k!=0)
printf("此产品不存在:\n")
else
{
printf("输出带查询产品的各项信息:\n");
printf("%s %s %d %d,%d,%d %d %d,%d,%d\n",(L.kindelem[i]).pkindname,p->pname,p->totalquantity,(p->goodsdate).year,(p->goodsdate).month,(p->goodsdate).day,
p->salequantity,(p->salestime).year,(p->salestime).month,(p->salestime).day);
}
}
}//Visit
void DisplayList(sqmountlink&L)
{//显示各产品所属产品类,产品名称、产品总量,进货日期,销出数量,销售时间
int i;
plinklist p;
printf("产品类 产品 进货日期 销出数量 销售时间\n")
for(i=0;i<L.length;i++)
{
if(!(L.kindelem[i],firstproct))
printf("%s\n",(L.kindelem[i]).pkindname);
for(p=L.kindelem[i].firstproct;p;p=p->nextproct)
printf("%s %s %d %d,%d,%d %d %d,%d,%d \n",(L.kindelem[i]).pkindname,p->pname,p->totalquantity,(p->goodsdate).year,(P->goodsdate).month,(p->goodsdate).day,p->salesquantity,(p->salestime).year,(p->salestime).month,(p->salestime).day);
}
}//DisplayList
void DestoryMountList(sqmountlink&L)
{//销毁已存在的顺序表挂接链表L
int i;
kindlnode *p;
for(i=L.length;i>=0;
{
p=&(L.kindelem[i]);
if(*p).firstproct==NULL)
free(p);
else
{
while((*p).firstproct;q->nextproct;q=q->nextproct);
free(q);
}
free(q);
}
}
}//DestroyMountList
void menu_operation()
{//操作菜单
printf("----输入所要执行操作:-------\n")
printf("----产品类的添加:1------\n");
printf("----产品的添加:2-----\n");
printf("----产品数量的添加:3-----\n");
printf("----查询每种产品所属产品类,产品总量,进货日期,销出数量,销售时间:4-----------\n")
printf("----释放L所占内存空间,退出程序:0-----\n");
}//menu_operation
/*--------------主程序-------------*/
void main(void)
{
int order,
int i,n;
char a[30];
char b[30];
sqmountlink L;
InitMountList(L);
printf("-----创建初始的产品类、产品顺序表挂接链表L-----\n");
CreatMuntList(L);
DisplayList(L);
printf("-----初始的产品类、产品顺序表挂接链表L创建完成-----\n");
menu_operation();
loop:
printf("输入命令:");
scanf("%d",&order);
switch(order)
{
case 1:
printf("需添加产品类的个数:");
scanf("%d",&i);
kindinsert(L,i);
printf("输出修改后的产品库存管理表:\n");
DisplayList(L);
goto loop;
case 2:
printf("需添加产品所属产品类的名称:")
scanf("%s",&a);
printf("需向此产品类添加产品的个数:");
scanf("%d",&i);
ProctInsert(L,a,i);
printf("输出修改后的产品库存管理表:\n");
DisplayList(L);
goto loop;
case 3:
printf("输入需添加数量的产品所属产品类的名称:");
scanf("%s",&a);
printf("输入需添加数量的产品的名称:");
scanf("%d",&n);
ProQuantity_add(L,a,b,n);
printf("输出修改后的产品库存管理表:\n");
DisplayList(L);
goto loop ;
case 4:
printf("输入待查询产品所属产品类的名称:");
scanf("%s",&b);
printf("输入待查询产品的名称:");
scanf(%s",&b);
Visit(L<a,b);
goto loop;
case ():
DestroyMountList(L);
exit(0);
}
}

❹ 商品库存管理系统的c语言源代码

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

struct BOOK
{
int id,usr[10],total,store,days[10];
char name[31],author[21];
}books[100];
/*上面是结构体的定义,用于存放书籍及借书的信息。*/

void page_title(char *menu_item)
{
clrscr();
printf(">>> 图 书 管 理 系 统 <<<\n\n- %s -\n\n",menu_item);
}
/*上面是打印页眉的函数,同时通过参数menu_item,可以显示当前的状态。*/

void return_confirm(void)
{
printf("\n按任意键返回……\n");
getch();
}
/*上面是返回前请求确认的函数,以便在返回前观察结果*/

int search_book(void)
{
int n,i;
printf("请输入图书序号:");
scanf("%d",&i);
for(n=0;n<100;n++)
{
if(books[n].id==i)
{
printf("书名:%s\n",books[n].name);
printf("作者:%s\n",books[n].author);
printf("存数:%d of ",books[n].store);
printf("%d\n",books[n].total);
return n;
}
}
printf("\n输入错误或无效图书序号.\n");
return -1;
}
/*上面的函数是在数组中找到图书号匹配的记录,显示其信息并返
回数组下标,如果找不到相应记录则提示错误并返回-1。*/

void book_out(void)
{
int n,s,l,d;
page_title("借阅图书");
if((n=search_book())!=-1&&books[n].store>0)
{
printf("请输入借书证序号:");
scanf("%d",&s);
printf("请输入可借天数:");
scanf("%d",&d);
for(l=0;l<10;l++)
{
if(books[n].usr[l]==0)
{
books[n].usr[l]=s;
books[n].days[l]=d;
break;
}
}
books[n].store--;
}
if(n!=-1&&books[n].store==0) printf("此书已经全部借出.\n");
return_confirm();
}
/*上面是借书的函数,首先调用找书函数*/

void book_in(void)
{
int n,s,l;
page_title("归还图书");
if((n=search_book())!=-1&&books[n].store<books[n].total)
{
printf("借阅者图书证列表:\n");
for(l=0;l<10;l++)
if (books[n].usr[l]!=0)
printf("[%d] - %d天\n",books[n].usr[l],books[n].days[l]);
printf("请输入借书证序号:");
scanf("%d",&s);
for(l=0;l<10;l++)
{
if(books[n].usr[l]==s)
{
books[n].usr[l]=0;
books[n].days[l]=0;
break;
}
}
books[n].store++;
}
if(n!=-1&&books[n].store==books[n].total)
printf("全部入藏.\n");
return_confirm();
}

void book_add(void)
{
int n;
page_title("注册新书");
for(n=0;n<100;n++)
if(books[n].id==0) break;
printf("序号:");
scanf("%d",&books[n].id);

阅读全文

与c商品采购系统源码相关的资料

热点内容
dvd光盘存储汉子算法 浏览:757
苹果邮件无法连接服务器地址 浏览:962
phpffmpeg转码 浏览:671
长沙好玩的解压项目 浏览:144
专属学情分析报告是什么app 浏览:564
php工程部署 浏览:833
android全屏透明 浏览:736
阿里云服务器已开通怎么办 浏览:803
光遇为什么登录时服务器已满 浏览:302
PDF分析 浏览:484
h3c光纤全工半全工设置命令 浏览:143
公司法pdf下载 浏览:381
linuxmarkdown 浏览:350
华为手机怎么多选文件夹 浏览:683
如何取消命令方块指令 浏览:349
风翼app为什么进不去了 浏览:778
im4java压缩图片 浏览:362
数据查询网站源码 浏览:150
伊克塞尔文档怎么进行加密 浏览:892
app转账是什么 浏览:163