Từ 1 tới 2 trên tổng số 2 kết quả

Đề tài: Bài tập C++ | Code bài tập hàm lớp bạn sinh viên, lỗi ở đâu?

  1. #1
    Ngày gia nhập
    02 2009
    Bài viết
    3

    Mặc định Bài tập C++ | Code bài tập hàm lớp bạn sinh viên, lỗi ở đâu?

    Đây là đề kiểm tra của mình, mình không làm được phần lưu thêm vào file và lưu kết quả vào file các pro về c++ làm giúp mình với đây là project thi học kỳ của mình :
    Code:
    Xây dựng lớp Người (Họ, tên, địa chỉ, SĐT). Lớp Sinh viên kế thừa từ lớp Người và thêm các thông tin (Mã SV, Mã Lớp, Khoa). 
    Lớp Bảng Điểm là bạn của lớp Sinh viên trong đó có thành phần là một đối tượng sinh viên và thêm các thuộc tính (Điểm trung bình, Xếp loại).
    Viết chương trình thực hiện các chức năng (dạng menu lựa chọn): 
    Nhập danh sách n sinh viên. Lưu thêm vào file SV.DAT. 
    Nhập Bảng điểm cho mỗi sinh viên đã lưu trong file SV.DAT. Lưu thêm vào file BD.DAT
    Sắp xếp Bảng điểm theo: 
    a.	ĐTB giàm dần. Lưu kết quả sắp xếp vào SXDTB.DAT và in ra màn hình. 
    b.	Tên tăng dần.  Lưu kết quả sắp xếp vào SXTEN.DAT và in ra màn hình.
    Tìm kiếm sinh viên trong Bảng điểm theo: 
    c.	Tên sinh viên (gần đúng)
    d.	Mã Lớp (hiển thị tất cả sinh viên trong lớp)
    e.	Xếp loại (cho phép lựa chọn và hiển thị tất cả sinh viên cùng có xếp loại)
    C++ Code:
    1. #include<stdio.h>
    2. #include<conio.h>
    3. #include<iostream.h>
    4. #include<string.h>
    5. class nguoi{
    6. protected:
    7. char ten[30];
    8. char diachi[30];
    9. char sdt[30];
    10. public :
    11. nguoi(){
    12. strcpy(ten,"   ");
    13. strcpy(diachi,"     ");
    14. strcpy(sdt,"   ");
    15. }
    16. nguoi(char *s1,char *s2,char *s3,int a){
    17. strcpy(ten,s1);
    18. strcpy(diachi,s2);
    19. strcpy(sdt,s3);
    20. }
    21. void in(){
    22. cout<<"   "<<ten<<"     "<<diachi<<"     "<<sdt<<" \n \t   ";
    23. }
    24. };
    25. class sv:public nguoi{
    26. private :
    27. int masv;
    28. float malop;
    29. char khoa[30];
    30. public :
    31. sv():nguoi(){
    32. masv=0;strcpy(khoa,"    ");malop=0;
    33. }
    34. sv(int b,char *c,int d):nguoi(){
    35. masv=b;strcpy(khoa,c);malop=d;
    36. }
    37. friend class bangdiem;
    38. };
    39. class bangdiem{
    40. private:
    41. sv a;
    42. float dt;
    43. char xl[30];
    44. public :
    45. bangdiem(){dt=0;strcpy(xl,"   ");}
    46. void setXepLoai(char *s){strcpy(xl,s); }
    47. char *getxl(){return xl;}
    48. char *getten(){return a.ten;}
    49. int getma(){return a.masv;}
    50. float getDTB(){return dt;}
    51. void init1(char *ten,char *dc,char *sd,char *kh,int x,int t){
    52. a.masv=x;strcpy(a.ten,ten);strcpy(a.diachi,dc);strcpy(a.sdt,sd);a.malop=t;strcpy(a.khoa,kh);}
    53. void init2(float dtb){
    54. dt=dtb;
    55. }
    56. void show1(){
    57. cout<<"    "<<a.masv<<"    "<<a.malop<<"   "<<a.khoa<<"\n \t ";
    58. a.in();
    59. }
    60. void show2(){
    61. cout<<"    "<<a.masv<<"   "<<a.malop<<"   "<<a.khoa<<"    "<<dt<<"    "<<xl<<" \n \t  ";
    62. a.in();
    63. }
    64. };bangdiem ds[100];int n;
    65. void nhap(){
    66. char ten[30];
    67. char sd[30];
    68. char dc[30];
    69. float dtb;
    70. char kh[30];
    71. int x,t;
    72. cout<<"\n \t Nhap so sinh vien :";cin>>n;
    73. for(int i=0;i<n;i++){
    74. cout<<"\n \t So sinh vien thu :"<<i+1;
    75. cout<<"\n \t Nhap ma sinh vien:";cin>>x;
    76. cout<<" \n \tNhap ma lop sinh vien :";cin>>t;
    77. cout<<"\n \t Nhap ten sinh vien :";cin>>ten;
    78. cout<<"\n \t Nhap khoa cua sinh vien :";cin>>kh;
    79. cout<<"\n \t NHap dia chi sinh vien :";cin>>dc;
    80. cout<<"\n \t Nhap so dien thoai cua sinh vien:";cin>>sd;
    81. ds[i].init1(ten,dc,sd,kh,x,t);
    82. }
    83. }
    84. void nhapbd(){
    85. float dt;
    86. for(int i=0;i<n;i++){
    87. cout<<"\n \t Nhap diem trung binh cua sinh vien thu  "<<i+1<<":";cin>>dt;
    88. ds[i].init2(dt);
    89. if(dt>=8)ds[i].setXepLoai("Gioi");
    90.       else if(dt>=7)ds[i].setXepLoai("Kha");
    91.       else if(dt>=5)ds[i].setXepLoai("Trung Binh");
    92.      else ds[i].setXepLoai("Yeu");
    93. }
    94. }
    95. void inds1(){
    96. for(int i=0;i<n;i++) ds[i].show1();
    97. }
    98. void inds2(){
    99. for(int i=0;i<n;i++) ds[i].show2();
    100. }
    101. void sapxepdtb(){
    102. int i,j;
    103. for(i=0;i<n;i++)
    104.    for(j=i+1;j<n;j++)
    105.      if(ds[i].getDTB()<ds[j].getDTB()){
    106.      bangdiem temp=ds[i];
    107.     ds[i]=ds[j];
    108.     ds[j]=temp;
    109.      }
    110. }
    111. void timten(){
    112. char k[30];
    113. int kt=0;
    114. cout<<"Nhap ten sinh vien can tim:";
    115. fflush(stdin);
    116. gets(k);
    117. for(int i=0;i<n;i++){
    118. if(strcmp(k,ds[i].getten())==0){
    119. cout<<"\nTIm thay sinh vien can tim!";
    120. ds[i].show2();
    121. kt=1;
    122. }
    123. }
    124. if(kt==0) cout<<"\n Ko tim thay !";
    125. }
    126. void timma(){
    127. char t;
    128. int kt=0;
    129. cout<<"Nhap ma lop can tim :";cin>>t;
    130. for(int i=0;i<n;i++){
    131. if(t==ds[i].getma()==0){
    132. cout<<"\nTIm thay sinh vien can tim!";
    133. ds[i].show2();
    134. kt=1;
    135. }
    136. }
    137. if(kt==0) cout<<"\n Ko tim thay !";
    138. }
    139. void timxeploai(){
    140. char m[30];
    141. int kt=0;
    142. cout<<"Nhap sinh vien theo xep loai:";
    143. fflush(stdin);
    144. gets(m);
    145. for(int i=0;i<n;i++){
    146. if(strcmp(m,ds[i].getxl())==0){
    147. cout<<"\nTIm thay sinh vien can tim!";
    148. ds[i].show2();
    149. kt=1;
    150. }
    151. }
    152. if(kt==0) cout<<"\n Ko tim thay !";
    153. }
    154. void sapxepten(){
    155. int i,j;
    156. for(i=0;i<n-1;i++)
    157.    for(j=i+1;j<n;j++)
    158.      if(ds[i].getten()<ds[j].getten()){
    159.      bangdiem temp=ds[i];
    160.     ds[i]=ds[j];
    161.     ds[j]=temp;
    162.      }
    163. }
    164. void menu1(){
    165. char chon;
    166. cout<<"\n \t a.Sap xep bang diem theo diem trung binh !";
    167. cout<<"\n \t b.SAp xep bang diem theo ten sinh vien !";
    168. cout<<"\n \t Nhap lua chon:";cin>>chon;
    169. switch(chon){
    170. case 'a':sapxepdtb();cout<<"\n \t Danh sach vua sap xep theo diem trung binh la :";inds2(); break;
    171. case 'b':sapxepten();cout<<"\n \t Danh sach vua sap xep theo ten la :";inds2(); break;
    172. }
    173. }
    174. void menu2(){
    175. char chon;
    176. cout<<"\n \t c.TIm kiem sinh vien theo ten !";
    177. cout<<"\n \t d.TIm kiem sinh vien theo lop !";
    178. cout<<"\n \t e.TIm kiem sinh vien theo xep loai ";
    179. cout<<"\n \t Nhap lua chon:";cin>>chon;
    180. switch(chon){
    181. case 'c':timten();break;
    182. case 'd':timma(); break;
    183. case 'e':timxeploai();break;
    184. }
    185. getch();
    186. }
    187. void menu(){
    188. int chon;
    189. while(1){
    190. cout<<"\n \t 1.Nhap danh sach sinh vien !";
    191. cout<<"\n \t 2.Nhap bang diem cua sinh vien !";
    192. cout<<"\n \t 3.Sap xep bang diem cua sinh vien !";
    193. cout<<"\n \t 4.TIm kiem sinh vien !";
    194. cout<<"\n \t 0.THoat !";
    195. cout<<"\n \t Nhap lua chon:";cin>>chon;
    196. if(chon==0) break;
    197. switch(chon){
    198. case 1 :nhap();cout<<"\n \t danh sach vua nhap:";inds1();break;
    199. case 2:nhapbd();cout<<"\n \t Danh sach nhap them bang diem sinh vien :";inds2();break;
    200. case 3:menu1();break;
    201. case 4:menu2();break;
    202. }
    203. getch();
    204. }
    205. }
    206. void main(){
    207. clrscr();
    208. menu();
    209. getch();
    210. }

  2. #2
    Ngày gia nhập
    02 2009
    Bài viết
    3

    Các pro vào giúp mình với ,bài này gần giống đề thi học kỳ sắp tới của tớ mà t chưa biết làm thế nào cả :(( .Pót mãi mà chẳng có ai trả lời bài viết zì cả :((

Các đề tài tương tự

  1. Quản Lý Điểm Sinh Viên Code bằng C#
    Gửi bởi khoaimon trong diễn đàn Dự án & Source code C#, ASP.NET
    Trả lời: 9
    Bài viết cuối: 03-03-2014, 10:47 AM
  2. Lập trình C++ Gặp lỗi lặp vô hạn khi xuất danh sách sinh viên trong code của bài danh sách sinh viên
    Gửi bởi boysieuda trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 5
    Bài viết cuối: 16-05-2013, 04:57 PM
  3. làm sao để select sinh viên theo mã sinh viên trong 1 chuỗi mã sinh viên
    Gửi bởi thuan trong diễn đàn Thắc mắc Microsoft SQL Server & Microsoft Access
    Trả lời: 11
    Bài viết cuối: 14-12-2012, 08:37 PM
  4. Kỹ thuật C code bài tập về quản lý sinh viên. Không hiển thị đc tên với mã số sinh viên?
    Gửi bởi seudaudokt trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 4
    Bài viết cuối: 06-09-2010, 12:18 AM
  5. Code quản lý sinh viên bằng danh sách lối vòng. Giúp mình thay đổi code kế thừa?
    Gửi bởi caocanha trong diễn đàn Thảo luận, góp ý code C/C++ của bạn
    Trả lời: 6
    Bài viết cuối: 04-05-2009, 03:39 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn