Tên người dùng: Mật mã:
Câu lạc bộ sinh viên

TIN TỨC

Sách Bài giảng (ebook) các môn học đã có

Tra cứu điểm các môn học|Hướng dẫn

Các bài thi thử trắc nghiệm trực tuyến

Ngân hàng đề thi các môn học



Go Back   Câu lạc bộ sinh viên > Góc học tập > Thư viện e-book > Đại cương

Gởi Ðề Tài Mới  Trả lời
 
Ðiều Chỉnh Xếp Bài
  #1  
Old 08-19-2007
thunl105cn144's Avatar
thunl105cn144 thunl105cn144 is offline
Member
 
Tham gia ngày: Jul 2006
Nơi Cư Ngụ: Mù Căng Chải
Bài gởi: 68
Thanks: 5
Thanked 3 Times in 2 Posts

Level: 7 [♥ Bé-Yêu ♥♥ Bé-Yêu ♥♥ Bé-Yêu ♥♥ Bé-Yêu ♥♥ Bé-Yêu ♥]
Life: 0 / 153
Magic: 22 / 5582
Experience: 15%

Angry Lập trình C++:Mọi người giúp tôi với

#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<stdlib.h>
#include<fstream.h>
#include<iostream.h>
#include<iomanip.h> //setw
typedef struct {
int sonha;
char duong_pho[20];
}diachi;
typedef struct{
char hoten[20];
diachi dc;
int diem;
}sinhvien;
//khai bao khuon mau ham
void nhap(sinhvien *sv);//su dung con tro
void in(sinhvien *sv);
void nhap(sinhvien *sv){
sv=new sinhvien;//cap phat bo nho cho contro
cout<<"ten:";
cin>>sv->hoten;
cout<<"diem:";
cin>>sv->diem;
cout<<"so nha:";
cin>>sv->dc.sonha;
cout<<"duong pho:";
cin>>sv->dc.duong_pho;

return;
}
void in(sinhvien *sv){
cout<<"Ho ten: "<<sv->hoten<<endl;
cout<<"Diem: "<<sv->diem<<endl;
cout<<"dia chi so nha"<<sv->dc.sonha<<sv->dc.duong_pho<<endl;
return ;

}
void main()
{
sinhvien *sv;
sv=new sinhvien;
nhap(sv);
in(sv);

delete sv;
return;
}
Phần in(sv) không ra đúng kết quả, mọi người chỉ giúp tôi với, chẳng hiểu lỗi ở đâu cả.
__________________
"Sans eyes, sans teeth, sans everything!!!!!!!
Love is not love which alters when it alteration finds, or bends with remover to remove"
Trả Lời Với Trích Dẫn
  #2  
Old 08-21-2007
Nguyễn Minh Quang's Avatar
Nguyễn Minh Quang Nguyễn Minh Quang is offline
Senior Member
 
Tham gia ngày: Mar 2006
Nơi Cư Ngụ: Vietnam
Bài gởi: 114
Thanks: 22
Thanked 7 Times in 7 Posts

Level: 9 [♥ Bé-Yêu ♥]
Life: 0 / 217
Magic: 38 / 8090
Experience: 70%

Send a message via Yahoo to Nguyễn Minh Quang
Default

1.Bạn không cần phải #include nhiều như vậy đâu, mỗi hàm được sử dụng đều có thư viện riêng của nó (nếu muốn biết hàm đó nằm ở đâu bạn có thể mở trong thư mục /include của C++, hoặc có đĩa MSDN 2003 || 200... tra cứu trên đó thì biết hàm đó nằm ở đâu
2. Bạn đã new sinhvien 2 lần, mỗi lần new là nó cấp phát một bộ nhớ động cho cấu trúc đó. (có lẽ chạy sai vì lý do này).
(Theo mình nghĩ vậy ???? )
__________________
Justice for all

thay đổi nội dung bởi: Nguyễn Minh Quang, 08-21-2007 lúc 06:16 PM. Lý do: Bổ sung
Trả Lời Với Trích Dẫn
  #3  
Old 03-26-2009
trungkb107dt0030's Avatar
trungkb107dt0030 trungkb107dt0030 is offline
Junior Member
 
Tham gia ngày: Nov 2007
Bài gởi: 5
Thanks: 1
Thanked 0 Times in 0 Posts

Level: 1 [♥ Bé-Yêu ♥]
Life: 0 / 8
Magic: 1 / 276
Experience: 34%

Default

Theo mình thì bạn đã in(sv) được rồi. Nhưng do bạn chưa có câu lệnh để dừng quá trình biên dịch lại. Vì thế nó sẽ chạy đến câu lệnh cuối cùng. Bạn thử thêm câu lệnh getch() vào trước câu lệnh return xem sao. Chúc bạn thành công
Trả Lời Với Trích Dẫn
  #4  
