30/09/2018, 18:02
Lỗi has stopped working
#include <stdio.h>
struct SV
{
int masv;
char *hoten;
char *diachi;
int sdt;
};
void NhapMotSinhVien(SV &sv);
void XuatMotSinhVien(SV sv, int i);
void NhapSinhVien(SV a[], int &n);
void XuatSinhVien(SV a[], int n);
int main()
{
SV a[100];
int n;
NhapSinhVien(a,n);
XuatSinhVien(a,n);
getchar();
return 0;
}
void NhapMotSinhVien(SV &sv)
{
printf("ma so sinh vien: ");
scanf("%d", &sv.masv);
printf("ho va ten : "); fflush(stdin);
gets(sv.hoten);
printf("dia chi: "); fflush(stdin);
gets(sv.diachi);
printf("so dien thoai: ");
scanf("%d", &sv.sdt);
}
void XuatMotSinhVien(SV sv, int i)
{
printf(" -----------------THONG TIN SINH VIEN-----------------
");
printf("%-4s %-10s %-30s %-20s %10s
", "STT", "MSSV", "HO VA TEN", "DIA CHI", "SDT");
printf("%-4d %-10d %-30s %-20s %10d
", i, sv.masv, sv.hoten, sv.diachi, sv.sdt);
}
void NhapSinhVien(SV a[], int &n)
{
printf("Nhap so luong sinh vien: ");
scanf("%d", &n);
for(int i=0; i<n; i++)
{
printf("-->Nhap thong tin sinh vien thu %d:
", i+1);
NhapMotSinhVien(a[i]);
}
}
void XuatSinhVien(SV a[], int n)
{
for(int i=0; i<n; i++)
{
XuatMotSinhVien(a[i], i+1);
}
}
Ngay chỗ hàm void NhapMotSinhVien(SV &sv) khi nhập đến diachi thì nó báo has stopped working .Mọi người xem giúp sai chỗ nào thế ạ
Bài liên quan
sao bạn ko dùng mảng char mà lại dùng char* gets ko nhận kiểu dữ liệu char* hay con trỏ kiểu char…
như vậy liệu có giúp đc bạn không
Đơn giản là bạn chưa cấp phát 2 con trỏ hoten và diachi (nếu như bạn ko muốn xài mảng)
Thêm stdlib.h vào và thêm lệnh này trc gets(sv.hoten); là chạy phà phà