Path: ccsf.homeunix.org!ccsf.homeunix.org!news1.wakwak.com!nf1.xephion.ne.jp!onion.ish.org!news.daionet.gr.jp!news.yamada.gr.jp!news.media.kyoto-u.ac.jp!not-for-mail From: Akira Otake Newsgroups: fj.comp.lang.c Subject: Re: getchar =?iso-2022-jp?b?GyRCJEskRCQkGyhC?= =?iso-2022-jp?b?GyRCJEYbKEI=?= Date: Wed, 06 Oct 2004 00:34:23 +0900 Organization: Public NNTP Service, Kyoto University, JAPAN Lines: 197 Message-ID: References: NNTP-Posting-Host: alex.nature.tsukuba.ac.jp Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Trace: caraway.media.kyoto-u.ac.jp 1096990463 17288 130.158.38.234 (5 Oct 2004 15:34:23 GMT) X-Complaints-To: news@news.media.kyoto-u.ac.jp NNTP-Posting-Date: Tue, 5 Oct 2004 15:34:23 +0000 (UTC) User-Agent: Gnus/5.1006 (Gnus v5.10.6) Emacs/21.3.50 (usg-unix-v) Cancel-Lock: sha1:e+pXwddWlpCElmp1O9s1LQHZ4+U= Xref: ccsf.homeunix.org fj.comp.lang.c:430 --=-=-= Content-Type: text/plain; charset=iso-2022-jp こんにちは。 while( g != 0 ){g = getchar();} を挿入して解決しようと こころみたのですが、前半はうまくいくものの、後半 でうまくいかなくなってしまいます。挿入場所が良くないのかと思い、いろい ろ変えてやってみたのですが、うまくいきませんでした。書いたものを添付し ます。どのようにすれば解決できるでしょうか。 --=-=-= Content-Type: text/plain; charset=iso-2022-jp Content-Disposition: inline; filename=anke+.c #include int main(){ /*図書館の平日と休日の利用につてのアンケート。 前半は平日の利用に関する質問で、1.はYes or No、 2.は a , b or c、3.は2つ続けて5択の質問があり、 後半は休日の利用に関しての質問で、1.はYes or No、 2.は a , b , c or d、3.は2つ続けて9択の質問があ り、それぞれの設問で、無回答のものも '0' と 入力して数える。*/ int g,k; int riyouhy = 0,riyouhn = 0,riyouhm = 0; int riyouky = 0,riyoukn = 0,riyoukm = 0; int ha = 0,hb = 0,hc = 0,hm = 0; int ka = 0,kb = 0,kc = 0,kd = 0,km = 0; int f = 0 ,h,i,j; int hk[6]={0,0,0,0,0,0}; int hh[6]={0,0,0,0,0,0}; int kk[10]={0,0,0,0,0,0,0,0,0,0}; int kh[10]={0,0,0,0,0,0,0,0,0,0}; for(h=1;h<=97;h++){ //97人分のアンケート //平日 //1. printf("!Heijitsu\n\n"); printf("1. y or n or 0 \n"); g = getchar(); printf("\n"); if(g == 'y'){ riyouhy++; //2. printf("2. a or b or c or 0 "); scanf("%c",&g); if( g == 'a'){ ha++;} if( g == 'b'){ hb++;} if( g == 'c'){ hc++;} if( g == 'm'){ hm++;} printf("\n"); } if( g == 'n' ){ riyouhn++;} if( g == 'm' ){ riyouhm++;} while(g != '\n'){ g = getchar(); } //3. printf("3. 1 2 3 4 5 0 \n"); printf("Kaikan "); scanf("%d",&f); printf("\n"); for (i=0;i<=5;i++){ if( f==i ){ hk[i]++;} } printf("Heikan "); scanf("%d",&j); printf("\n"); for (i=0;i<=5;i++){ if( j==i ){ hh[i]++;} } while(g != '\n'){ g = getchar(); } //休日 printf("!Kyujitsu\n\n"); //1. printf("1. y or n or 0 "); k = getchar(); //ここで k を入力できません printf("\n"); if( k == 'y' ){ riyouky++; //2. printf("2. a or b or c or d or 0 "); scanf("%c",&g); if( k == 'a' ){ ka++;} if( k == 'b' ){ kb++;} if( k == 'c' ){ kc++;} if( k == 'd' ){ kd++;} if( k == 'm' ){ km++;} printf("\n"); } if( k == 'n' ){ riyoukn++;} if( k == 'm' ){ riyoukm++;} while( k != '\n'){ k = getchar(); } //3. printf("3. 1 2 3 4 5 6 7 8 9 0 \n"); printf("Kaikan "); scanf("%d",&f); printf("\n"); for (i=0;i<=9;i++){ if( f==i ){ kk[i]++;} } printf("Heikan "); scanf("%d",&j); printf("\n"); for (i=0;i<=9;i++){ if( j==i ){ kh[i]++;} } if(h!=97){ printf("\n! NEXT PERSON !\n\n"); } } /*出力*/ printf("\n !! ANSWER !! \n\n"); printf("Heijitsu\n"); printf("1. Yes %d No %d mukaitou %d \n",riyouhy,riyouhn,riyouhm); printf("2. a %d b %d c %d mukaitou %d \n",ha,hb,hc,hm); printf("3.Kaikan\n"); printf("befor 6 %d\n",hk[1]); printf(" 6 %d\n",hk[2]); printf(" 7 %d\n",hk[3]); printf(" 8 %d\n",hk[4]); printf(" now %d\n",hk[5]); printf("mukaitou %d\n",hk[0]); printf("3.Heikan\n"); printf(" now %d\n",hh[1]); printf(" 23 %d\n",hh[2]); printf(" 24 %d\n",hh[3]); printf(" 25 %d\n",hh[4]); printf(" after %d\n",hh[5]); printf("mukaitou %d\n",hh[0]); printf("Kyujitsu\n"); printf("1. Yes %d No %d mukaitou %d \n",riyouky,riyoukn,riyoukm); printf("2. a %d b %d c %d d %d mukaitou %d \n",ka,kb,kc,kd,km); printf("3.Kaikan\n"); printf("befor 6 %d\n",kk[1]); printf(" 6 %d\n",kk[2]); printf(" 7 %d\n",kk[3]); printf(" 8 %d\n",kk[4]); printf(" 9 %d\n",kk[5]); printf(" 10 %d\n",kk[6]); printf(" 11 %d\n",kk[7]); printf(" 12 %d\n",kk[8]); printf(" now %d\n",kk[9]); printf("mukaitou %d\n",kk[0]); printf("3.Heikan\n"); printf(" now %d\n",kh[1]); printf(" 19 %d\n",kh[2]); printf(" 20 %d\n",kh[3]); printf(" 21 %d\n",kh[4]); printf(" 22 %d\n",kh[5]); printf(" 23 %d\n",kh[6]); printf(" 24 %d\n",kh[7]); printf(" 25 %d\n",kh[8]); printf(" after %d\n",kh[9]); printf("mukaitou %d\n",kh[0]); return 0; } --=-=-= -- Akira Otake --=-=-=--