水果营销商卖水果,苹果 5 块一斤,葡萄 6.8 块 1 斤,香蕉 5.2 一斤,消费者输入买入斤数即可得到总价,定义fruit结构体,包含这三种水果,定义三个函数,分别求出买苹果,葡萄,香蕉各需要花多少钱,最后总价多少钱。用到switch()循环来选择选项,具体实现代码如下所示:
#includestruct Fru{ char name[20]; float danjia; int jin; float money; }; struct Fru fruit[3]= {{"apple",5},{"grape",6.8},{"banana",5.2}}; //定义全局变量 float sum; //定义全局变量总的价格,在子函数和main函数都能用 void menu() //菜单选项 { printf("*********欢迎选购水果*********n"); printf("*********1.选购苹果*********n"); printf("*********2.选购葡萄*********n"); printf("*********3.选购香蕉*********n"); printf("*********0.退出选购*********n"); } void App(float a) //买苹果的函数 { fruit[0].money = 0; //买苹果的钱,赋初值0 printf("请输入要买多少斤苹果!n"); scanf("%d",&fruit[0].jin); fruit[0].money = a*fruit[0].jin; printf("买苹果花费%.2f元!n",fruit[0].money); sum=sum+fruit[0].money; printf("一共花费%.2f元!n",sum); } void Gra(float b) //买葡萄的函数 { fruit[1].money = 0; printf("请输入要买多少斤葡萄!n"); scanf("%d",&fruir[1].jin); fruit[1].money = b*fruir[1].jin; printf("买葡萄花费%.2f元!n",fruit[1].money); sum=sum+fruit[1].money; printf("一共花费%.2f元!n",sum); } void Ban(float c) //买香蕉的函数 { fruit[2].money = 0; printf("请输入要买多少斤香蕉!n"); scanf("%d",&fruit[2].jin); fruit[2].money = c*fruit[2].jin; printf("买香蕉花费%.2f元!n",fruit[2].money); sum=sum+fruit[2].money; printf("一共花费%.2f元!n",sum); } int main() { while(1) { int num; menu(); printf("请输入要执行的操作!n"); scanf("%d",&num); switch(num) { case 1: App(fruit[0].danjia); break; case 2: Gra(fruit[1].danjia); break; case 3: Ban(fruit[2].danjia); break; case 0: return 0; default: printf("输入有误,请重新输入!n"); } } return 0; }
运行结果如图所示:



