鱼C论坛

 找回密码
 立即注册
查看: 3265|回复: 1

各位大神出现fatal error C1004: unexpected end of file found是什么原因啊?谢谢啦

[复制链接]
发表于 2013-7-6 12:53:45 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. #include <stdio.h>
  2. #define ARTICHOKE 1.25
  3. #define BEET 0.65
  4. #define CARROT 0.89
  5. #define POINT1 5
  6. #define POINT2 20
  7. #define POINT1_FREE 3.5
  8. #define POINT2_FREE 10
  9. #define POINT2_INSIDE 8
  10. #define POINT2_INSIDE_FREE 0.1

  11. int main(void)
  12. {
  13.         int i ;
  14.         char ch , ch_2 ;
  15.         int flag = 1 ;      //控制START中的循环
  16.         double num ;        //给用户进行输入磅数
  17.         double artichoke = 0 , beet = 0 , carrot = 0 ;   //每一个种类的费用
  18.         double remeber_art = 0 ,remeber_beet = 0 ,remeber_carr = 0;  //每一个种类的磅数
  19.         double all ;
  20. /******************************************************************************这段进行选择表格的输出***********/
  21. START:       
  22.         while (flag)        
  23.         {
  24.                 for (i = 0 ; i < 50 ; i ++)
  25.                 {
  26.                         putchar('*');
  27.                 }
  28.                 putchar('\n');
  29.                 flag ++ ;
  30.                 if (flag == 3)
  31.                 {
  32.                         break ;
  33.                 }
  34.                 printf("Input letters into the corresponding option.\n");
  35.                 printf("a)areichoke\t\tb)beet\nc)carrot\t\tq)quit\n");
  36.         }
  37. /****************************************erltjljerltjl*****************************************************************/
  38.                 flag = 1 ;      //当跳转回到START的时候,用到flag,所以要赋值为1

  39. /*******************************************************************从while开始进行检测输入***********************/
  40.         while ((ch = getchar()) != 'q')
  41.         {
  42.                 if ('a' <= ch && ch <= 'c')/*****************************输入正确进入这里**********************/
  43.                 {
  44.                         switch (ch) //根据ch的值选择一个进行输出,提示用户所要输出的值
  45.                         {
  46.                         case 'a':printf("please enter artichoke numbers:\n");break ;
  47.                         case 'b':printf("please enter beet numbers:\n");break ;
  48.                         case 'c':printf("please enter carrot numbers:\n");break ;
  49.                         }
  50.                         while(1) //无论什么情况都进入这里给用户输入值(磅数)
  51.                         {
  52.                                 ch_2 = scanf("%lf",&num);
  53.                                 if(ch_2 == 1)/**用户输入的值正确就进入*/
  54.                                 {
  55.                                         switch (ch)//这里的switch用来累计磅数,
  56.                                         {                        //因为用户可能输入两次同一类的值(例如输入两次a)
  57.                                         case 'a':        remeber_art += num ;break ;
  58.                                         case 'b':        remeber_beet += num ;break ;
  59.                                         case 'c':        remeber_carr += num ;break ;
  60.                                         }
  61.                                         getchar() ; //因为在用户输入scanf中的值得时候
  62.                                                                 //缓冲区里还有回车键的值,所以用这个来
  63.                                                                 //把回车键的值去掉
  64.                                         while (1)
  65.                                         {
  66.                                                 printf("Enter 'y' to next,enter 'q' to quit.\n");
  67.                                                
  68.                                                 ch_2 = getchar() ;
  69.                                                 if (ch_2 == 'y')
  70.                                                 {
  71.                                                         getchar(); //同上
  72.                                                         goto START;
  73.                                                 }
  74.                                                 else if (ch_2 == 'q')
  75.                                                 {
  76.                                                         goto END;
  77.                                                 }
  78.                                                 else
  79.                                                 {
  80.                                                         printf("your enter is wrong,please enter again.\n");
  81.                                                 }
  82.                                                 while ((ch_2 = getchar()) != '\n') //像这种类型的都是用来获取缓冲区中多余的东西
  83.                                                 {
  84.                                                         continue ;
  85.                                                 }
  86.                                         }
  87.                                 }               
  88.                                 else
  89.                                 {
  90.                                         printf("your enter is wrong.please enter again.\n");
  91.                                         while ((ch_2 = getchar()) != '\n')
  92.                                         {
  93.                                                 continue ;
  94.                                         }
  95.                                 }

  96.                         }
  97.                 }

  98.                 else
  99.                 {
  100.                         printf("your enter is wrong,please enter again.\n");
  101.                         while ((ch = getchar()) != '\n')
  102.                         {
  103.                                 continue ;
  104.                         }
  105.                 }
  106.         }
  107.         /*************************下面这段代码用来判断订单是不是100$及以上。和统计总钱数***********************************************/
  108. END:        if ((remeber_art * ARTICHOKE + remeber_beet * BEET + remeber_carr * CARROT) >= 100)
  109.                 {
  110.                
  111.                         if (remeber_art <= POINT1)
  112.                         {
  113.                                 artichoke = remeber_art * ARTICHOKE + POINT1_FREE;
  114.                         }
  115.                         else if (POINT1 < remeber_art && remeber_art < POINT2)
  116.                         {
  117.                                 artichoke = remeber_art * ARTICHOKE + POINT2_FREE;
  118.                         }
  119.                         else
  120.                         {
  121.                                 artichoke = remeber_art * (ARTICHOKE + POINT2_INSIDE_FREE) + POINT2_INSIDE;
  122.                         }
  123.                        
  124.                
  125.                         if (remeber_beet <= POINT1)
  126.                         {
  127.                                 beet = remeber_beet * BEET + POINT1_FREE;
  128.                         }
  129.                         else if (POINT1 < remeber_beet && remeber_beet < POINT2)
  130.                         {
  131.                                 beet = remeber_beet * BEET + POINT2_FREE;
  132.                         }
  133.                         else
  134.                         {
  135.                                 beet = remeber_beet * (BEET + POINT2_INSIDE_FREE) + POINT2_INSIDE;
  136.                         }
  137.                
  138.                         if (remeber_carr <= POINT1)
  139.                         {
  140.                                 carrot = remeber_carr * CARROT + POINT1_FREE;
  141.                         }
  142.                         else if (POINT1 < remeber_carr && remeber_carr < POINT2)
  143.                         {
  144.                                 carrot = remeber_carr * CARROT + POINT2_FREE;
  145.                         }
  146.                         else
  147.                         {
  148.                                 carrot = remeber_carr * (CARROT + POINT2_INSIDE_FREE) + POINT2_INSIDE;
  149.                         }       
  150.                         all = carrot + beet + artichoke ;
  151.                         all *= 0.5 ;
  152.                 }
  153.                 else
  154.                 {
  155.                        
  156.                         if (remeber_art <= POINT1)
  157.                         {
  158.                                 artichoke = remeber_art * ARTICHOKE + POINT1_FREE;
  159.                         }
  160.                         else if (POINT1 < remeber_art && remeber_art < POINT2)
  161.                         {
  162.                                 artichoke = remeber_art * ARTICHOKE + POINT2_FREE;
  163.                         }
  164.                         else
  165.                         {
  166.                                 artichoke = remeber_art * (ARTICHOKE + POINT2_INSIDE_FREE) + POINT2_INSIDE;
  167.                         }
  168.                        
  169.                        
  170.                         if (remeber_beet <= POINT1)
  171.                         {
  172.                                 beet = remeber_beet * BEET + POINT1_FREE;
  173.                         }
  174.                         else if (POINT1 < remeber_beet && remeber_beet < POINT2)
  175.                         {
  176.                                 beet = remeber_beet * BEET + POINT2_FREE;
  177.                         }
  178.                         else
  179.                         {
  180.                                 beet = remeber_beet * (BEET + POINT2_INSIDE_FREE) + POINT2_INSIDE;
  181.                         }
  182.                        
  183.                         if (remeber_carr <= POINT1)
  184.                         {
  185.                                 carrot = remeber_carr * CARROT + POINT1_FREE;
  186.                         }
  187.                         else if (POINT1 < remeber_carr && remeber_carr < POINT2)
  188.                         {
  189.                                 carrot = remeber_carr * CARROT + POINT2_FREE;
  190.                         }
  191.                         else
  192.                         {
  193.                                 carrot = remeber_carr * (CARROT + POINT2_INSIDE_FREE) + POINT2_INSIDE;
  194.                         }       
  195.                         all = carrot + beet + artichoke ;
  196.                 }
  197.                
  198.                 printf("\n\n\n%lf\n",all);
  199.                 return 0 ;
  200. }
复制代码

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-7-6 13:12:01 | 显示全部楼层
该错误出现在第55行,是解析中/**/的错误,在左边那里应该加多一个以上的'*'。像这种错误,括号不成对也会出现。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-20 01:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表