Hỏi đáp
Chia sẻ kiến thức, cùng nhau phát triển
Tìm tên đọc được từ tệp và hiện thị thông tin đọc được từ tệp!
20:36 01-06-2018
734 lượt xem
5 bình luận
23:30 08-06-2018
Em viết như mày mà sao khi em chạy thì nó lại không hiện ra tên mình muốn tìm kiếm ạ. Mọi người giúp em với. Em cảm ơn ạ.
#include<stdio.h>
#include<conio.h>
#include <string.h>
struct GiangVien{
char HoTen[24];
int ThamNien,ChuyenMon1,ChuyenMon2,ChuyenMon3;
};
void Nhap(GiangVien p[], int &n){
FILE *f;
f=fopen("giangvien.txt","r");
fscanf(f,"%d\n",&n);
for(int i=0;i<=n;i++){
fgets(p[i].HoTen,24,f);
fscanf(f,"%d\n %d\n %d\n %d\n",&p[i].ThamNien,&p[i].ChuyenMon1,&p[i].ChuyenMon2,&p[i].ChuyenMon3);
}
fclose(f);
}
void Xuat(GiangVien p[], int n){
for(int i=0;i<n;i++){
printf("\n------------------------------------\n");
printf("\nHo va ten: %s",p[i].HoTen);
printf("\nTham nien: %d",p[i].ThamNien);
printf("\nChuyen Mon 1: %d",p[i].ChuyenMon1);
printf("\nChuyen Mon 2: %d",p[i].ChuyenMon2);
printf("\nChuyen Mon 3: %d",p[i].ChuyenMon3);
printf("\n------------------------------------\n");
}
}
void TimKiem(GiangVien p[],int n){
char Ten[24];
printf("Nhap Ten:\n");
gets(Ten);
for(int i=0;i<=n;i++)
{
if(strcmp(p[i].HoTen,Ten)==0)
{
printf("\n------------------------------------\n");
printf("\nHo va ten: %s",p[i].HoTen);
printf("\nTham nien: %d",p[i].ThamNien);
printf("\nChuyen Mon 1: %d",p[i].ChuyenMon1);
printf("\nChuyen Mon 2: %d",p[i].ChuyenMon2);
printf("\nChuyen Mon 3: %d",p[i].ChuyenMon3);
printf("\n------------------------------------\n");
}
}
}
int main(){
int n;
GiangVien p[100];
Nhap(p,n);
Xuat(p,n);
TimKiem(p,n);
getch();
}
bạn có thể sửa giúp mình được không, đây là bài mình đã làm lại nhưng vẫn bị lỗi đó
đây là file giangvien.txt của mình. Mình vẫn không thể tìm kiếm tên của giảng viên và hiển thị ra màn hình. Những ý còn lại mình đã làm được. mình cảm ơn bạn rất nhiều
giangvien.txt
9
Le Quang
12
1
Linh Anh
14
2
Luu Hao
15
2
Mac Tuyen
20
3
Ly Thuong
14
1
Hoang Tuan
20
3
Tai Thuc
15
2
Hoang Giang
14
1
Huu Hung
14
2
bạn muốn tìm giảng viên bạn muốn theo điều kiện gì. mình thấy bạn xuất từ đầu tới n trong hàm tìm kiếm của bạn. bạn có thể thêm parameter như họ tên vào rồi duyet hết mảng. nếu họ tên trùng thì xuất ra luôn.
hàm in tất cả giảng viên là hàm trên mà anh. em không làm được chỗ tìm giảng mình muốn thôi ý anh
hàm in tất cả giảng viên là hàm trên mà anh. em không làm được chỗ tìm giảng mình muốn thôi ý anh
ủa bạn viết hàm in ra tất cả giang viên hở?