| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2199 人关注过本帖
标题:if语句判断字符问题
只看楼主 加入收藏
ytiantian
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2013-5-7
结帖率:80%
收藏
已结贴  问题点数:20 回复次数:2 
if语句判断字符问题
程序代码:
#include<iostream>
#include<string>
using namespace std;
int main(){
    int i; //控制循环变量
    int reNum[1];
    int AnswerNum;//测验题数 *int
    string Answer;//测验题数  *string
    string strNum[100];//测验题答案
    int isNumber(string str);
    cout << "                 **************测试批改系统**************" <<endl;
    cout << "请输入本次测验总题目数:" <<endl;
    tab1:
    cin >> Answer;
    reNum[1] = isNumber(Answer);
    if (!reNum[1]){
    cout << "请确保正确的有效数字!\n"
         <<"请再次输入本次测试总题目数:"<<endl;
    goto tab1;}
    AnswerNum = atoi(Answer.c_str());
    cout << "请输入每一题的答案、按回车键确认。" <<endl;
    for(i = 0;i != AnswerNum;i++){
          cout << "" <<i+1 <<"题:";
          while (cin >> strNum[i])
          {if(strNum[i][0] == '\n')
              {continue;}
          else
              {break;}
          }
    }
    cout<<"您已经输入完毕,待系统检测完毕...\n\n"<<endl;
    cout<< "                Download...\n\n\n"<<endl;
    for(i = 0;i != AnswerNum;i++){
        cout << "" <<i+1 <<"题:"<< strNum[i] <<"     ";
          }
    cout<<endl;
    cout<< " 系统已经录入您输入的答案,请检测。" << endl;
    cout<<"并且发现第";
    for(i = 0;i != AnswerNum;i++){        
          if(strNum[i].length() > 1){
                 cout<< i+1<<" ";
                 continue;
          }else if(strNum[i][0] == 'A' || strNum[i][0] == 'a'){
                    cout<< i+1<<" ";
                    continue;
           }else if(strNum[i][0] == 'B' || strNum[i][0] == 'b'){
                 cout<< i+1<<" ";
                 continue;
            }else if(strNum[i][0] == 'C' || strNum[i][0] == 'c'){
                  cout<< i+1<<" ";
                  continue;
             }else if(strNum[i][0] == 'D' || strNum[i][0] == 'd'){
                  cout<< i+1<<" ";
                  continue;
                   }
                 
                }
    cout<< "题有明显错误! "<<endl;
    cout<<endl;
    system("pause");
}
int isNumber(string str){  
    int result[3];
    int i = 0;
    int havePoint = 0;
    int haveReduce = 0;
    int isNum = 1;
    for(i ; i != (str.length()); i++){
        
        
          if(isdigit(str[i])){
                     
          }else{
                isNum = 0;    
          }
}
    result[0] = isNum;   
    return result[0];
}    这个代码简单判断选择题的答案、先输入。再次判断输入的答案是不是等于ABDC时候出错、求怎么解决中间那段判断输入值是不是等于ABCD。
搜索更多相关主题的帖子: color 
2013-05-15 17:14
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
收藏
得分:10 
求怎么解决中间那段判断输入值是不是等于ABCD。
哪段?

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2013-05-15 18:08
apull
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:三体星系
等 级:版主
威 望:216
帖 子:1507
专家分:9241
注 册:2010-3-16
收藏
得分:10 
中间部分修改了下,不知你要实现的是不是这个意思。
程序代码:
    for(i = 0; i != AnswerNum; i++) {
            if (strNum[i].length() > 1) 
                cout << i+1 << " ";
            else if(!(strNum[i][0] == 'A' || strNum[i][0] == 'a' || strNum[i][0] == 'B' || strNum[i][0] == 'b'
                    || strNum[i][0] == 'C' || strNum[i][0] == 'c' || strNum[i][0] == 'D' || strNum[i][0] == 'd'))
            {
                cout << i+1 << " ";
            }       
    }
2013-05-15 23:42
快速回复:if语句判断字符问题
数据加载中...
 
   



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

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