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

求助!!!急!!!

[复制链接]
楼主
发表于 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-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");





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

本版积分规则

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