Hàm nhập, xuất trong C++

Đề là: viết chương trình nhập họ tên, điểm toán, văn của một học sinh. Tính diểm trung bình và xuất ra kết quả (viết hàm nhập, xuất, tính điểm trung bình)
Em không biết code bị sai chỗ nào ? (em mới học về hàm)

    #include<iostream>
    #include<cmath>
    using namespace std;
    void Nhap(char HT[50],double &T,double&V)
    {
    	cout<<"Ho ten:";
    	cin>>HT;
    	cout<<"Toan: ";
    	cin>>T;
    	cout<<"Van: ";
    	cin>>V;
    }
    void Xuat(char HT[50],double T,double V,double DTB)
    {
    	cout<<"Sinh vien: "<<HT<<endl;
    	cout<<"Toan: "<<T<<", Van: "<<V<<" ==> DTB: "<<DTB<<endl;
    }
    void TinhTB(double T,double V,double&DTB)
    {
    	DTB = (T + V)/2;
    }
    int main()
    {
    	char hoten;
    	double toan,van,diemtrungbinh;
    	Nhap(hoten,toan,van);
    	Xuat(hoten,toan,van,diemtrungbinh);
    	TinhTB(toan,van,diemtrungbinh);
    	return 0;
    }

Phần tính điểm ttung bình phải ở giữa 2 phần nhập xuất. Tuân theo nguyên tắc dịch từ trên xuống từ phải qua. Thế nó mới chạy được (hình như thế :smile: ) b thử nhé

không được bạn ơi, khi chạy thì hàm main báo lỗi

Lỗi gì thì đọc lấy rồi sửa chứ? Đọc không hiểu thì search google. Search không ra thì hãy mang lên hỏi, mà hỏi thì phải cho người khác biết là lỗi gì.

2 Likes

hàm Nhap, hàm Xuat, hàm TinhTB bạn khởi tạo biến nào thì khi bạn gọi trong hàm main bạn phải đưa biến đó vào chứ sao lại đưa vào biến khác mà bạn khởi tạo trong hàm main thì làm sao mà nó chạy được.
Ví dụ:

#include<iostream>
#include<cmath>
using namespace std;
void Nhập (char HT[50],double &T,double &V)
    {
    	cout<<"Ho ten:";
    	cin>>HT;
    	cout<<"Toan: ";
    	cin>>T;
    	cout<<"Van: ";
    	cin>>V;
    }
 
void main() // khởi tạo hàm main
{
char HT[50];
double T;
double V;
Nhập(HT, T, V) // hàm Nhập khởi tạo biến nào thì gọi biến đó vào

}
  • Format lại code bằng cách thêm 3 dấu ` vào đầu và cuối code, như thế này:
    ```
    // code
    ```

  • Không dùng void main() trong C++.

Sai bét.

Cái sai của thớt ở đây:

hoten là xâu hay là kí tự?

#include <iostream>

using namespace std;
struct HocSinh
{
    string hoten;
    float dtb;//diem trung binh
    float dt;
    float dv;
};
typedef struct HocSinh HS;
void Nhap(HS &a)
{
    getline(cin, a.hoten);
    cin>>a.dv;
    cin >>a.dt;
}
void Xuat(HS a)
{
    a.dtb=(a.dv+a.dt)/2;
    cout<<a.hoten<<":"<<a.dtb;
}

int main()
{
    HS a;
    Nhap(a);
    Xuat(a);
    return 0;
}
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?