Nhờ Diễn đàn giải cứu giúp mình C++

  • Khởi xướng Khởi xướng tendangky
  • Ngày gửi Ngày gửi
T

tendangky

Guest
em xin trích đoạn một phần bài tập C++ mà thầy ra như sau, xin nhờ anh em diễn đàn giúp đỡ em đang cần gấp lắm, thank mấy anh trước:
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <string.h>
typedef struct HS
{
char HoTen[50];
float DTB;
char MAHS[30];
}HS;
void SapXep(HS a[],int n);
void HoanVi(HS &a,HS &b);
void Xuat(HS a[],int n);
void Nhap(HS a[],int n);
void Xuat(HS a);
HS Nhap();
void main ()
{
HS a[100];
int n=3;
Nhap(a,n);
SapXep(a,n);
Xuat(a,n);
getch();
}
void SapXep(HS a[],int n)
{
int i,j;
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(strcmp(a[j].HoTen,a.HoTen)<0)
}
void HoanVi(HS &a,HS &b)
{
HS tam=a;a=b;b=tam;
}

void Xuat(HS a[],int n)
{
for(int i=0;i<n;i++)
Xuat(a,);
}
void Nhap(HS a[],int n)
{
for(int i=0;i<n;i++
{
printf("Nhap hoc sinh thu%d:\n",i);
a=Nhap();
}

}
void Xuat(HS a)
{
printf("%-10s%-20%-15%.2f\n",a.MAHS,a.HoTen,a,DTB);
}
HS Nhap()
{
HS a;
printf("\tMa:"); fflush(stdin); gets (a. MAHS);
printf("\tHo va Ten:"); fflush(stdin); gets (a. HoTen);
printf("\tDTB:"); scanf("%f",%a.DTB);
return a;
}

đề tài thầy ra như sau:
bài tập phát triển thêm :
1. Thêm vào danh sách học sinh.
2. Xóa trong danh sách học sinh.
a. Xóa 1 học sinh.
b. Xóa tất cả các học sinh.
3. Sửa danh sách học sinh.
4. Lưu danh sách học sinh (Lưu xuống file -> gõ tên tập tin để lưu)
5. Xem danh sách học sinh
a. Xem toàn bộ theo thứ tự trong tập tin
b. Sắp xếp theo họ tên, mã.
c. Xem học sinh theo điểm trung bình, giới tính....
6. Mở danh sách có sẵn trên máy (gõ vào tên tập tin)
xin anh em giúp giùm
 
bạn thử làm câu 1,2 trước chứ,làm không được câu căn bản không lập trình được đâu.post nguyên bài,sao giúp được
 
ặc. Với bài này thì vào diễn đàn tin học chứ ai lại vào diễn đàn giá xây dựng thế này. Bạn này có vấn đề à? ;))
 
bạn có thể tham khảo hàm sắp xếp qsort
void f_quicksort(int Arr[],int l,int r)
{
if(l>=r) return;
int i=l;
int j=r;
int x=Arr[(l+r)/2];//x=A[random(l-r)]
while(i<=j)
{
while(Arr<x) i++;
while(Arr[j]>x) j--;
if(i<=j)
{
int temp=Arr;Arr=Arr[j];Arr[j]=temp;
i++;j--;
}
}


f_quicksort(Arr,l,j);
f_quicksort(Arr,i,r);

}

hoặc cách khác như sau :

struct st
{
CString MSHS;
CString HoTen;
CString DTB;
CString sapxep; // trường muốn sắp xếp


};

int operator >> ( const st &t, const st &u ) // dinh nghia phep toan "*"
{
if (t.sapxep < u.sapxep) return -1; //sap xep tang dan theo ten
if (t.sapxep == u.sapxep) return 0;
if (t.sapxep > u.sapxep) return 1;
}


int compare_AZ (const void * a, const void * b)
{
return (*(st*)a >> *(st*)b);

}

Câu lệnh sắp xếp : qsort(arr,n,sizeof(st),compare_AZ);

---------------------
Còn các vấn đề xuất nhập dữ liệu bạn nên đọc lại giáo trình :D
Gửi bạn tài liệu C++ tham khảo :
 

File đính kèm

Tải bộ cài phần mềm Dự toán GXD, Đấu thầu GXD, Thanh Quyết toán GXD, Quản lý chất lượng GXD. Dành cho người mua bản quyền
Kích để xem khóa học Dự toán công trình
Kích để xem khóa học Dự toán công trình
Kích để xem khóa học Chỉ huy trưởng công trường
Kích để xem giới thiệu phần mềm thanh quyết toán
Phần mềm quản lý chất lượng công trình QLCL GXD
Tìm hiểu khóa học Thanh Quyết toán GXD
Giới thiệu phần mềm Dự toán GXD dùng là thích, kích là sướng

Các bài viết mới

Back
Top