prog23.cpp

来自「C++语言程序设计题典」· C++ 代码 · 共 66 行

CPP
66
字号
#include <stdio.h>
#include <string.h>
#define N 5
class person
{
	char name[10];
	char num[10];
public:
	void setname(char na[]) { strcpy(name,na); }
	void setnum(char nu[]) { strcpy(num,nu); }
	char *getname() { return name; }
	char *getnum() { return num; }
};
class compute
{
	person pn[N];
public:
	void getdata();
	void getsort();
	void outdata();
};
void compute::getdata()
{
	int i;
	char na[10],nu[10];
	printf("输入姓名和电话号码:\n");
	for (i=0;i<N;i++)
	{
		printf("  第%d个人:",i+1);
		scanf("%s%s",na,nu);
		pn[i].setname(na);
		pn[i].setnum(nu);
	}
}
void compute::getsort()
{
	int i,j,k;
	person temp;
	for (i=0;i<N-1;i++)
	{
		k=i;
		for (j=i+1;j<N;j++)
			if (strcmp(pn[k].getname(),pn[j].getname())>0)
				k=j;
			temp=pn[k];
			pn[k]=pn[i];
			pn[i]=temp;
	}
}
void compute::outdata()
{
	int i;
	printf("输出结果:\n");
	printf("  姓名    电话号码\n");
	printf("--------  --------\n");
	for (i=0;i<N;i++)
		printf("  %-8s%-8s\n",pn[i].getname(),pn[i].getnum());
}
void main()
{
	compute obj;
	obj.getdata();
	obj.getsort();
	obj.outdata();
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?