1.源代码
#include
#include
using namespace std;
string xingming[50],xuehao[50];//定义字符串数组
void f1(int n);// 信息录入函数
void f2(string ming,int n);//查找学生信息信息函数
int main()
{
int n;
string ming;//存放要查找学生的姓名
cout<<"请输入要录入信息的学生的个数:";
cin>>n;
f1(n);
cout<<endl<<"请输入要查找学生的姓名:";
cin>>ming;
cout<<"查找结果:"<<endl;
f2(ming,n);
system("pause");
return 0;
}
void f1(int n)// 信息录入函数
{
int i;
cout<<endl<<"开始录入学生信息"<<endl;
for(i=0;i
{
cout<<"请输入第"<<i+1<<"个学生的信息"<<endl;
cout<<"姓名:";
cin>>xingming[i];
cout<<"学号:";
cin>>xuehao[i];
}
}
void f2(string ming,int n)//查找学生信息信息函数
{
int i;
bool zhi=false;
for(i=0;i
{
if(xingming[i]==ming)
{
cout<<"该学生的信息如下:"<<endl;
cout<<"姓名:"<<xingming[i]<<endl;
cout<<"学号:"<<xuehao[i]<<endl;
zhi=true;
break;
}
}
if(zhi==false)
{
cout<<"本班无此人"<<endl;
}
}
2.运行结果截图

3.总结与分析
分析对比:
c++对字符串处理更加,高效,安全,方便
1.安全性:
使用C++字符串变量输入字符串时,不用像C语言那样担心输入的字符串长度超过已经定义的字符型数组长度,若使用C语言输入字符串时输入的字符串长度超过定义的字符数组长度,则程序在运行时会异常,使用用C++字符串变量输入字符串时可以输入任意长度的字符串,(例:string a;cout<<a;//输入字符串时可以输入任意长度的字符串)若输入时不慎多输入几个字符程序也能运行。
2.高效性,方便性:
使用C++字符串变量时不必像C语言一样在定义字符数组时提前计划后边输入字符串所需要的长度,定义时方便简单,像定义其它变量一样。C语言对字符串进行复制,链接,比较等处理时需要用到专门的函数。而C++却不需要专门的函数。
字符串链接:C语言要用到sring函数,例:char a[20]=“china”;char b[10]=“nanyang”;strcat(a,b);//将b字符串连接到a字符串之后,C++可以直接使两个字符串变量相加例string a=“china”;string b=“nanyang”;a=a+b;
字符串复制:C语言要用到strcpy函数,例:char a[20]=“china”;char b[10]=“nanyang”;strcpy(a,b);//把b字符串中的字符复制到a字符串中。C++可以像变量赋值那样把b的字符串付给a:string a=“china”;string b=“nanyang”;a=b;
字符串比较:C语言比较两个字符串时要用到strcmp函数,这个函数返回值是一个整数,例:char a[20]=“china”;char b[10]=“nanyang”;strcmp(a,b);//若a>b则返回一个正整数,若ab);c++对字符串的处理方法更像对正行变量的处理方法,容易理解,出错率小,写出的代码也容易读懂。
本文对比分析了C++与C语言在字符串处理上的差异,指出C++在安全性、高效性和方便性上更具优势。C++的字符串变量可以接受任意长度的输入,无需预先指定长度,且字符串操作如链接、复制和比较可以直接通过赋值和算术运算实现,简化了代码,降低了出错概率。
580

被折叠的 条评论
为什么被折叠?



