计算机小混子 2022-03-13 09:29 采纳率: 100%
浏览 22
已结题

关于C++指针求解释下列问题

求解释下列问题?
1-函数必须要返回值?
2-p->num;这是什么意思?给指针指向的位置赋值?
3-cout << p->chemistry 这又是什么意思?输出p指针指向的地址所对应的值?
4-for (p1 = a; p1 < a + 2; p1++)这后面括号里的是什么?


// 69.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>
using namespace std;    //定义公共结构类型
    struct student
    {
        int num;
        char name[10];
        float maths;
        float physics;
        float chemistry;
        double total;
    };
    //定义结构输入函数
    int input_Rec(struct student* p)//参数为student类型的结构指针变量
    {
        cin >> p->num;
        cin >> p->name;
        cin >> p->maths;
        cin >> p->physics;
        cin >> p->chemistry;
        return 0;
    }
    //定义结构数据交换函数
    int swap_Rec(struct student* p, struct student* p2)
    {
        struct student x;
        //交换两个记录的数据
        x = *p;
        *p = *p2;
        *p2 = x;
        return 0;
    }
    int put_Rec(struct student* p)
    {
        cout << p->num << '\t';
        cout << p->name << '\t';
        cout << p->maths << '\t';
        cout << p->physics << '\t';
        cout << p->chemistry << '\t';
        cout << p->total << endl;
        return 0;
    }
    int main()
    {
        int i, j;
        //声明结构指针变量和结构数组
        struct student* p1, a[3];
        //输入3个学生的数据并计算总成绩
        cout << "num\tname\tmaths\tphysics\tchemistry" << endl;
        for (p1 = a; p1 < a + 2; p1++)
        {
            input_Rec(p1);
            p1->total = p1->maths + p1->physics + p1->chemistry;
        }
        //对三个学生的数据排序
        for (int i = 0; i <= 2; i++)
            for (j = i + 1; j <= 2; j++)
                if (a[i].total < a[j].total)
                    swap_Rec(&a[i], &a[j]);
        cout << "__________________________________" << endl;
        //输出排序后的结构数组
        cout << "num\tname\tmaths\tphysics\tchemistry\ttotal" << endl;
        for (p1 = a; p1 <= a + 2; p1++)
            put_Rec(p1);








    }



  • 写回答

2条回答 默认 最新

  • yun6853992 2022-03-13 09:42
    关注

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月21日
  • 已采纳回答 3月13日
  • 创建了问题 3月13日

悬赏问题

  • ¥50 三种调度算法报错 有实例
  • ¥15 关于#python#的问题,请各位专家解答!
  • ¥200 询问:python实现大地主题正反算的程序设计,有偿
  • ¥15 smptlib使用465端口发送邮件失败
  • ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败
  • ¥20 java在应用程序里获取不到扬声器设备