我来我网
https://5come5.cn
 
您尚未 登录  注册 | 菠菜 | 软件站 | 音乐站 | 邮箱1 | 邮箱2 | 风格选择 | 更多 » 
 

本页主题: [求助]在windows+dev C++ 下的c多源文件程序的编译 显示签名 | 打印 | 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题

无心过客



性别: 保密 状态: 该用户目前不在线
等级: 栋梁之材
发贴: 629
威望: 0
浮云: 1186
在线等级:
注册时间: 2004-09-25
最后登陆: 2009-03-18

5come5帮你背单词 [ olympics // n. 奥林匹克运动会 ]


[求助]在windows+dev C++ 下的c多源文件程序的编译

程序分为三个文件hotel.c,usehotel.c ,和头文件hotel.c
具体内容如下所示
//usehotel.c
#include <stdio.h>
#include "hotel.h"
int main(void)
{
 
  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;
            printf("Oops!\n");
            break;
      }
      nights = getnights();
      showprice(hotel_rate,nights);
  }
  printf("Thank you and goodbye.");
  return 0;
}
顶端 Posted: 2006-11-09 16:56 | [楼 主]
无心过客



性别: 保密 状态: 该用户目前不在线
等级: 栋梁之材
发贴: 629
威望: 0
浮云: 1186
在线等级:
注册时间: 2004-09-25
最后登陆: 2009-03-18

5come5帮你背单词 [ hoist /hoist/ n. 起重机,郑扬机,升降机;vt. (用滑轮等)升起,举起 ]


//hotel.c
#include <stdio.h>
#include "hotel.h"
int menu(void)
{
  int code,status;
 
  printf("\n%s%s\n",STARS,STARS);
  printf("Enter the number of the desired hotel:\n");
  printf("1)Fairfield Arms 2)Hotel Olympic\n");
  printf("3)Cherworth plaza 4)The Stockton\n");
  printf("5)quit\n");
  printf("%s%s\n",STARS,STARS);
  while((status = scanf("%d",&code))!=1||(code < 1||code > 5))
  {
      if (status!=1)
        scanf("%*s");
      printf("Enter an integer from 1 to 5, please.\n");
  }
  return code;
}
int getnights(void)
{
  int nights;
 
  printf("How many nights are needed?");
  while(scanf("%d",&nights)!=1)
  {
      scanf("%*s");
      printf("Please enter an integer,such as 2.\n");
  }
  return nights;
}
void showprice(double rate,int nights)
{
  int n;
  double total = 0.0;
  double factor = 1.0;
  for(n=1;n<=nights;n++,factor*=DISCOUNT)
    total += rate*factor;
  printf("The total cost will be $%0.2f.\n",total);
}
顶端 Posted: 2006-11-09 16:56 | [1 楼]
无心过客



性别: 保密 状态: 该用户目前不在线
等级: 栋梁之材
发贴: 629
威望: 0
浮云: 1186
在线等级:
注册时间: 2004-09-25
最后登陆: 2009-03-18

5come5帮你背单词 [ metallic /mi'tælik/ a. 金属的,金属似的 ]


//hotel.h
#define QUIT     5
#define HOTEL1 80.00
#define HOTEL2 125.00
#define HOTEL3 155.00
#define HOTEL4 200.00
#define DISOUNT 0.95
#define STARS   ********************

int menu(void);
int getnights(void);
void showprice(void);


[ 此贴被无心过客在2006-11-11 08:57重新编辑 ]
顶端 Posted: 2006-11-09 16:57 | [2 楼]
无心过客



性别: 保密 状态: 该用户目前不在线
等级: 栋梁之材
发贴: 629
威望: 0
浮云: 1186
在线等级:
注册时间: 2004-09-25
最后登陆: 2009-03-18

5come5帮你背单词 [ habitat /'hæbitæt/ n. (动植物的)打招呼,引起注意 ]


然后新建一个工程,把ueshotel.c和hotel.c添加到工程,编译,但会产生如下错误,忘达人解释
顶端 Posted: 2006-11-09 17:04 | [3 楼]
无心过客



性别: 保密 状态: 该用户目前不在线
等级: 栋梁之材
发贴: 629
威望: 0
浮云: 1186
在线等级:
注册时间: 2004-09-25
最后登陆: 2009-03-18

5come5帮你背单词 [ regard /ri'ga:d/ vt. 把…看作,把…认为,注意,注视,对待,看待,尊敬,尊重,(pl.)问候,致意 ]


我建了工程,但是产生如下错误,刚才图没有发上来
远程图片:c.JPG
顶端 Posted: 2006-11-09 17:05 | [4 楼]
无心过客



性别: 保密 状态: 该用户目前不在线
等级: 栋梁之材
发贴: 629
威望: 0
浮云: 1186
在线等级:
注册时间: 2004-09-25
最后登陆: 2009-03-18

5come5帮你背单词 [ scandal /'skændl/ n. 丑闻 ]


Quote:
引用第6楼111111111于2006-11-09 18:06发表的:
判断要用code == menu ?
不知道你这里是不是这个意思哈 一个=号是赋值的意思

不是的,就是赋值的意思,munu返回值就是一个选择
现在的错误是编译时,没在usehotel。c中定义的函数和常量识别不到
顶端 Posted: 2006-11-09 18:45 | [5 楼]
无心过客



性别: 保密 状态: 该用户目前不在线
等级: 栋梁之材
发贴: 629
威望: 0
浮云: 1186
在线等级:
注册时间: 2004-09-25
最后登陆: 2009-03-18

5come5帮你背单词 [ husband /'hΛzbənd/ n. 丈夫 ]


没有蝈蝈用devC++嘛,这是最新的编译器,支持C99标准的,我觉得挺好用的,可是多源文件编译不搞不好,哪位蝈蝈指点下哈
顶端 Posted: 2006-11-10 12:45 | [6 楼]
无心过客



性别: 保密 状态: 该用户目前不在线
等级: 栋梁之材
发贴: 629
威望: 0
浮云: 1186
在线等级:
注册时间: 2004-09-25
最后登陆: 2009-03-18

5come5帮你背单词 [ messenger /'mesind3ə/ n. 送信人,使者 ]


Quote:
引用第12楼老夫子于2006-11-11 07:27发表的:
"menu" undeclared.——这个函数没有被声明。
下面两个出错信息也是如此。


再加一个#include"hotel.c"
.......

新建工程就有main的,我没弄过工程,也不知道这个main是不是本来就应该有的。
好像不用加这个#include"hotel.c"吧,因为在头文件hotel。h中包含了hotel。c中的函数声明
顶端 Posted: 2006-11-11 08:55 | [7 楼]
无心过客



性别: 保密 状态: 该用户目前不在线
等级: 栋梁之材
发贴: 629
威望: 0
浮云: 1186
在线等级:
注册时间: 2004-09-25
最后登陆: 2009-03-18

5come5帮你背单词 [ by /bai/ prep. 靠近,在…一边,通过…达到,根据,按照,由,被;adv. 在近旁,经过 ]


搞定,搞定,多谢楼上的蝈蝈提醒,我把main()删了,然后没加#include "hotel.c"
搞定了
顶端 Posted: 2006-11-11 09:02 | [8 楼]
我来我网·5come5 Forum » 程序员之家

Total 0.012629(s) query 6, Time now is:10-18 03:53, Gzip enabled
Powered by PHPWind v5.3, Localized by 5come5 Tech Team, 黔ICP备16009856号