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

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

无心过客



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

5come5帮你背单词 [ wooden /'wudn/ a. 木制的,木头的 ]


[求助]在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帮你背单词 [ foot /fut/ n. 足,底部,英尺 ]


//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帮你背单词 [ whirl /wə:l/ v. (使)回旋,(使)旋转 ]


//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 楼]
chenyukang



性别: 帅哥 状态: 该用户目前不在线
等级: 人见人爱
发贴: 2275
威望: 0
浮云: 1127
在线等级:
注册时间: 2006-09-24
最后登陆: 2020-08-17

5come5帮你背单词 [ renovate /'renəuveit/ v. 革新,翻新,修复,恢复 ]


新建一个工程就行了阿
devc还是很好用的
顶端 Posted: 2006-11-09 17:01 | [3 楼]
无心过客



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

5come5帮你背单词 [ stormy /'sto:mi/ a. 暴风雪的,激烈的 ]


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



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

5come5帮你背单词 [ petrol /'petrəl/ n. 汽油 ]


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



性别: 帅哥 状态: 该用户目前不在线
等级: 栋梁之材
发贴: 995
威望: 1
浮云: 1667
在线等级:
注册时间: 2004-12-01
最后登陆: 2014-06-01

5come5帮你背单词 [ somewhat /'sΛmwot/ ad. 有点儿,稍微 ]


判断要用code == menu ?
不知道你这里是不是这个意思哈 一个=号是赋值的意思
顶端 Posted: 2006-11-09 18:06 | [6 楼]
无心过客



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

5come5帮你背单词 [ puff /pΛf/ n. 一口(气),一阵(风);v. 喷气,喘气 ]


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

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



性别: 帅哥 状态: 该用户目前不在线
等级: 人见人爱
发贴: 2704
威望: 0
浮云: 1440
在线等级:
注册时间: 2005-11-22
最后登陆: 2012-12-29

5come5帮你背单词 [ stuff /stΛf/ vt. 填满,塞满;n. 物品,物质,个人的所有物,原料,材料 ]


如果是在VC++下面,我想可以这样做,建立一个空的工程,然后通过“工程”,“添加工程”,“Files”来把这些文件加进去。
dev++就不清楚了。
顶端 Posted: 2006-11-09 22:18 | [8 楼]
无心过客



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

5come5帮你背单词 [ hungry /'hΛŋgri/ a. 饥饿的,渴望的 ]


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



性别: 帅哥 状态: 该用户目前不在线
头衔: hspidence
等级: 人见人爱
家族: 跑跑UesTc家族
发贴: 2611
威望: 0
浮云: 2672
在线等级:
注册时间: 2006-09-12
最后登陆: 2012-08-25

5come5帮你背单词 [ sparrow /'spærəu/ n. 麻雀 ]


不懂啊
顶端 Posted: 2006-11-10 14:50 | [10 楼]
宰宰



性别: 保密 状态: 该用户目前不在线
等级: 品行端正
发贴: 375
威望: 0
浮云: 1155
在线等级:
注册时间: 2006-03-23
最后登陆: 2007-10-05

5come5帮你背单词 [ capital /'kæpitl/ n. 首都,资本,资金,大写字母;a. 资本的,资方的,首要的,重要的,可处死刑的 ]


Quote:
引用第10楼五栋楼于2006-11-10 14:50发表的:
不懂啊

楼上的不要水
顶端 Posted: 2006-11-10 15:07 | [11 楼]
老夫子



性别: 帅哥 状态: 该用户目前不在线
头衔: 这个不是钱的问题......
等级: 人见人爱
发贴: 2536
威望: 0
浮云: 1159
在线等级:
注册时间: 2004-12-31
最后登陆: 2009-05-03

5come5帮你背单词 [ outdoor /'autdo:/ a. 户外的,露天的,野外的 ]


"menu" undeclared.——这个函数没有被声明。
下面两个出错信息也是如此。

Quote:
引用第0楼无心过客于2006-11-09 16:56发表的[求助]在windows+dev C++ 下的c多源文件程序的编译:
具体内容如下所示
//usehotel.c
#include <stdio.h>
#include "hotel.h"
.......

再加一个#include"hotel.c"

还有LZ的工程中的文件和你叙述的三个文件名不一样,main.c是?hotel.h在哪?
顶端 Posted: 2006-11-11 07:27 | [12 楼]
无心过客



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

5come5帮你背单词 [ deprive /di'praiv/ vt. 剥夺,夺,使丧失 ]


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 | [13 楼]
无心过客



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

5come5帮你背单词 [ better /'betə/ a. 较好的,更好的,(健康状况)好转的;ad. 更好些,更多地 ]


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

Total 0.011144(s) query 5, Time now is:11-27 17:50, Gzip enabled
Powered by PHPWind v5.3, Localized by 5come5 Tech Team, 黔ICP备16009856号