用c语言编一个订单信息管理程序
发布网友
发布时间:2022-05-17 07:40
我来回答
共1个回答
热心网友
时间:2023-08-11 13:35
#include <stdio.h>
#include <string.h>
#include <malloc.h>
#include <stdlib.h>
int N;//////订单数目
struct chanpin
{
long bianhao;
char mingcheng[30];
char cpmingcheng[30];
int cpdingjia;
int shuliang;
long jine;
};////订单编号、公司名称、产品名称、产品订价、订购数量、订单金额
void init(struct chanpin *p)
{
printf("输入订单编号:\t");
scanf("%d", &p->bianhao);
printf("\n输入公司名称:\t");
scanf("%s", p->mingcheng);
printf("\n输入产品名称:\t");
scanf("%s", p->cpmingcheng);
printf("\n输入产品定价:\t");
scanf("%d", &p->cpdingjia);
printf("\n输入订购数量:\t");
scanf("%d", &p->shuliang);
p->jine=p->cpdingjia * p->shuliang;
}//初始化
void displaymingcheng(struct chanpin *p)
{
printf("\n");
printf("公司名称:%s\n", p->mingcheng);
}
void display(struct chanpin *p)
{
displaymingcheng(p);
puts("-----------------------------------------------");//传说中的分割线
printf("订单编号:\t%ld", p->bianhao);
//printf("\n公司名称:\t%s", p->mingcheng);
printf("\n产品名称:\t%s", p->cpmingcheng);
printf("\n产品定价:\t%d", p->cpdingjia);
printf("\n订购数目:\t%d", p->shuliang);
printf("\n总金额是:\t%ld", p->jine);
puts("-----------------------------------------------");
}//输出一个产品的全部信息
void displaycompany(struct chanpin *p)
{
char temp[30];
int i;
printf("输入公司名称:\t");
gets(temp);
for(i=0;i<N;i++)
{
if(strcmp(temp, p[i].mingcheng)==0)
display(&p[i]);
}
puts("订单信息输出完毕!!!");
}///////////根据名称输出公司订单信息
void findbianhao(struct chanpin *p)
{
long temp;
int i;
printf("输入编号:\t");
scanf("%ld", &temp);
for(i=0;i<N;i++)
{
if(temp==p[i].bianhao)
display((p+i));
}
puts("根据编号查找完成!!!");
}//////根据编号查询 ....其他的查找方法我没写,你可以补上
void findcpmingcheng(struct chanpin *p)
{}///////产品名称查找
void findcpdingjia(struct chanpin *p)
{}////产品定价查找
int menu()
{
int x;
printf("根据公司名称输出订单输入 :\t c\n");
printf("根据编号查找输入:\t b\n");
printf("根据产品名称输入:\t m \n");
printf("根据定价查找输入:\t d \n");
printf("退出输入:\t e \n");
x=getchar();
getchar();
return x;
}
void main()
{
struct chanpin *cp;
int choic;
int i;
printf("请输入总书目:\t");
scanf("%d", &N);
cp=(struct chanpin *)malloc(N*sizeof(struct chanpin));
for(i=0;i<N;i++)
init(cp+i);//初始化所有产品
for(i=0;i<N;i++)
display(cp+i);///显示所有产品信息
choic=menu();
while(choic!='e')
{
if(choic=='c')
displaycompany(cp);/////调用公司查找
else if(choic=='b')
findbianhao(cp);///调用编号查找
else if(choic=='m')
findcpmingcheng(cp);////调用名称查找
else if(choic=='d')
findcpdingjia(cp);
else
printf("出入错误!\n");
choic=menu();
}
puts("感谢使用");
}