搜索
查看: 1085|回复: 10
打印 上一主题 下一主题

求助!!!急!!!

[复制链接]
跳转到指定楼层
楼主
发表于 2014-1-12 19:15:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
6啊哈币
感觉是个小错误,要么就是有啥东西忘了......

  1. <P> char ch;
  2.     ch=gatch();
  3.     {
  4.     if (ch=='1')
  5.     {
  6.     system("cls");
  7.     scanf("&d&c&d",c,x,d);
  8.     }
  9.     if (x=='+')
  10.     printf("%d+%d",c,d);
  11.     if (x=='-')
  12.     printf("%d-%d",c,d");
  13.     if (x=='*')
  14.     printf("%d*%d",c,d);
  15.     if (x=='%')
  16.     printf("%d/%d",c,d);}
  17.     }
  18. system("pause");
  19. return 0;
  20. }</P>
复制代码

最佳答案

查看完整内容

目测前面还有代码 第4、18行有对多余的{} 第3行 应为 第8行 应为 第13行多了个" 17行 多了个} 16行 按你的意思应该是 且改正这些错误后,程序仍有问题 若你的意思是输出计算结果,应这么写(以加法为例): 原来的代码: 意思是让电脑 [*]打印c的值 [*]打印加号 [*]打印d的值 而改正后的代码意为 [*]计算c+d的值 [*]打印该值到屏幕上 另外,用getch()获取输入后,输入的值不会留在屏幕上,输 ...
沙发
发表于 2014-1-12 19:15:08 | 只看该作者
目测前面还有代码
  1. int c,d;
  2. char x;
复制代码
第4、18行有对多余的{}
第3行
  1. gatch()
复制代码
应为
  1. getch()
复制代码
第8行
  1. scanf("&d&c&d",c,x,d);
复制代码
应为
  1. scanf("%d%c%d",&c,&x,&d);
复制代码
第13行
  1. printf("%d-%d",c,d");
复制代码
多了个"

17行
  1. printf("%d/%d",c,d);}
复制代码
多了个}

16行
  1. if (x=='%')
复制代码
按你的意思应该是
  1. if (x=='/')
复制代码

且改正这些错误后,程序仍有问题
若你的意思是输出计算结果,应这么写(以加法为例):
  1. printf("%d",c+d);
复制代码
原来的代码:
  1. printf("%d+%d",c,d);
复制代码
意思是让电脑

  • 打印c的值
  • 打印加号
  • 打印d的值
而改正后的代码意为

  • 计算c+d的值
  • 打印该值到屏幕上

另外,用getch()获取输入后,输入的值不会留在屏幕上,输入完后也无需按回车,所以第七行清屏代码完全是多余的。
附完全修改完的代码:
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main()
  4. {
  5. int c,d;
  6. char x;
  7. char ch;
  8. ch=getch();
  9. if (ch=='1')
  10. scanf("%d%c%d",&c,&x,&d);
  11. if (x=='+')
  12. printf("%d+%d=%d\n",c,d,c+d);
  13. if (x=='-')
  14. printf("%d-%d=%d\n",c,d,c-d);
  15. if (x=='*')
  16. printf("%d*%d=%d\n",c,d,c*d);
  17. if (x=='/')
  18. printf("%d/%d=%d\n",c,d,c/d);
  19. system("pause");
  20. return 0;
  21. }
复制代码







板凳
发表于 2014-1-12 20:54:14 | 只看该作者
{:soso_e127:}
地板
发表于 2014-1-12 21:04:43 | 只看该作者
目测LZ打字速度非常快
5#
发表于 2014-1-12 21:19:32 | 只看该作者
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main()
  4. {
  5.     int c,d,a;
  6.     char ch,x;
  7.     ch=getchar();
  8.     {
  9.     if (ch=='1')
  10.     {
  11.       scanf("%d",&d);
  12.          scanf("%d",&c);
  13.   getchar();
  14.     x=getchar();
  15.     }
  16.    
  17.     if (x=='+')
  18.     printf("%d+%d",c,d);
  19.     if (x=='-')
  20.     printf("%d-%d",c,d);
  21.     if (x=='*')
  22.     printf("%d*%d",c,d);
  23.     if (x=='%')
  24.     printf("%d/%d",c,d);
  25. }

  26.        
  27.         system("pause");
  28.         return 0;
  29. }
复制代码
6#
发表于 2014-1-12 21:43:03 | 只看该作者
关键是13,14行getchar是从标准输入设备读取字符。13是从输入缓冲区中读取的是回车是因为12对输入缓冲区键入回车。这时X还在输入缓冲区中。然后我14行再次读取才是X。
本人语言表达能力不强并且上面说的不是很准确LZ如果感兴趣可以自己百度查下.
7#
发表于 2014-1-13 14:43:31 | 只看该作者
不会 顶了.....
8#
发表于 2014-1-13 18:07:50 | 只看该作者
981013 发表于 2014-1-13 15:51
目测前面还有代码
第4、18行有对多余的{}
第3行

