ユーザーに5つのオプションのメニューを提供する関数を作成します:5文字列
1、初期文字列リスト2を出力し、ASCII順に文字列3を出力し、文字列4を長さ増分順に出力し、文字列の最初の単語長に文字列5を出力し、終了する
//main.cpp
#include<iostream>
#include"3.h"
using namespace std;
void main()
{
char *str[5]={{"yang"},{"hai3i"},{"lin"},{"is"},{"a good person"}};
int choice=0;
cout<<"please enter 1~5 to choice
";
while (cin>>choice)
{
switch(choice)
{
case 1: print(str,5); break;
case 2: ASCII_sequence(str,5);break;
case 3: len_sequence(str,5);break;
case 4: firstword_sequence(str,5);break;
case 5: back();break;
default: break;
}
}
}
//3.h
void print(char *s[],int n);
void ASCII_sequence(char *s[],int n);
void len_sequence(char *s[],int n);
int len_word(char *str,int n);
void firstword_sequence(char *s[],int n);
void back();
//33.cpp
#include<iostream>
using namespace std;
void print(char *s[],int n)
{
cout<<"~~~~~~~~~~~~~print~~~~~~~~~~~~~~~~~~~~~~~
";
for(int i=0;i<n;i++)
cout<<s[i]<<endl;
cout<<"~~~~~~~~~~~~~print~~~~~~~~~~~~~~~~~~~~~~~
";
}
void ASCII_sequence(char *s[],int n)
{
cout<<"~~~~~~~~~~~~~ASCII_sequence~~~~~~~~~~~~~~~~~~~~~~~
";
char *tmp;
for(int i=0;i<n-1;i++)
for(int j=i+1;j<n;j++)
{
if (strcmp(s[i],s[j])>0)
{ tmp=s[i];
s[i]=s[j];
s[j]=tmp;
}
}
for(int m=0;m<n;m++)
cout<<s[m]<<endl;
cout<<"~~~~~~~~~~~~~ASCII_sequence~~~~~~~~~~~~~~~~~~~~~~~
";
}
void len_sequence(char *s[],int n)
{
cout<<"~~~~~~~~~~~~~len_sequence~~~~~~~~~~~~~~~~~~~~~~~
";
char *tmp;
for(int i=0;i<n-1;i++)
for(int j=i+1;j<n;j++)
if(strlen(s[i])>strlen(s[j]))
{
tmp=s[i];
s[i]=s[j];
s[j]=tmp;
}
for(int m=0;m<n;m++)
cout<<s[m]<<endl;
cout<<"~~~~~~~~~~~~~len_sequence~~~~~~~~~~~~~~~~~~~~~~~
";
}
int len_word(char *str,int n)
{
int i=0;
for( i=0;i<strlen(str);i++)
if(str[i]==' ')
break;
return i;
}
void firstword_sequence(char *s[],int n)
{
cout<<"~~~~~~~~~~~~~firstword_sequence~~~~~~~~~~~~~~~~~~~~~~~
";
char *tmp=NULL;
for (int i=0;i<n-1;i++)
for(int j=i+1;j<n;j++)
if(len_word(s[i],n)>len_word(s[j],n))
{
tmp=s[i];
s[i]=s[j];
s[j]=tmp;
}
for(int m=0;m<n;m++)
cout<<s[m]<<endl;
cout<<"~~~~~~~~~~~~~firstword_sequence~~~~~~~~~~~~~~~~~~~~~~~
";
}
void back()
{
exit(0);
}