이름정렬

 

 

strcmp 의 기능중에 문자의 순서를 검사 해주는 기능이 있다.

 

>0  일때          앞에 있는 것이 큰지

==0 일때         같음을 알려주고

<0 일때           뒤에 있는 것이 큰지

 

#include<iostream>
#include<string>
using namespace std;

void sort_name(char(*name)[20]);
void inpt_name(char(*name)[20]);
void prnt_name(char(*name)[20]);

int main()
{
 

 char name[10][20];

 

 inpt_name(name);
 cout <<"\n===정렬전 데이터===\n"<<endl;
 prnt_name(name);
 sort_name(name);
 cout <<  "\n===정렬후 데이터===\n"<<endl;
 prnt_name(name);

 return 0;
}

void inpt_name(char(*name)[20])
{
 int i;
 for(i=0;i<5;i++)
 {
  cout<< i+1 <<"번째 이름을 입력하시오 :"<< endl;
  cin>>name[i];
 }
}


void sort_name(char(*name)[20])
{
 int i, k;
 char temp[20];

 for(k=0;k<5;k++)
 {
  for(i=k+1;i<5;i++)
  {
   if(strcmp(name[k],name[i])>0)
   {
    strcpy(temp,name[k]);
    strcpy(name[k],name[i]);
    strcpy(name[i],temp);
   }
  }
 }
}


 void prnt_name(char(*name)[20])
{
 int i;
 for(i=0 ;i<5 ;i++)
 {
   cout << name[i] << endl;
 }


}


블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,