반응형
4.3> string 클래스를 이용하여 사용자가 입력한 영문 한 줄을 입력받고 글자 하나만 랜덤하게 수정하여 출력하는 프로그램을 작성하라.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | #include <iostream> #include <cstdlib> //random 사용 위함 #include <ctime> //srand 사용 위함 #include <string> //string 객체 사용 위함 using namespace std; int main(void){ string s; //string 객체 s srand((unsigned)time(0)); //시드값 설정 cout<<"아래에 한 줄을 입력하세요.(exit를 입력하면 종료합니다)"<<'\n'; while(true){ //무한루프 cout<<">>"; getline(cin,s,'\n'); //delimeter '\n'으로 한 줄 받아 s에 저장 if(s=="exit") //s가 exit면 루프 탈출 break; int rand_index=(rand())%(s.length()); //rand_index에 임의 인덱스 저장(s.length로 나눈 나머지는 무조건 0~length-1이 나옴) //조심해야 할것은 알파벳만 인덱스에 포함되는 것이 아니라 공백문자, 마침표와 같은 문자도 포함된다. int Daeso=rand()%2; //글자를 바꾸는데 소문자로 바꿀 것인지 대문자로 바꿀 것인지 랜덤으로 정한다. if(Daeso==0) //대문자로 정해짐 s[rand_index]=(char)((rand()%26)+65); //아스키코드 65~90 대문자 알파벳 else if(Daeso==1) //소문자로 정해짐 s[rand_index]=(char)((rand()%26)+97); //아스키코드 97~122 소문자 알파벳 cout<<s<<endl; //s출력 } return 0; } | cs |
반응형
'컴퓨터 & 프로그래밍 & 전자공학 > C++' 카테고리의 다른 글
Person, Family 클래스 (0) | 2017.11.03 |
---|---|
원의 개수와 반지름 (0) | 2017.11.03 |
변수와 포인터와 레퍼런스 (0) | 2017.10.27 |
네임스페이스 사용시 클래스 내 함수 구현 (0) | 2017.10.17 |
다수의 클래스 연산자 (0) | 2017.10.12 |