#include “SqString.cpp”
main(){
int i = 1;
int flag;
while(flag){
int s;
SqString str1;
SqString str2;
printf("1、初始化字串 2、銷燬字串 3、複製字串 4、求長度字串\n5、判斷字串是否相等 6、連線字串 7、擷取字串 8、字串子串索引\n9、插入字串 10、刪除字串 12、輸出字串 13、結束 ");
scanf("%d",&s);
switch(s){
case 1:{
char str1name[10];
char str2name[10];
printf("\n請輸入第一個字串");
scanf("%s",str1name);
Assign(str1,str1name);
printf("\n初始化完畢\n");
printf("\n請輸入第二個字串");
scanf("%s",str2name);
Assign(str2,str2name);
break;
}
case 2:{
DestroyStr(str1);
DestroyStr(str2);
printf("銷燬完畢");
case 3:{
case 4:{
printf("第一個字串的長度是:%d",StrLength(str1));
printf("第二個字串的長度是:%d",StrLength(str2));
case 5:{
if(StrEqual(str1,str2)==0)
printf("這兩個字串不相等\n");
else
printf("這兩個字串相等\n");
case 6:{
printf("是連線字串1還是2");
int i1;
scanf("%d",i1);
printf("加入的字串為:");
char str3name[10];
scanf("%s",str3name);
SqString str3;
Assign(str3,str3name);
if(i1 == 1)
str1 = Concat(str1,str3);
if(i1 == 2)
str2 = Concat(str2,str3);
case 7:{
int i;
int j;
scanf("%d",&i);
scanf("%d",&j);
SqString substr = SubStr(str1,i,j);
printf("擷取的字串為:");
DispStr(substr);
case 8:{
printf("需要獲取第一個字串索引字元還是第二個");
int a;
scanf("%d",a);
if(a == 1)
printf("%d",Index(str1,str3));
if(a == 2)
printf("%d",Index(str2,str3));
case 9:{
printf("是插入字串1還是2");
int i2;
printf("插入的位置為");
scanf("%d",i2);
printf("插入的字串為:");
InsStr(str1,i2,str3);
InsStr(str2,i2,str3);
case 10:{
int i3;
scanf("%d",i3);
DelStr(str1,i2,i3);
DelStr(str2,i2,i3);
case 11:{
case 12:{
printf("\n第一個字串為:");
DispStr(str1);
printf("\n第二個字串為:");
DispStr(str2);
case 13:{
flag=0;
printf("\n程式已經結束");
#include “SqString.cpp”
main(){
int i = 1;
int flag;
while(flag){
int s;
SqString str1;
SqString str2;
printf("1、初始化字串 2、銷燬字串 3、複製字串 4、求長度字串\n5、判斷字串是否相等 6、連線字串 7、擷取字串 8、字串子串索引\n9、插入字串 10、刪除字串 12、輸出字串 13、結束 ");
scanf("%d",&s);
switch(s){
case 1:{
char str1name[10];
char str2name[10];
printf("\n請輸入第一個字串");
scanf("%s",str1name);
Assign(str1,str1name);
printf("\n初始化完畢\n");
printf("\n請輸入第二個字串");
scanf("%s",str2name);
Assign(str2,str2name);
printf("\n初始化完畢\n");
break;
}
case 2:{
DestroyStr(str1);
DestroyStr(str2);
printf("銷燬完畢");
break;
}
case 3:{
break;
}
case 4:{
printf("第一個字串的長度是:%d",StrLength(str1));
printf("第二個字串的長度是:%d",StrLength(str2));
break;
}
case 5:{
if(StrEqual(str1,str2)==0)
printf("這兩個字串不相等\n");
else
printf("這兩個字串相等\n");
break;
}
case 6:{
printf("是連線字串1還是2");
int i1;
scanf("%d",i1);
printf("加入的字串為:");
char str3name[10];
scanf("%s",str3name);
SqString str3;
Assign(str3,str3name);
if(i1 == 1)
str1 = Concat(str1,str3);
if(i1 == 2)
str2 = Concat(str2,str3);
break;
}
case 7:{
int i;
int j;
scanf("%d",&i);
scanf("%d",&j);
SqString substr = SubStr(str1,i,j);
printf("擷取的字串為:");
DispStr(substr);
break;
}
case 8:{
printf("需要獲取第一個字串索引字元還是第二個");
int a;
scanf("%d",a);
char str3name[10];
scanf("%s",str3name);
SqString str3;
Assign(str3,str3name);
if(a == 1)
printf("%d",Index(str1,str3));
if(a == 2)
printf("%d",Index(str2,str3));
break;
}
case 9:{
printf("是插入字串1還是2");
int i1;
int i2;
scanf("%d",i1);
printf("插入的位置為");
scanf("%d",i2);
printf("插入的字串為:");
char str3name[10];
scanf("%s",str3name);
SqString str3;
Assign(str3,str3name);
if(i1 == 1)
InsStr(str1,i2,str3);
if(i1 == 2)
InsStr(str2,i2,str3);
break;
}
case 10:{
int i1;
int i2;
int i3;
scanf("%d",i1);
scanf("%d",i2);
scanf("%d",i3);
if(i1 == 1)
DelStr(str1,i2,i3);
if(i1 == 2)
DelStr(str2,i2,i3);
break;
}
case 11:{
break;
}
case 12:{
printf("\n第一個字串為:");
DispStr(str1);
printf("\n第二個字串為:");
DispStr(str2);
break;
}
case 13:{
flag=0;
printf("\n程式已經結束");
}
}
}
}