c语言while变for,我想将for改为while

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

#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);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值