01/10/2018, 08:59

Code về danh sách liên kết bị lỗi

#include<iostream>
#include<string>
#include<conio.h>

using namespace std;

struct MANH {
	int mssv;
	string name;
	int  tuoi;
	MANH *next;
};
void *tim(MANH *l, int ms) {
	if (l == NULL) return NULL;
	if (l->mssv == ms) return l;
	else return tim(l->next, ms);
}
void them(MANH **l, MANH m) {
	MANH *p;
	p = (MANH *) malloc(sizeof(MANH));
	p->mssv = m.mssv;
	p->name = m.name;
	p->tuoi = m.tuoi;
	p->next = *l;
}
int main() {
	MANH *sv1;
	cout << "nhap du lieu " << endl;
	cout << "ban can nhap bao nhieu sinh vien :";
	int n;
	cin >> n;
	while (n--) {
		cout << "nhap mssv:";
		cin >> sv1->mssv;

		cout << "nhap ten :";
		 getline(cin,sv1->name);
		cout << "nhap tuoi :";
		cin >> sv1->tuoi;
		them(&sv1, *sv1);
	}
}
Phạm Hợp viết 11:01 ngày 01/10/2018

thứ 1: ở main bạn khai báo ra con trỏ kiểu MANH … không cấp phát cho nó. thì nó làm sao mà sd đc bạn.

thứ 2 : while(n–) là gì vậy bạn.

thứ 3: void *tim
mình cũng không hiểu là gì luôn…

mình khuyên bạn nên đi từ từ.nắm chắc từng cái 1… đừng chạy khi mới tập tẹ biết đi nhé… hihi… cố lên

HK boy viết 11:14 ngày 01/10/2018

thứ 2 : while(n–) là gì vậy bạn.

Vừa thực hiện n–, vừa kiểm tra xem n còn > 0 hay không. Cái này hữu ích khi đọc n bộ dữ liệu.

Kiểm chứng:

Ideone.com

Ideone.com

Ideone is something more than a pastebin; it's an online compiler and debugging tool which allows to compile and run code online in more than 40 programming languages.

thứ 3: void *tim
mình cũng không hiểu là gì luôn…

Có gì mà không hiểu hả bạn, chỉ là tìm kiếm tuần tự thôi mà?

Bài liên quan
0