Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 3 của 3
  1. #1

    chương trình nhập được 1 người rồi tự động out, mợi người xem rồi fix lỗi dùm mình nhé!!!!!!

    Mã:
    #include<stdio.h>
    #include<conio.h>
    #include<string.h>
    int sl=0;
    
    typedef struct
    {
    	char hoten[30];
    	float diem[5],dtb;
    	int nsinh;                                   
    } svien;
    
    svien sv[50];
    int xau_int(char *c)
    {
    	//int x;
    	int x=0;
    	for(int i=0;i<strlen(c);i++)
    	{
    		x=x*10+(c[i]-48);
    	}
    	return x;
    }
    
    void khoitao(svien *sv, int sl )
    {
    	FILE *f;
    	svien x;
    	f=fopen("D:/lop11T.bin","ab");	
    	if(f==NULL) 
        {
        f=fopen("D:/lop11T.bin","wb");
    	printf("
    Khoi tao tep thanh cong.
    ");
        }
        else printf("Mo tep thanh cong
    ");
        for(int i=0;i<sl;i++)
        {
        	fprintf(f,"%s 
    ",sv[i].hoten,f);
        	for(int j=0;j<5;j++)
        	{
        		fprintf(f,"%.2f   ",sv[i].diem[j]);
        	}
        	fprintf(f,"
    %d",sv[i].nsinh);
        }
        printf("
    Da ghi thanh cong %d sinh vien vao tep.",sl);
    	fclose(f);	
    }
    
    void capnhat(svien *sv, int *sl)
    {
    	FILE *f;
    	svien x;
    	char *c;
    	float s=0;
    	f=fopen("d:/lop11T.bin","ab");
    	printf("
    Nhap ho ten sinh vien: ");
    	fflush(stdin);
    	gets(x.hoten);
    	fprintf(f,"Name: %s 
    ",x.hoten);
    	printf("
    Nhap diem 5 mon cua %s",x.hoten);
    	for(int i=0;i<5;i++)
    	{
    		printf("
    Diem mon %d= ",i+1);
    		scanf("%f",&x.diem[i]);
    		s+=x.diem[i];
    		fprintf(f,"%2.2f ",x.diem[i]);
    	}
    	x.dtb=s/5;
    	fprintf(f,"
     TB:  %.2f  
    ",x.dtb);
        fclose(f);
        f=fopen("D://Lop11T.bin","ab");
        fflush(stdin);
        printf("
    Nhap nam sinh cua sinh vien: ");
    	gets(c);
    	x.nsinh=xau_int(c);
    	fprintf(f,"%d
    ",x.nsinh);
    	fclose(f);
    	printf("
    Da ghi vao cuoi tep.");
    	sl+=1;
    }
    void sapxep(svien *sv)
    {
    	svien x,min;
    	
    	for(int i=0;i<sl;i++)
    	{	
    		min=sv[i];
    		for(int j=i;j<sl;j++)
    		{
    			if(sv[j].dtb<min.dtb);
    			min=sv[j];
    			x=sv[i];
    			sv[i]=sv[j];
    			sv[j]=x;
    		}
    	}
    }
    void xuatlop(svien *sv)
    {
    	for(int i=0;i<sl;i++)
    	{
    		puts(sv[i].hoten);
    		printf("
    Diem: ");
    		printf("%.2f   ",sv[i].diem);
    		printf("
    Dtb: %.2f",sv[i].dtb);
    		printf("
    Nam sinh: %d",sv[i].nsinh);
    	}
    }
    void nhap(svien *sv)
    {	
    	char *c;
    	int n;
    	float s;
    	svien x;
    	printf("Ban muon nhap bao nhieu sinh vien: ");
    	scanf("%d",&n);
    	
    	for(int i=0;i<n;i++)//<------------ở chổ này các bạn ak
    	{
    		printf("
    Nhap ho ten sinh vien: ");
    		fflush(stdin);
    		gets(x.hoten);
    		//sv[sl+i].hoten=c;
    	//	printf("
    Nhap diem 5 mon cho %s",sv[sl+i].hoten);
    		printf("
    Nhap diem 5 mon cua %s",x.hoten);
    		for(int j=0;j<5;j++)
    		{
    			printf("
    Diem mon %d= ",j+1);
    			scanf("%f",&x.diem[j]);
    			s+=x.diem[j];
    			//fprintf(f,"%2.2f ",x.diem[i]);
    		}
    		x.dtb=s/5;
    		printf("
    Nam sinh: ");
    		fflush(stdin);
    		gets(c);
    		x.nsinh=xau_int(c);
    		sv[sl+i]=x;
    	}
    	sl+=n;
    }
    main()
    {	
    	nhap(sv);
    	khoitao(sv,sl);
    	sapxep(sv);
    	xuatlop(sv);
    	capnhat(sv,&sl);
    	
    	getch();
    }

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    up. các bạn giúp mình với.

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    chỗ char *c;// dùng sâu kí tự nhớ nếu dùng con trỏ c thì khai báo thêm char sau[10]; c = sau là nhập được

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •