如何读取特定字符串的stdin并对它们执行布尔运算?

时间:2016-07-08 17:07:01

标签: c

我试图从表单的标准输入中读取文本文件

12  1 $2
30  3 $9
1   1 $5  asdf
0  23 $3
0   alpha
1   beta
2   gamma
3   delta

我希望第一个条件语句检查范围值并查看是否出现" alpha"," beta"," gamma"和" delta"。如果其中一个字符串不存在,那么我想使用exit(1)。

我不太确定如何将这些字符串准确存储在内存中或从stdin中搜索它们。 任何指导表示赞赏。

#include <stdio.h>
#include <stdlib.h>
int main(){
int x;
int y;
char type[3];

while(1){
  if(scanf("%d %d %s%*[^\n]%*c", &x, &y, type)!=3)break;
  if(x>30 || y>30 || x<0 || y<0)||!("alpha" && "beta"
&& "gamma" && "delta"))
// The above syntax is wrong, but I think it shows what I'm thinking.
// If one of those strings are not found, exit(1).      
{
    exit(1);
    }
  if(x==0 || y==0){
    goto X;
  }
//Do stuff
}
X:if((x==0 || y==0)==1){

//Do stuff
return(0);
}

}//end main

1 个答案:

答案 0 :(得分:1)

.md-dialog-content {
  max-width: 300px;
}