2012-12-03 75 views
-1

我需要一個函數返回0或1,每個輸入一個值。
輸入應該來自鍵盤,每行1個。
預期輸入是空格,1和0
1 - 輸入:應當導致1
0 - 輸入:應當導致0
空間 - 輸入:應當導致0
輸入:應當導致0
選項卡 - 輸入:應導致0布爾結果C編程

我現在得到的東西適用於除了單獨輸入以外的所有東西,我使用getchar()和一堆if語句,但我似乎無法得到它上班。
getchar()似乎很難操縱,只給出輸入 - 或缺少 -
而不是換行符char。

感謝您的任何見解!

回答

2

請更具體。 你可以這樣做這個

#include <stdio.h> 
// only if you dont want to wait for enter each get 
#include <termios.h> 
#include <unistd.h> 

int main() 
{ 
    char c = 0; 

    // only if you dont want to wait for enter each get 
    struct termios newtty; 
    tcgetattr (0, &newtty); 
    newtty.c_lflag &= (~ICANON); 
    tcsetattr (0, TCSANOW, &newtty); 



    puts ("start\n"); 
    do { 
     if(c == 0) 
     c=getchar(); 
     switch(c) 
     { 
     case '1': 
      c=getchar(); 
      if(c == '\n') 
       putchar ('1'); 
      else 
       continue; 
      c = 0; 
      break; 
     case '0': 
     case '\t': 
      c=getchar(); 
      if(c == '\n') 
       putchar ('0'); 
      else 
       continue; 
      c = 0; 
      break; 
     case '\n': 
      putchar ('0'); 
      c = 0; 
      break; 
     default: 
      c = 0; 
      continue; 
    } 
    } while (1); 
    return 0; 
} 
+0

謝謝,我想我可以操縱這個服務我的目的! – Frey1337