前面讲的很棒。赞,唯一的缺点就是最后一段。
9#
 楼主| 发表于 2014-1-22 22:31:51 | 只看该作者
超神级 发表于 2014-1-12 21:04
目测LZ打字速度非常快

其实一般......
10#
 楼主| 发表于 2014-1-22 22:36:59 | 只看该作者
本帖最后由 神一样的男人 于 2014-1-22 22:38 编辑

[code]#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <ctype.h>
#include <stdlib.h>
#include <malloc.h>
#include <dos.h>
#include <windows.h>
int main()
{        int a,b,c,d;
    char x,y,z;        
    Sleep(1000);
                for (a=0;a<=100;a=a+1)
    {
                printf ("loading......   %d%%\n",a);
                for (b=a/3;b>=0;b=b-1)
                {
                        printf ("█");
                }
        Sleep (1);
        system ("cls");
        }
    system(" ");        
    {printf("********************************************************************\n");
                            printf("\n");
                            printf("\n");
                            printf("\n");
                            printf("\n");
                            printf("\n");
                            printf("\n");
                            printf("\n");
                            printf("********************************************************************\n");
                            Sleep(50);
                            system("cls");
                            printf("********************************************************************\n");
                            printf("\n");
                            printf("\n");
                            printf("\n");
                            printf("\n");
                            printf("\n");
                            printf("********************************************************************\n");
                            Sleep(50);
                            system("cls");
                            printf("********************************************************************\n");
                            printf("\n");
                            printf("\n");
                            printf("\n");
                            printf("********************************************************************\n");
                            Sleep(50);
                            system("cls");
                            printf("********************************************************************\n");
                            printf("\n");
                            printf("\n");
                            printf("\n");
                            printf("********************************************************************\n");
                            Sleep(50);
                            system("cls");
                            printf("********************************************************************\n");
                            printf("********************************************************************\n");
                            Sleep(50);
                            system("cls");
                            printf("********************************************************************\n");
                            printf("\n");
                            printf("\n");
                            printf("\n");
                            printf("********************************************************************\n");
                            Sleep(50);
                            system("cls");
                            printf("********************************************************************\n");
                            printf("\n");
                            printf("\n");
                            printf("\n");
                            printf("\n");
                            printf("\n");
                            printf("********************************************************************\n");
                            Sleep(50);
                            system("cls");
                            printf("********************************************************************\n");
                            printf("\n");
                            printf("\n");
                            printf("\n");
                            printf("\n");
                            printf("\n");
                            printf("\n");
                            printf("\n");
                            printf("********************************************************************\n");
                            Sleep(50);
                            system("cls");
    }
{     printf("*******************************************************************\n");
      printf("*                                                                 *\n");
      printf("*                                                                 *\n");
      printf("*                                                                 *\n");
      printf("*                                                                 *\n");
      printf("*                                                                 *\n");
      printf("*                                                                 *\n");
      printf("*                                                                 *\n");
      printf("*            欢迎使用      多功能工具包                           *\n");
      printf("*                                                                 *\n");
      printf("*                                                                 *\n");
      printf("*       1. 计算器                               2.退出            *\n");
      printf("*                                                                 *\n");
      printf("*                                                                 *\n");
      printf("*                                                                 *\n");
      printf("*                                                                 *\n");
      printf("*                                                         V 1.0   *\n");
      printf("*******************************************************************\n");
}
        char ch;

ch=getch();

if (ch=='1')

scanf("%d%c%d",&c,&x,&d);

if (x=='+')

printf("%d+%d=%d\n",c,d,c+d);

if (x=='-')

printf("%d-%d=%d\n",c,d,c-d);

if (x=='*')

printf("%d*%d=%d\n",c,d,c*d);

if (x=='/')

printf("%d/%d=%d\n",c,d,c/d);


        system("pause");
        return 0;
}
呵呵  这才是源码...

.......还是有点状况
11#
发表于 2014-1-23 13:31:37 | 只看该作者
本帖最后由 981013 于 2014-1-23 13:38 编辑

其实没必要包含那么多头文件,
  1. #include <stdio.h>
  2. #include <conio.h>
  3. #include <windows.h>
复制代码
就够了。想更偷懒的话,用GCC(啊哈C的内核)编译,其实只要#include <windows.h>即可,但为可移植性考虑,不建议这么做
  1. system(" ");
复制代码
这句没什么作用,删了它。

如此简单地程序没必要做进度条,进度条是需要在开始阶段加载大量数据的程序用来告诉用户这个程序没有“死”,简单的程序做进度条是浪费时间。

楼主很有耐心,那个“动画”是一个个printf、Sleep、system("cls")做出来的,其实可以用循环做。

在使用完一次计算功能后就退出,这可不是一个好主意,可以把显示主界面的代码和计算用的代码放在一个while循环中,并在循环最后调用system("cls");





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

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表