30/09/2018, 19:09
Bài tập c++ (15 char)
Đây là bài tập được cô nhập môn lập trình cho em về nhà làm. Mà ai học thực hành bà cô này thì được chỉ em thì học thực hành khác lớp nên không biết gì luôn tụi học bã này được chỉ làm câu 1 như thế này. Em xin code sữa lại được như thế này mà có nhiều chỗ không hiểu với bị lỗi. Mây anh chị chỉ em với. Em bị sai ở 3 chỗ em làm dấu <> đáy ạ.
Năm nhất cntt xin dk cảm ơn trước ạ.
#include<iostream>
using namespace std;
#define max 50
struct date{
int ngay;
int thang;
int nam;
};
struct thongtin{
char malophoc[5];
char chude[30];
char hotengiaovien[30];
int siso;
date ngaybatdau;
date ngayketthuc;
int count;
};
struct lophoc{
thongtin listlophoc[max];
};
void nhapngay(date &d){
cout << "
Nhap ngay";
cin >> d.ngay;//tại sao mình lại cần phải d.ngay có thể thay thế d bằng cái khác không
cout << "
Nhap thang";
cin >> d.thang;
cout << "
Nhap nam";
cin >> d.nam;
}
void xuatngay(date d)
{
cout << d.ngay << "/" << d.thang<<"/" << "/" << d.nam;
}
void nhaplophoc(thongtin &a)
{
cout << "
Nhap ma lop hoc:";
fflush(stdin);//nghĩa của đoạn code này là gì thế ạ.
cin.getline(a.malophoc, 11);/*nghĩa của đoạn code này là sao ạ. Còn số 11 tại sao lại là số 11 và nó có ý nghĩa gì*/
cout << "
Nhap che du:";
fflush(stdin);
cin.getline(a.chude,51 );
cout << "
Nhap ho va ten GVL";
fflush(stdin);
cin.getline(a.hotengiaovien, 11);
cout << "
Nhap si so:";
fflush(stdin);
cin<.>getline(a.siso, 11);//SAI
cout << "
Nhap ngay bat dau hoc:";
nhapngay(a.ngaybatdau);
cout << "
Nhap ngay ket thuc hoc:";
nhapngay(a.ngayketthuc);
}
void xuatlophoc(thongtin a){
cout << "
" << a.malophoc << "
"
<< a.chude << "
" << a.hotengiaovien
<< "
" << a.siso;
xuatngay(a.ngaybatdau);
xuatngay(a.ngayketthuc);
}
void nhapdanhsachlophoc(thongtin &list){
int count;
cout << "
Nhap so luong lop hoc";
cin >> list.count;//tại sao mình lại cần phải cần count ở đây dậy a.
for (int i = 0; i <= list.count; i++)
{
nhaplophoc(list.count[<i>]);//sai
}
}
void xuatdanhsachlophoc(thongtin &list){
cout << "
Xuat danh sach lop hoc";
cin >> list.count;
for (int i = 0; i <= list.count; i++)
{
xuatlophoc(list.count[<i>])//SAI;
}
}
void main(){
thongtin a;
nhapdanhsachlophoc(a);
xuatdanhsachlophoc(a);
system("pause");
}
Bài liên quan
Phần giải thích
d.ngay => cái này do em tự qui định trong struct của em mà
fflush(stdin) => xóa vùng nhớ đệm
cin.getline()
cin >> list.count; để lưu số lượng phần tử của list chứ chi, int count nằm trong struct thongtin do em tự tạo ra đó Mà làm vậy sai đề, và cái int count em khai báo trong hàm đó là vô nghĩa
Phần sai
cin.getline(a.siso, 11);//SAI => a.siso là kiểu int
nhaplophoc(list.count[i]);//sai
xuatlophoc(list.count[i])//SAI; => list.count là kiểu int trong khi đó hai hàm nhập xuất truyền vào kiểu thongtin
Thêm một cái sai nữa là khi nhập danh sách lớp học (lẽ ra là thêm mới lớp học đó) em nhập nó vào một biến kiểu thongtin => đúng ra phải nhập vào một mảng (hoặc tương đương mảng) thongtin (tức là kiểu lophoc đó). Ví dụ:
À struct lophoc sửa thành như dưới (còn cái int count của thongtin thì bỏ đi)
Nhận xét cuối
Em bị hỏng kiến thức nhiều quá, học lâu chưa? Bài này còn thiếu xót nhiều lắm, không chỉ bấy nhiêu sai đâu. Chuyện bà cô TH có dạy e hay không cũng có quan trọng lắm đâu, nên học lại nhiều kiến thức nha. Cố lên
Mà code này là do thằng bạn em viết hết hả? Bài này khá là cơ bản và thuộc dạng dễ, cố gắng luyện lại kiến thức nhé. Có thể xem sơ-ri của anh Đạt về C và C++
cái này là nhiều bài tập giống nhau chỉ dổi phần ngoài còn code thì giống nhau. Em lấy về đổi cho giống với bài tập của em.
Em chỉ chưa học tới struct mà anh. Cái này em chỉ mới tìm hiểu trên mạng thôi còn video của anh Đạt không có struct chỉ có lass thôi. Anh cho em xin địa chỉ liên lạc để em có thể hỏi thêm được không anh.
Có giải thích rồi mà, 11 là giới hạn lượng kí tự đọc vào, nó nhận được 10 kí tự thôi, nhập nhiều hơn thì cũng nhận 10 thôi
Còn vụ địa chỉ liên lạc thì … địa chỉ này nè hehe. Mà a cũng ít lên đây lắm, em có thể mở topic hỏi mà, nhiều a/c sẽ vô trả lời class thì cũng giống struct thôi, dĩ nhiên có khác chỗ class mặc định là private nên muốn giống struct thì thêm public: mà sau này cũng chỉ dùng class thôi. PR tí: em có thể mua sách Nhập môn lập trình, Kĩ thuật lập trình, Phương pháp lập trình hướng đối tượng ở ĐH KHTN để đọc. Còn sau này giỏi TA rồi thì tài liệu hay sẽ vô số.
Anh đang trong thời kì chán code hoho
em sợ đăng nhiều quá máy a/c không thèm trả lời em thôi với em cũng ngại nữa.