| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 710 人关注过本帖
标题:加减乘除的器??错了??
只看楼主 加入收藏
h1023417614
Rank: 4
等 级:禁止访问
帖 子:211
专家分:237
注 册:2012-11-30
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:12 
加减乘除的器??错了??
程序代码:
#include<stdio.h>//
#include<stdlib.h>
#include "conio.h"

int plu(char str1[],int ,char );

int i=0,a=1;
char str1[15]={0};
char str2[15]={0};
int last[30]={0};


int main(){

while(1)
  {
     str1[i]=getch();//是不是错了
     if(str1[i]=='c')exit(0);
     if(str1[i]=='+'&&str1[i]=='-'&&str1[i]=='*'&&str1[i]=='/')
     {
        last[a]=plu(str1,i,str1[i]);//按下‘+’号貌似不会调用plu函数
        printf("%d",last[a]);
        printf("\n");
     }
    printf("主函数");//用来检查程序
     i++;

 }
return 0;
}

int plu(char str1[],int i,char k)
{ 
    int j=0;
    str1[i]='\0';

 
      while(1)
     {
     str2[j]=getch();
       if(str2[j]=='=')
       {
          str2[j]='\0';
                 if(i==0)
                 {    
                         switch(k)
                         {
                         case'+':return (last[a-1]+atol(str2));
                         case'-':return (last[a-1]+atol(str2));
                         case'*':return (last[a-1]+atol(str2));
                         case'/':return (last[a-1]+atol(str2));
                         default:     {    printf("cuowu");return 0;}
                         }

                       
                   }
                 else
                 {

                        switch(k)
                         {
                         case'+':return (atol(str1)+atol(str2));
                         case'-':return (atol(str1)+atol(str2));
                         case'*':return (atol(str1)+atol(str2));
                         case'/':return (atol(str1)+atol(str2));
                         default:     {    printf("cuowu");return 0;}
                         }
            
                 }

       }
         printf("运算函数");//用来检查程序
      j++;
}
         printf("运算函数");//用来检查程序
}


为什么按下‘+’号不会显示  "运算函数"啊啊!!哪里错了啊啊
搜索更多相关主题的帖子: include 加减乘除 
2013-01-13 13:13
XQwindow
Rank: 2
等 级:论坛游民
帖 子:121
专家分:64
注 册:2013-1-1
收藏
得分:0 
有点晕了

我不知道我能否当程序员,但我依然热爱编程!
2013-01-13 13:20
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:10 
if(str1[i]=='+'&&str1[i]=='-'&&str1[i]=='*'&&str1[i]=='/')//不可能同时成立的


[fly]存在即是合理[/fly]
2013-01-13 16:24
nanicesky
Rank: 2
来 自:元外元
等 级:论坛游民
帖 子:31
专家分:76
注 册:2012-1-20
收藏
得分:0 
支持楼上的观点
2013-01-13 16:31
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
最近的代码都好长啊。。
2013-01-13 18:13
神龙赖了
Rank: 10Rank: 10Rank: 10
来 自:萨塔星
等 级:青峰侠
威 望:2
帖 子:711
专家分:1788
注 册:2012-10-13
收藏
得分:5 
同意三楼
if(str1[i]=='+'&&str1[i]=='-'&&str1[i]=='*'&&str1[i]=='/')
str1[i]是一个字符,不可能又等于'+'又等于'-',除非它是变形金刚...
我想你的本意是用
if(str1[i]=='+' || str1[i]=='-' || str1[i]=='*' || str1[i]=='/')

只要其中一个为true,则表达式的值就是true

I have not failed completely
2013-01-13 18:56
h1023417614
Rank: 4
等 级:禁止访问
帖 子:211
专家分:237
注 册:2012-11-30
收藏
得分:0 
回复 3楼 azzbcc
太失败了;居然那里搞错了
2013-01-13 19:02
h1023417614
Rank: 4
等 级:禁止访问
帖 子:211
专家分:237
注 册:2012-11-30
收藏
得分:0 
我怎么还是那么粗心啊啊啊啊啊啊啊啊
2013-01-13 19:09
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:5 
以下是引用h1023417614在2013-1-13 19:09:23的发言:

我怎么还是那么粗心啊啊啊啊啊啊啊啊

不用怕 错啊 错啊 你就习惯了
2013-01-13 19:09
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:0 
以下是引用神龙赖了在2013-1-13 18:56:22的发言:

同意三楼
if(str1=='+'&&str1=='-'&&str1=='*'&&str1=='/')
str1是一个字符,不可能又等于'+'又等于'-',除非它是变形金刚...
我想你的本意是用if(str1=='+' || str1=='-' || str1=='*' || str1=='/')

只要其中一个为true,则表达式的值就是true
神龙懒了,还在看动画片

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2013-01-13 19:12
快速回复:加减乘除的器??错了??
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023585 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved