我在使用 C 时遇到了一些问题,你能帮帮我吗?我对 C 语言很陌生。
我收到此错误:
D:\yana\mini.o:mini.c||对“确定价格”的 undefined reference |
D:\yana\mini.o:mini.c||对“calc”的 undefined reference |
D:\yana\mini.o:mini.c||对“print_result”的 undefined reference |
||=== 构建完成:3 个错误,0 个警告(0 分钟 7 秒)===|
#include<stdio.h>
#include<string.h>
#include <math.h>
void menu();
float determine_price(int);
float calc(float,int);
void print_result(float);
int main()
{
char selection;
int qty,quantity;
float price,pay,item_price,payment;
char set;
printf("**************************\n");
printf("|AZRI & YANA'S CAKE HOUSE|\n");
printf("**************************\n");
printf("\n");
printf("***************************\n");
printf("|1 CUP-------------RM3.50 |\n");
printf("|SET A(3 CUPS)-----RM10.00|\n");
printf("|SET B(6 CUPS)-----RM20.00|\n");
printf("|SET C(12 CUPS)----RM38.00|\n");
printf("***************************\n");
printf("\n");
printf("enter Set and quantity:\n");
scanf("%c %d",&selection,&qty);
price=determine_price(set);
pay= calc(price,qty);
print_result(pay);
return 0;
}
void menu()
{
printf("1 cup = RM3.50\n");
printf("Set A = RM10.00\n");
printf("Set B = RM20.00\n");
printf("Set C = RM38.00\n");
}
float determine_price(int item_code)
{
float set;
if(selection=='1')
printf("1 cup = RM3.50\n");
else if(selection=='A')
printf("Set A = RM10.00\n");
else if(selection=='B')
printf("Set B = RM20.00\n");
else if(selection=='C')
printf("Set C = RM38.00\n");
else
printf("set not available\n");
return(set);
}
float calc(float item_pricing,int quantity)
{
float answer;
answer = item_price*quantity;
return(answer);
}
void print_result(float payment)
{
printf("total cost = %4.2f",payment);
}
我应该做什么来调用函数?我需要调用 function() 还是我的语法有错误?
Edit:
在大家的帮助下修改后,我做了一些编辑..
现在,我遇到了新错误...
D:\yana\mini.c||In function 'determine_price':|
D:\yana\mini.c|54|error: 'selection' undeclared (first use in this function)|
D:\yana\mini.c|54|note: each undeclared identifier is reported only once for each function it appears in|
D:\yana\mini.c||In function 'calc':|
D:\yana\mini.c|70|error: 'item_price' undeclared (first use in this function)|
||=== Build finished: 2 errors, 0 warnings (0 minutes, 0 seconds) ===|
编辑数字 2;
Edit Number 2;
感谢所有回答我问题的人,我发现了几个错误。现在,我的新代码...我尝试将其设置为 clrscreen,但是,它不起作用...有人可以帮助我吗?
#include<stdio.h>
#include<string.h>
#include <math.h>
#include <stdlib.h>
void menu();
int repeat();
float determine_price(char);
float calc(float,int);
void print_result(float);
int main()
{
char selection;
int qty,quantity,choice;
float price,pay,item_price,payment;
//char set;
while(choice!='2'){
menu();
printf("enter Set and quantity:\n");
scanf("%c %d",&selection,&qty);
price=determine_price(selection);
pay= calc(price,qty);
print_result(pay);
choice = repeat();
}
return 0;
}
void menu()
{
printf("**************************\n");
printf("|AZRI & YANA'S CAKE HOUSE|\n");
printf("**************************\n");
printf("\n");
printf("***************************\n");
printf("|1 CUP-------------RM3.50 |\n");
printf("|SET A(3 CUPS)-----RM10.00|\n");
printf("|SET B(6 CUPS)-----RM20.00|\n");
printf("|SET C(12 CUPS)----RM38.00|\n");
printf("***************************\n");
printf("\n");
}
void clr(){
system("cls");
}
int repeat(){
int choice;
printf("\n\n\n\n");
printf("Press\n[1] to return to menu\n[2] to end system\n");
scanf("%d",&choice);
if(choice=='1'){
clr();
}
return choice;
}
float determine_price(char selection){
float setprice;
if(selection=='1'){
printf("1 cup = RM3.50\n");
setprice=3.50;
}
else if(selection=='A'){
printf("Set A = RM10.00\n");
setprice=10.00;
}
else if(selection=='B'){
printf("Set B = RM20.00\n");
setprice=20.00;
}
else if(selection=='C'){
printf("Set C = RM38.00\n");
setprice=38.00;
}
else
printf("set not available\n");
return(setprice);
}
float calc(float item_pricing,int quantity){
float answer;
answer = item_pricing*quantity;
return(answer);
}
void print_result(float payment){
printf("total cost = RM%4.2f",payment);
}
最佳答案
您的代码是正确的,但您错过了一个 } 来关闭您的 main 函数。
您必须在主函数之外声明函数的规范。
es:
/* Forward declarations */
void a();
float b();
/* Main */
int main() {
...
}
/* Function's specifications */
void a() {
...
}
float b() {
...
}
关于c - 未定义对确定价格的引用;计算;打印结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20653194/