Dấu chấm trong C++

#include <iostream>
#include <conio.h>
#include <cstdlib>
using namespace std;
int main()         //Nhập 1 danh sách n thí sinh, dữ liệu mỗi thí sinh gồm họ tên, các điểm toán, lý, hóa.
{                      //Sau đó in danh sách thí sinh theo thứ tự giảm của tổng điểm.
    struct
    {
        char ht[25];
        float t,l,h,td;
    } ts[50], tg;
    int n,i,j;
    system("cls");
    cout<<"So thi sinh: ";
    cin>>n;
    for(i=1;i<=n;i++)
    {
        cout<<"\nThi sinh: "<<i;
        cout<<"\nHo ten: ";
        cin.ignore(1);
        cin.get(ts[i].ht,25);
        cout<<"Cac diem toan, ly, hoa: ";
        cin>>ts[i].t>>ts[i].l>>ts[i].h;
        ts[i].td = ts[i].t + ts[i].l + ts[i].h;
    }
    for(i=1;i<=n-1;++i)
        for(j=i+1;j<=n;++j)
        if(ts[i].td < ts[j].td)
    {
        tg = ts[i];
        ts[i] = ts[j];
        ts[j] = tg;
    }
    cout<<"\n Danh sach thi sinh sau khi sap xep: ";
    for(i=1;i<=n;++i)
    {
        cout<<"\nHo ten: "<<ts[i].ht;
        cout<<"\nTong diem: "<<ts[i].td;
    }

    return 0;
}

Cho em hỏi: dấu chấm (.) trong c++ có tác dụng gì v ạ ? Ví dụ: cin.ignore(1); ts[i].td = ts[i].t + ts[i].l + ts[i].h;

Cái dấu . là để giúp cho class, struct có thể truy cập vào phương thức hay phần tử bên trong nó.
Như ví dụ trên của bạn:

  • ignore() là một phương thức trong cin.
  • td, t, l, h là phần tử của struct ts[50], tg mà bạn đã định nghĩa ở trên.

Cơ mà mời bạn qua markdown để biết cách format source code nha. :slight_smile:

4 Likes

ok, cảm ơn bạn nhiều nha

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?