如何在C中调用函数
我正在为编程入门课程做最后一个项目,任务是创建一个代码,显示一个菜单,并要求用户输入一个选项。之后,它将显示订单的总额和用户选择的项目名称 这是我的密码:如何在C中调用函数,c,function,C,Function,我正在为编程入门课程做最后一个项目,任务是创建一个代码,显示一个菜单,并要求用户输入一个选项。之后,它将显示订单的总额和用户选择的项目名称 这是我的密码: #include <stdio.h> #include <stdlib.h> #define TEQUENOS_PRICE 5.00 #define AREPA_PRICE 3.00 #define CACHAPA_PRICE 2.50 #define EMPANADA_PRICE 2.00 #define SODA
#include <stdio.h>
#include <stdlib.h>
#define TEQUENOS_PRICE 5.00
#define AREPA_PRICE 3.00
#define CACHAPA_PRICE 2.50
#define EMPANADA_PRICE 2.00
#define SODA_PRICE 0.80
#define QUESILLO_PRICE 1.70
#define DULCE_DE_LECHE_PRICE 1.20
int main()
{
int choice = 0, tequenos = 0, arepa = 0, cachapa = 0, empanada = 0;
int soda = 0, quesillo = 0, dulceDeLeche = 0;
double sum = 0.0, totalPrice;
printf("Welcome to Daniela's Venezuelan emporium.\n");
printf("\nMay I take your order please?\n");
do
{
printf("\n\tMenu");
printf("\n1. Tequenos (5 ct.)\t $%5.2lf", TEQUENOS_PRICE);
printf("\n2. Arepa\t\t $%5.2lf", AREPA_PRICE);
printf("\n3. Cachapa\t\t $%5.2lf", CACHAPA_PRICE);
printf("\n4. Empanada\t\t $%5.2lf", EMPANADA_PRICE);
printf("\n5. Soda \t\t $%5.2lf", SODA_PRICE);
printf("\n6. Quesillo\t\t $%5.2lf", QUESILLO_PRICE);
printf("\n7. Dulce de Leche\t $%5.2lf", DULCE_DE_LECHE_PRICE);
printf("\n8. Done with this order.\n");
printf("\nEnter Item: ");
scanf("%i", &choice);
switch (choice)
{
case 1:
sum += TEQUENOS_PRICE;
tequenos++;
break;
case 2:
sum += AREPA_PRICE;
arepa++;
break;
case 3:
sum += CACHAPA_PRICE;
cachapa++;
break;
case 4:
sum += EMPANADA_PRICE;
empanada++;
break;
case 5:
sum += SODA_PRICE;
soda++;
break;
case 6:
sum += QUESILLO_PRICE;
quesillo++;
break;
case 7:
sum += DULCE_DE_LECHE_PRICE;
dulceDeLeche++;
break;
case 8:
break;
default:
printf("\n\t***ERROR: This is not on the menu.\n");
}
printf("\nTotal so far: $%.2lf\n", sum);
} while (choice != 8);
printf("\nThat's: ");
if (choice = 1)
{
printf(" %i Tequenos\n", tequenos);
}
if (choice = 2)
{
printf("\t %i Arepa\n", arepa);
}
if (choice = 3)
{
printf("\t %i Cachapa\n", cachapa);
}
if (choice = 4)
{
printf("\t %i Empanada\n", empanada);
}
if (choice = 5)
{
printf("\t %i Soda\n", soda);
}
if (choice = 6)
{
printf("\t %i Quesillo\n", quesillo);
}
if (choice = 7)
{
printf("\t %i Dulce De Leche\n", dulceDeLeche);
}
totalPrice = sum;
printf("\nYour total is $%.2lf\n", totalPrice);
printf("\nThank you for coming to Daniela's Venezuelan Emporium.");
printf("\nCome back soon!\n");
system("pause");
return 0;
}
#包括
#包括
#定义TEQUENOS_价格5.00
#定义AREPA_价格3.00
#定义CACHAPA_价格2.50
#定义EMPANADA_价格2.00
#定义苏打水价格0.80
#定义QUESILLO_价格1.70
#定义DULCE_DE_LECHE_价格1.20
int main()
{
int choice=0,tequenos=0,arepa=0,cachapa=0,empanada=0;
int soda=0,quesillo=0,dulceDeLeche=0;
双倍总和=0.0,总价;
printf(“欢迎来到Daniela的委内瑞拉商场。\n”);
printf(“\n我可以接受您的订单吗?\n”);
做
{
printf(“\n\t菜单”);
printf(“\n1.Tequenos(5克拉)\t$%5.2lf”,Tequenos_价格);
printf(“\n2.Arepa\t\t$%5.2lf”,Arepa\u价格);
printf(“\n3.Cachapa\t\t$%5.2lf”,Cachapa\u价格);
printf(“\n4.Empanada\t\t$%5.2lf”,Empanada\u价格);
printf(“\n5.Soda\t\t$%5.2lf”,苏打价格);
printf(“\n6.Quesillo\t\t$%5.2lf”,Quesillo\u价格);
printf(“\n7.Dulce de Leche\t$%5.2lf”,Dulce de Leche\u价格);
printf(“\n8.此订单已完成。\n”);
printf(“\n输入项:”);
scanf(“%i”和“选择”);
开关(选择)
{
案例1:
总和+=TEQUENOS_价格;
tequenos++;
打破
案例2:
总和+=AREPA_价格;
arepa++;
打破
案例3:
总和+=CACHAPA_价格;
cachapa++;
打破
案例4:
总和+=EMPANADA_价格;
empanada++;
打破
案例5:
总和+=苏打水价格;
苏打++;
打破
案例6:
总和+=魁西洛价格;
魁西洛++;
打破
案例7:
总和+=价格;
dulceDeLeche++;
打破
案例8:
打破
违约:
printf(“\n\t***错误:这不在菜单上。\n”);
}
printf(“\n到目前为止的总计:$%.2lf\n”,总和);
}while(选项!=8);
printf(“\n地址:”);
如果(选项=1)
{
printf(“%i Tequenos\n”,Tequenos);
}
如果(选项=2)
{
printf(“\t%i Arepa\n”,Arepa);
}
如果(选项=3)
{
printf(“\t%i Cachapa\n”,Cachapa);
}
如果(选项=4)
{
printf(“\t%i Empanada\n”,Empanada);
}
如果(选项=5)
{
printf(“\t%i苏打水\n”,苏打水);
}
如果(选项=6)
{
printf(“\t%i魁西洛\n”,魁西洛);
}
如果(选项=7)
{
printf(“\t%i Dulce De Leche\n”,dulceDeLeche);
}
总价=总和;
printf(“\n您的总价为%.2lf\n美元”,总价);
printf(“感谢您光临Daniela的委内瑞拉商场。”);
printf(“\n马上回来!\n”);
系统(“暂停”);
返回0;
}
代码运行良好,但我的教授告诉我,我需要在整个代码中调用函数,main应该只调用其他函数。我一直在尝试,但对我来说真的很困惑,我不知道怎么做。如果你们能帮我,我会非常感激的。
谢谢 这是您的代码,经过轻微的重构,将程序的主要部分分解为单独的函数
#include <stdio.h>
#include <stdlib.h>
#define TEQUENOS_PRICE 5.00
#define AREPA_PRICE 3.00
#define CACHAPA_PRICE 2.50
#define EMPANADA_PRICE 2.00
#define SODA_PRICE 0.80
#define QUESILLO_PRICE 1.70
#define DULCE_DE_LECHE_PRICE 1.20
int tequenos = 0,
arepa = 0,
cachapa = 0,
empanada = 0,
soda = 0,
quesillo = 0,
dulceDeLeche = 0;
double sum = 0.0;
void print_header()
{
printf("Welcome to Daniela's Venezuelan emporium.\n");
printf("\nMay I take your order please?\n");
}
int get_menu_choice()
{
int choice;
printf("\n\tMenu");
printf("\n1. Tequenos (5 ct.)\t $%5.2lf", TEQUENOS_PRICE);
printf("\n2. Arepa\t\t $%5.2lf", AREPA_PRICE);
printf("\n3. Cachapa\t\t $%5.2lf", CACHAPA_PRICE);
printf("\n4. Empanada\t\t $%5.2lf", EMPANADA_PRICE);
printf("\n5. Soda \t\t $%5.2lf", SODA_PRICE);
printf("\n6. Quesillo\t\t $%5.2lf", QUESILLO_PRICE);
printf("\n7. Dulce de Leche\t $%5.2lf", DULCE_DE_LECHE_PRICE);
printf("\n8. Done with this order.\n");
printf("\nEnter Item: ");
scanf("%i", &choice);
return choice;
}
void process_menu_choice(int choice)
{
switch (choice)
{
case 1:
sum += TEQUENOS_PRICE;
tequenos++;
break;
case 2:
sum += AREPA_PRICE;
arepa++;
break;
case 3:
sum += CACHAPA_PRICE;
cachapa++;
break;
case 4:
sum += EMPANADA_PRICE;
empanada++;
break;
case 5:
sum += SODA_PRICE;
soda++;
break;
case 6:
sum += QUESILLO_PRICE;
quesillo++;
break;
case 7:
sum += DULCE_DE_LECHE_PRICE;
dulceDeLeche++;
break;
case 8:
break;
default:
printf("\n\t***ERROR: This is not on the menu.\n");
}
printf("\nTotal so far: $%.2lf\n", sum);
}
void take_order()
{
do
{
choice = get_menu_choice();
process_menu_choice(choice);
} while (choice != 8);
}
void print_total_for(char *item_type, int item_count)
{
if(item_count > 0)
printf(" %i %s\n", item_count, item_type);
}
int print_total(double totalPrice)
(
printf("\nYour total is $%.2lf\n", totalPrice);
printf("\nThank you for coming to Daniela's Venezuelan Emporium.");
printf("\nCome back soon!\n");
}
void print_total_header()
{
printf("\nThat's: ");
}
int main()
{
int choice = 0;
print_header();
take_order();
print_total_header();
print_total_for("Tequenos", tequenos);
print_total_for("Arepa", arepa);
print_total_for("Cachapa", cachapa);
print_total_for("Empanada", empanada);
print_total_for("Soda", soda);
print_total_for("Quesillo", quesillo);
print_total_for("Dulce De Leche", dulceDeLeche);
print_total(sum);
system("pause");
return 0;
}
#包括
#包括
#定义TEQUENOS_价格5.00
#定义AREPA_价格3.00
#定义CACHAPA_价格2.50
#定义EMPANADA_价格2.00
#定义苏打水价格0.80
#定义QUESILLO_价格1.70
#定义DULCE_DE_LECHE_价格1.20
int-tequenos=0,
arepa=0,
cachapa=0,
empanada=0,
苏打水=0,
奎西略=0,
dulceDeLeche=0;
双和=0.0;
作废打印头()
{
printf(“欢迎来到Daniela的委内瑞拉商场。\n”);
printf(“\n我可以接受您的订单吗?\n”);
}
int get_菜单_选项()
{
智力选择;
printf(“\n\t菜单”);
printf(“\n1.Tequenos(5克拉)\t$%5.2lf”,Tequenos_价格);
printf(“\n2.Arepa\t\t$%5.2lf”,Arepa\u价格);
printf(“\n3.Cachapa\t\t$%5.2lf”,Cachapa\u价格);
printf(“\n4.Empanada\t\t$%5.2lf”,Empanada\u价格);
printf(“\n5.Soda\t\t$%5.2lf”,苏打价格);
printf(“\n6.Quesillo\t\t$%5.2lf”,Quesillo\u价格);
printf(“\n7.Dulce de Leche\t$%5.2lf”,Dulce de Leche\u价格);
printf(“\n8.此订单已完成。\n”);
printf(“\n输入项:”);
scanf(“%i”和“选择”);
回报选择;
}
无效进程菜单选项(整数选项)
{
开关(选择)
{
案例1:
总和+=TEQUENOS_价格;
tequenos++;
打破
案例2:
总和+=AREPA_价格;
arepa++;
打破
案例3:
总和+=CACHAPA_价格;
cachapa++;
打破
案例4:
总和+=EMPANADA_价格;
empanada++;
打破
案例5:
总和+=苏打水价格;
苏打++;
打破
案例6:
总和+=魁西洛价格;
魁西洛++;
打破
案例7:
总和+=价格;
dulceDeLeche++;
打破
案例8:
打破
违约:
printf(“\n\t***错误:这不在菜单上。\n”);
}
printf(“\n到目前为止的总计:$%.2lf\n”,总和);
}
作废订单()
{
做
{
choice=获取菜单选项();
过程菜单选择(选择);
}while(选项!=8);
}
无效打印总数(字符*项目类型,整数项目计数)
{
如果(项目计数>0)
printf(“%i%s\n”,项目计数,项目类型);
}
整数打印合计(双倍总价)
(
printf(“\n您的总价为%.2lf\n美元”,总价);
printf(“感谢您光临Daniela的委内瑞拉商场。”);
printf(“\n马上回来!\n”);
}
无效打印\总\页眉()
{
printf(“\n地址:”);
}
int main()
{
int-choice=0;
打印标题();
点菜;
打印总页眉();
打印(“Tequenos”,Tequenos)的总计;
打印(“Arepa”,Arepa)的总计;
打印(“Cachapa”,Cachapa)的总计;
打印(“Empanada”,Empanada)的总计;
打印(“苏打水”,苏打水)的总计;
打印(“魁西洛”,魁西洛)的总计;
打印(“Dulce De Leche”,dul)的总计