#include<stdio.h>
#include"hotel.h"
int main()
{
int nights;
double hotel_rate;
int code;
while((code = menu()) != QUIT){
switch (code){
case 1: hotel_rate = HOTEL1;break;
case 2: hotel_rate = HOTEL2;break;
case 3: hotel_rate = HOTEL3;break;
case 4: hotel_rate = HOTEL4;break;
default:hotel_rate = 0.0;
printf("Oops\n");break;
}
nights = getnights();
showprice(hotel_rate,nights);
}
printf("thank you.Have a good night!\n");
return 0;
}
這是主代碼,然后頭檔案是
#define QUIT 5
#define HOTEL1 158
#define HOTEL2 155
#define HOTEL3 151
#define HOTEL4 154
#define DISCOUNT 0.95
#define STARS "****************"
int menu();
int grtnights();
void showprice(double rate,int nights);
然后提示我說沒有宣告getnights函式
uj5u.com熱心網友回復:
int grtnights(); 函式名字錯誤 getnightsuj5u.com熱心網友回復:
修改了之后還是有問題,,,
uj5u.com熱心網友回復:
所以你的這三個函式的定義在哪兒?
uj5u.com熱心網友回復:
這三個函式的定義要一起編譯,編譯器的錯誤就是指這三函式所在的源檔案沒有參與編譯uj5u.com熱心網友回復:
你這三個函式的實作放在哪個c檔案了?光有頭檔案的函式宣告,沒有函式體的定義,怎么知道函式到底應該執行什么處理?
uj5u.com熱心網友回復:
要么在頭檔案里面把函式實作寫上,要么另外做一個.c檔案,加載頭檔案,寫函式實作,不然你這個函式只宣告但未實作。uj5u.com熱心網友回復:
學藝不精,這是C Primer Plus 里面的例題,首先 書中共涉及三個檔案,主函式檔案 main.c 酒店函式 hotel.c 還有酒店的宣告 hote.h,樓主漏了 .h檔案,另外還有這個是要求學會根據編譯器來組織多檔案編譯。我用的QT, 里面有個pro檔案 里面的內容是:TEMPLATE = app
CONFIG += console
CONFIG -= app_bundle
CONFIG -= qt
SOURCES += main.c \
hotel.c
HEADERS += \
hotel.h
樓主去查資料自己的編譯器該怎么組織
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/195659.html
標籤:新手樂園
上一篇:這個復制建構式該怎么撰寫啊 我想用主函式初始化的那樣構造line物件
下一篇:以太坊挖礦基礎知識,怎么挖礦?
