Cho em hoi ham docTep cua em sai ở đâu mà khi em in ra danh sách ko thể nào in ra đwợc
//Project cuoi cung
//Chuong trinh Quan Ly Nhan Vien
#include<stdio.h>
#include<string.h>
//khai bao kieu cau truc
struct nhanVien
{
char maNhanVien[10];
char hoVaTen[50];
char soDienThoai[12];
char email[30];
char gioiTinh[5];
char namSinh[10];
char queQuan[20];
};
//khai bao bien toan cuc cho chuong trinh
struct nhanVien nv[100];
int n;
//khai bao ham
void docTep();//ham doc file
void luuTep();//ham luu file
void inDanhSach();//ham dua ra danh sac
int kiemTra(char a[10]);//ham kiem tra ma nhanh vien
void themNV();//ham them nhan vien
void chinhSua();//ham chinh sua
void xoaNV();//ham xoa nhan vien
void timKiem();//ham tim kiem
//===chuong trinh chinh
int main()
{
//khai bao bien
int k;
vongLap: do
{
system("cls");//xoa man hinh
//dua ra menu
printf("+--------CHUONG TRINH QUAN LY NHAN VIEN--------+\n");
printf("| [1]-Xem danh sach nhan vien. |\n");
printf("| [2]-Them moi 1 nhan vien. |\n");
printf("| [3]-Chinh su thong tin nhan vien. |\n");
printf("| [4]-Xoa mot nhan vien theo ma nhan vien. |\n");
printf("| [5]-Tim kiem nhan vien theo ma nhan vien. |\n");
printf("| [6]-Thoat! |\n");
printf("+----------------------------------------------+\n");
//dua ra lua chon
printf(" *Moi ban lua chon chuc nang: ");
scanf("%d",&k);
//dua ra cac chuc nang cua menu
switch(k)
{
case 1:
printf("============CHUC NANG XEM THONG TIN============\n");
inDanhSach();
system("pause");
goto vongLap;//tro lai vong lap
case 2:
printf("============THEM MOI 1 NHAN VIEN===============\n");
themNV();
system("pause");
goto vongLap;
case 3:
printf("============CHINH SUA THONG TIN================\n");
system("pause");
goto vongLap;
case 4:
printf("===============XOA THONG TIN===================\n");
system("pause");
goto vongLap;
case 5:
printf("==============TIM KIEM THONG TIN===============\n");
system("pause");
goto vongLap;
case 6:
printf("Cam on ban da su dung!\n");
break;
default: printf("\nKhong co chuc nang nay! Yeu cau nhap lai!\n");
printf("Bam phim bat ki de quay lai\n");
system("pause");
break;
}
}while(k!=6);
return 0;
}
//===dinh nghia ham===
void docTep()
{
//Khai bao tep
FILE *f;
//Mo tep de doc tep van ban
f = fopen("nhanVien.txt","r");
char dong[200];
fscanf(f,"%[^\n]%*c",dong);//doc tep van ban theo tung dong va theo tung ki tu
const char s[2] = "-";
char *tg;
n=0;
while(strcmp(dong,"end")!=0)
{
//Doc tung ki tu roi noi vao xau dong
tg = strtok(dong,s);
strcpy(nv[n].maNhanVien,tg);
tg = strtok(NULL,s);
strcpy(nv[n].hoVaTen,tg);
tg = strtok(NULL,s);
strcpy(nv[n].soDienThoai,tg);
tg = strtok(NULL,s);
strcpy(nv[n].email,tg);
tg = strtok(NULL,s);
strcpy(nv[n].gioiTinh,tg);
tg = strtok(NULL,s);
strcpy(nv[n].namSinh,tg);
tg = strtok(NULL,s);
strcpy(nv[n].queQuan,tg);
n++;
fscanf(f,"%[^\n]%*c",dong);
}
//Dong tep
fclose(f);
}
void luuTep()
{
//khai bao bien
int i;
//khai bao tep
FILE *f;
//mo tep van ban de ghi
f = fopen("nhanVien.txt","w");
char duLieu[1000]="";
for(i=0;i<n;i++)
{
char dong[100]="";
//noi cac thong tin vao xau
strcat(dong,nv[i].maNhanVien);
strcat(dong,"-");
strcat(dong,nv[i].hoVaTen);
strcat(dong,"-");
strcat(dong,nv[i].soDienThoai);
strcat(dong,"-");
strcat(dong,nv[i].email);
strcat(dong,"-");
strcat(dong,nv[i].gioiTinh);
strcat(dong,"-");
strcat(dong,nv[i].namSinh);
strcat(dong,"-");
strcat(dong,nv[i].queQuan);
strcat(dong,"\n");
strcat(duLieu,dong);
}
strcat(duLieu,"end");
//ghi du lieu vao xau du lieu
fscanf(f,"%s",duLieu);
//dong file
fclose(f);
}
void inDanhSach()
{
docTep();
if(n==0)
{
printf("Danh sach rong...!!!");
}
else
{
int i;
printf("Danh sach nhanh vien:");
printf("+-----+-------+-------------------------+-------------+--------------------+---------+--------+------------+\n");
printf("| STT | Ma NV | Ho va Ten |So dien thoai| Email |Gioi tinh|Nam sinh| Que quan |\n");
printf("+-----+-------+-------------------------+-------------+--------------------+---------+--------+------------+\n");
for(i=0;i<n;i++)
{
printf("|%5d|%7s|%25s|%13s|%20s|%9s|%8s|%12s|\n",i+1,nv[i].maNhanVien,nv[i].hoVaTen,nv[i].soDienThoai,nv[i].email,nv[i].gioiTinh,nv[i].namSinh,nv[i].queQuan);
printf("+-----+-------+-------------------------+-------------+--------------------+---------+--------+------------+\n");
}
}
}
int kiemTra(char a[10])
{
docTep();
int i;
for(i=0;i<n;i++)
{
if(strcmp(a,nv[i].maNhanVien)==0) return 0;
}
return 1;
}
void themNV()
{
docTep();
do
{
printf("Nhap vao ma nhan vien: \n");
fflush(stdin);
gets(nv[n].maNhanVien);
if(kiemTra(nv[n].maNhanVien)==0)
{
printf("Ma nhan vien da ton tai !\n");
printf("Nhap lai!\n");
}
else break;
}while(kiemTra(nv[n].maNhanVien)==0);
printf("Nhap vao ten nhan vien: ");
fflush(stdin);
gets(nv[n].hoVaTen);
printf("Nhap so dien thoai: ");
fflush(stdin);
gets(nv[n].soDienThoai);
printf("Nhap vao email: ");
fflush(stdin);
gets(nv[n].email);
printf("Nhap vao gioi tinh: ");
fflush(stdin);
gets(nv[n].gioiTinh);
printf("Nhap vao nam sinh: ");
fflush(stdin);
gets(nv[n].namSinh);
printf("Nhap vao que quan: ");
fflush(stdin);
gets(nv[n].queQuan);
n++;
luuTep();
}
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?