首页 理论教育 C++语言中学版:结构应用举例

C++语言中学版:结构应用举例

时间:2023-08-13 理论教育 版权反馈
【摘要】:例10-3输入多名学生的数据,按成绩从高到低输出。cin不能指定接收的字符个数,这可能使得程序不稳定,如果用户输入超出数组长度,输入信息会被丢失。鉴于以上原因,当cin被用来接收字符串时,它通常与函数getline一起使用,格式如下:当输入长度超过第二个参数的值时,就会导致程序直接结束;当省略第三个参数时,系统默认为'\0'。例10-4验证访问结构变量成员的3种等价形式。

C++语言中学版:结构应用举例

例10-3 输入多名学生的数据(包含学号、姓名、成绩三个域),按成绩从高到低输出。

分析:可以定义一个结构类型student,并用其说明一个该结构类型的数组stu[15],这里假设最多有15名学生。

如果运行程序后从键盘上输入的学生人数为3,则程序的输入和运行结果如下:

说明:

(1)用cin来输入字符串时,它只能接收单个词(而不能是完整的句子),因为这种方法以任何空白符为分隔符,包括空格、制表符、换行符和回车符。

(2)cin不能指定接收的字符个数,这可能使得程序不稳定,如果用户输入超出数组长度,输入信息会被丢失。

(3)鉴于以上原因,当cin被用来接收字符串时,它通常与函数getline一起使用,格式如下:

当输入长度超过第二个参数的值时,就会导致程序直接结束;当省略第三个参数时,系统默认为'\0'。

如:cin.getline(m,5,'a');这时将以字符“a”作为结束标志。

例10-4 验证访问结构变量成员的3种等价形式。(www.xing528.com)

访问结构成员的3种等价形式如下。

(1)利用结构变量名和成员运算符,其一般格式是:

结构变量名.成员名

(2)利用指向结构变量的指针和指向成员运算符,其一般格式是:

结构变量指针->成员名

(3)利用指向结构变量的指针和指针运算符,一般格式是:

(*结构变量名).成员名

由于成员运算符“.”的优先级比指针运算符“∗”的级别高,所以括号不能省略。

程序运行结果如下:

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