该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include
#ifndef FLOWER //先测试FLOWER是否被宏定义过,避免重新使用
#define FLOWER //定义FLOWER
#include
#include
#include
#define HH printf("%-10s%-10s%-10s%-10s%-10s%-10s%-10s%-10s\n","编号", "名称","类别", "生产日期", "生产数量","剩余","单价","销量")
struct flower //鲜花
{
int id; //编号
charname[8]; //名称
char category; //类别
int date; //生产日期
int number; //生产数量
int surplus; //剩余
int price; //单价
int sum; //销量
};
static int n; //记录鲜花信息条数
void menu();
void add(struct flower flo[]); //函数声明
void show(struct flower flo[], int i);
void showAll(struct flower flo[]);
#endif //结束条件编译
int main()
{
struct flower flo[50];
int select, quit=0;
while (1)
{
menu();
scanf("%d",&select);
switch (select)
{
case 1:
add(flo);
break;
case 2:
showAll(flo);
break;
case 0:
quit=1;
break;
default:
printf("请输入0~2之间的数字\n");
break;
}
if (quit==1)
break;
printf("按任意键返回主菜单!\n");
getchar();
getchar();
}
printf("程序结束!、n");
return 0;
}
void menu()
{
system("cls");//清空屏幕
printf("\n");
printf("\t\t --------------鲜花管理系统--------------\n");
printf("\t\t︱\t\t 1 录入记录 ︱\n");
printf("\t\t︱\t\t 2 显示记录 ︱\n");
printf("\t\t︱\t\t 0 退出系统 ︱\n");
printf("\t\t --------------------------------------------\n");
printf("\t\t请选择(0-2):");
}
void add(struct flower flo[])
{
int i, id = 0; //i作为循环变量,id用来保存新编号
char quit; //保存是否退出的选择
do
{
printf("编号:");
scanf("%d", &id);
for (i = 0; i < n; i++)
{
if (id == flo[i].id) //假如新编号等于数组中某项的编号
{
printf("此编号存在!\n");
return;
}
}
flo[i].id = id;
printf("名称:");
scanf("%s", &flo[i].name);
printf("类别:");
scanf("%s", &flo[i].category);
printf("生产日期:");
scanf("%d", &flo[i].date);
printf("生产数量:");
scanf("%d", &flo[i].number);
printf("剩余:");
scanf("%d", &flo[i].surplus);
printf("单价:");
scanf("%d", &flo[i].price);
flo[i].sum = flo[i].number-flo[i].surplus; //计算出销量
n++; //记录条数加1
printf("是否继续添加?(Y/N)");
scanf("\t%c", &quit);
} while (quit != 'N');
}
void show(struct flower flo[], int i)
{
printf("%-10d", flo[i].id);
printf("%-10s", flo[i].name);
printf("%-10s", flo[i].category);
printf("%-10d", flo[i].date);
printf("%-10d",flo[i].number);
printf("%-10d", flo[i].surplus);
printf("%-10d", flo[i].price);
printf("%-10d\n",flo[i].sum);
}
void showAll(struct flower flo[])
{
int i;
//HH;
for (i = 0; i < n; i++)
{
show(flo, i);
}
}