Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

仔细看看>>和getline以及ignore的说明吧

Posted by hawk at 2006-04-09 16:34:18 on Problem 1298
In Reply To:谁能告诉我这是为什么 讨厌的getline Posted by:xiaxia at 2006-04-09 16:31:09
比如说第一个是空,因为上一个cin>>之后,没吃掉那个回车
这个时候geline当然是空
而getline本身是吃掉回车的
一般来说,如果全是getline那么没问题,如果和cin>>混用,要注意及时吃掉回车。
> 总觉得getline有问题  
> 如果输入 
> 
> START
> NS BFW, JAJSYX TK NRUTWYFSHJ FWJ YMJ WJXZQY TK YWNANFQ HFZXJX
> END
> 
> 
> 
>   while(cin >> s &&  s !=  "ENDOFINPUT")
> // 这一步 s = START 没错
> //下一个循环这里的S = “BFW,"吃掉第二个。
> 	{
> 		getline(cin, input);
> //第一次可是getline后 input竟然是空的  设么都没有
> //第二次此时input = "JAJSYX TK NRUTWYFSHJ FWJ YMJ WJXZQY TK YWNANFQ HFZXJX" 已经不完整了
> 		int i, k;
> 		for(i =  0; i < input.length(); i ++)
> 		{
> 			if(input[i] >= 'A' && input[i] <= 'Z')
> 			{
>                  k = input[i] - 'A';
> 				 k = ((k - 5) + 26)%26;
> 				 input[i] = 'A' + k;
> 			}
> 		}
>   //上面循环自然不进行了
> 		cout << input << endl;
> //输出个空循环
>         cin >> s;
> //这是的s = "NS"把一行的吃掉前一个单词
> 	}  

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator