Mọi người giúp em fix lỗi này được không ạ, em là ma mới nên chưa thạo tay lắm, cảm ơn mọi người nhiều ạ
#include<stdio.h>
#include<string.h>
#include <stdarg.h> // Nham cho muc dich xay dung ham voi tham so tuy y khong limit so luong
typedef struct date{
int dayday;
int monthmonth;
int yyyy;
}DATE;
typedef struct SinhVien
{
int MasoSV; //...char MasoSV[10];
int MaLop;
char hoTen[30];
DATE ngaysinh;
char gt[5];
float diemThi;
}SV;
void NhapDOB(DATE &d);
SV NhapInfo(SV s);
void Nhapvao(SV *s);
void XuatInfo(SV s);
void sapxepten(SV *s,int n);
//void Xuatsapxepten(SV a[],int n);
void sapxepdiemthitang(SV *s, int n);
//void XuatSXdiemThi(SV a[],int n);
//void NHANDANGcacSVcunglop(SV a[],int n);
//void XuatSVcunglop(SV a[],int n);
int SoSanhMaLop(SV x,SV y);
int kq(SV x,SV y);
void SapxepdiemthigiamdanSVinthesameclass(SV *s,int n);
void hoanvi(SV *s1, SV *s2);
void NhapDOB(DATE &d)
{
printf("\nNhap ngay sinh cua sinh vien: ",d.dayday,d.monthmonth,d.yyyy);
}
SV NhapInfo(SV s)
{
printf("\nNhap ma so sinh vien: ");
scanf("%d",&s.MasoSV);
printf("\nNhap ma lop: ");
scanf("%d",&s.MaLop);
printf("\nNhap ten: ");
fflush(stdin);
gets(s.hoTen);
printf("\nNhap gioi tinh: ");
gets(s.gt);
printf("\nInput Date of Birth: ");
scanf("%2d/%2d/%4d",&s.ngaysinh.dayday,&s.ngaysinh.monthmonth,&s.ngaysinh.yyyy);
printf("\nNhap diem thi cua sinh vien: ");
scanf("%.2f", &s.diemThi);
return s;
}
void Nhapvao(SV *s)
{
printf("\nNhap ma so sinh vien: ");
scanf("%d",&s->MasoSV);
printf("\nNhap ma lop: ");
scanf("%d",&s->MaLop);
printf("\nNhap ten: ");
fflush(stdin);
gets(s->hoTen);
printf("\nNhap gioi tinh: ");
gets(s->gt);
printf("\nInput Date of Birth: ");
scanf("%2d/%2d/%4d",&s->ngaysinh.dayday,&s->ngaysinh.monthmonth,&s->ngaysinh.yyyy);
printf("\nNhap diem thi cua sinh vien: ");
scanf("%.2f", &s->diemThi);
}
void XuatInfo(SV s)
{
printf("\nMa so sinh vien: %d ;",s.MasoSV);
printf("\nMa lop: %d ;",s.MaLop);
printf("\nHo ten SV: %s ;", s.hoTen);
printf("\nGioi tinh: %s ;", s.gt);
printf("\nDOB : %2d/%2d/%4d ;",s.ngaysinh.dayday,s.ngaysinh.monthmonth,s.ngaysinh.yyyy);
printf("\nDiem thi cua sinh vien: %.2f ;", s.diemThi);
}
void hoanvi(SV *s1,SV *s2)
{
SV k;
k=*s1;
*s1=*s2;
*s2=k;
}
//SAP XEP Theo Ten ABC
void sapxepten(SV *s,int n)
{
int i,j;
for(int i=0;i<n-1;++i)
{
for(int j=i+1;j<n;++j)
{
if(strcmp(s[i].hoTen,s[j].hoTen)==1)
{
hoanvi(&s[i],&s[j]);
}
}
}
}
//SAP XEP theo diemThi tang dan
void sapxepdiemthitang(SV *s, int n)
{
//Sap xep theo Diemthi tang dan
int i,j;
for(int i=0;i<n-1;++i){
for(int j=i+1;j<n;++j){
if(s[i].diemThi > s[j].diemThi){
//Hoanvi 2 so s[i] & s[j]
hoanvi(&s[i],&s[j]);
}
}
}
}
void SapxepdiemthigiamdanSVinthesameclass(SV *s,int n)
//Sap xep theo Diemthi giam dan cua cac sv cung lop
{
int i,j;
for(int i=0;i<n-1;++i){
for(int j=i+1;j<n;++j){
if(s[i].diemThi < s[j].diemThi){
// Hoanvi 2 so s[i] & s[j]
hoanvi(&s[i],&s[j]);
}
}
}
}
int SoSanhMaLop(SV x,SV y)
{
int ML1 = x.MaLop;
int ML2 = y.MaLop;
if (ML1 == ML2)
{printf("\nMa lop 1 trung Ma lop 2\n");} true;
if (ML1 != ML2)
{printf("\nMa lop 1 khac voi Ma lop 2\n");} false;
}
int main(){
SV s[100];
SV x,y;
SV kq;
int n,i,j;
int DSSV;
do{
printf("\nCHUONG TRINH INFORMATION of STUDENTS:\n-------------------------------------------------\n");
printf("1.Nhap thong tin sinh vien\n");
printf("2.Sap xep thu tu theo ten sinh vien\n");
printf("3.Sap xep thu tu theo diem thi sinh vien\n");
printf("4.Nhan dien sinh vien cung lop\n");
printf("5.Xet diem thi theo thu tu giam dan cua cac sinh vien cung lop\n");
printf("Nhap vao 1...4 de thuc hien cong viec can xac dinh trong program: ");
scanf("%d",&DSSV);
switch(DSSV){
case 1:{
printf("1.Nhap thong tin sinh vien\n");
Nhapvao(s,&n);
break;
}
case 2:{
printf("2.Thong tin sinh vien sau khi hoan tat nhap:\n-----------------------------------\n");
XuatInfo(s,n);
break;
}
case 3:{
printf("3.Sap xep thu tu theo ten sinh vien\n");
NhapInfo(s,&n);
sapxepten(s,n);
for (i=1;i<=n;++i)
XuatInfo(s,n);
break;
}
case 4:{
//tang dan
printf("4.Sap xep thu tu theo diem thi sinh vien\n");
NhapInfo(s,&n);
sapxepdiemthitang(s,n);
for (i=1;i<=n;++i)
XuatInfo(s,n);
break;
}
case 5:{
printf("5.Nhan dien sinh vien cung lop\n");
int kq = SoSanhMaLop (x,y);
//SoSanh (x,y)=(malop1, malop2);
XuatInfo(x);XuatInfo(y);
true;{printf("Sinh Vien cung lop: %d");}
false;{printf("Sinh Vien khac lop!");}
break;
}
case 6:{
printf("6.Xet diem thi theo thu tu giam dan cua cac sinh vien cung lop\n");
NhapInfo(s,&n);
SapxepdiemthigiamdanSVinthesameclass(s,n);
for (i=1;i<=n;++i)
XuatInfo(s,n);
break;
}
}
} while (DSSV != 6);
return 0;
}
[Error] too many arguments to function 'void Nhapvao(SV*)'
[Error] could not convert '(SV*)(& s)' from 'SV* {aka SinhVien*}' to 'SV {aka SinhVien}'
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?