Old 11-09-2010
dttrang09cn4019's Avatar
dttrang09cn4019 dttrang09cn4019 is offline
Member
 
Tham gia ngày: Dec 2009
Bài gởi: 43
Thanks: 1
Thanked 10 Times in 4 Posts

Level: 5 [♥ Bé-Yêu ♥♥ Bé-Yêu ♥♥ Bé-Yêu ♥]
Life: 0 / 108
Magic: 14 / 2869
Experience: 35%

Default

Theo mình thì bạn đã in(sv) được rồi. Nhưng do bạn chưa có câu lệnh để dừng quá trình biên dịch lại. Vì thế nó sẽ chạy đến câu lệnh cuối cùng. Bạn thử thêm câu lệnh getch() vào trước câu lệnh return xem sao. Chúc bạn thành công
Trả Lời Với Trích Dẫn
  #5  
Old 11-21-2010
phonglt209cn212's Avatar
phonglt209cn212 phonglt209cn212 is offline
Member
 
Tham gia ngày: Dec 2009
Bài gởi: 95
Thanks: 41
Thanked 119 Times in 47 Posts

Level: 8 [♥ Bé-Yêu ♥]
Life: 0 / 193
Magic: 31 / 5087
Experience: 73%

Default

Code:
#include<stdio.h> #include<conio.h> #include<string.h> #include<stdlib.h> #include<fstream.h> #include<iostream.h> #include<iomanip.h> //setw typedef struct { int sonha; char duong_pho[20]; }diachi; typedef struct{ char hoten[20]; diachi dc; int diem; }sinhvien; //khai bao khuon mau ham void nhap(sinhvien *sv);//su dung con tro void in(sinhvien *sv); void nhap(sinhvien *sv){ sv=new sinhvien;//cap phat bo nho cho contro cout<<"ten:"; cin>>sv->hoten; cout<<"diem:"; cin>>sv->diem; cout<<"so nha:"; cin>>sv->dc.sonha; cout<<"duong pho:"; cin>>sv->dc.duong_pho; return; } void in(sinhvien *sv){ cout<<"Ho ten: "<<sv->hoten<<endl; cout<<"Diem: "<<sv->diem<<endl; cout<<"dia chi so nha"<<sv->dc.sonha<<sv->dc.duong_pho<<endl; return ; } void main() { sinhvien *sv; sv=new sinhvien; nhap(sv); in(sv); delete sv; return; }

Trích:
Phần in(sv) không ra đúng kết quả, mọi người chỉ giúp tôi với, chẳng hiểu lỗi ở đâu cả.

lần sau phần code bạn mà bạn muốn đưa vào forum thi bạn làm nhu sau:
- chọn phần code
- chọn mục # trên toolbar để giữ nguyên định djang code cho dễ đọc

thay đổi nội dung bởi: phonglt209cn212, 11-21-2010 lúc 10:06 AM.
Trả Lời Với Trích Dẫn
Những người đã cám ơn bài viết của phonglt209cn212 ở trên:
  #6  
Old 12-07-2010
hunglc209cn228's Avatar
hunglc209cn228 hunglc209cn228 is offline
Senior Member
 
Tham gia ngày: Dec 2009
Bài gởi: 313
Thanks: 39
Thanked 643 Times in 245 Posts

Level: 16 [♥ Bé-Yêu ♥]
Life: 0 / 388
Magic: 104 / 10220
Experience: 54%

Default

Nguyên nhân làm chương trình chạy không đúng là do dòng lệnh sv=new sinhvien; trong hàm void nhap(sinhvien *sv). Lý do là sau dòng lệnh new ở chương trình chính, con trỏ đã được cấp phát vùng nhớ rồi, trong hàm lại new thêm cái nữa, nên các thông tin được nhập vào vùng nhớ mới, nhưng ở chương trình chính thì con trỏ vẫn trỏ vào vùng nhớ cũ. Chỉ cần bỏ dòng lệnh new trong hàm là chương trình chạy đúng.
Nguyên tắc của C: Tất cả những tham số truyền vào hàm luôn luôn không thay đổi giá trị.
Nếu trong chương trình không có hàm getch() để chương tình tạm ngưng thì có thể quay lại màn hình thực thi bằng phím Alt-F5 (đối với Turbo/Borland C++).
Trả Lời Với Trích Dẫn
Gởi Ðề Tài Mới  Trả lời


Ðiều Chỉnh
Xếp Bài

Quyền Sử Dụng Ở Diễn Ðàn
Bạn không được quyền gởi bài
Bạn không được quyền gởi trả lời
Bạn không được quyền gởi kèm file
Bạn không được quyền sửa bài

vB code đang Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt
Chuyển đến



Powered by: vBulletin Version 3.6.7 Copyright © 2000 - 2018, Jelsoft Enterprises Ltd.
Múi giờ GMT. Hiện tại là 08:25 PM.