Từ 1 tới 6 trên tổng số 6 kết quả

Đề tài: bài tập cấu trúc C

  1. #1
    Ngày gia nhập
    10 2011
    Bài viết
    1

    Mặc định bài tập cấu trúc C

    tình hình là mình mới học phần cấu trúc trong C,có làm bài này:
    Cho cấu trúc NHANVIEN như sau:
    MaNV: kiểu số nguyên có giá trị trong khoảng 0…65535
    Họtên: kiểu chuỗi.
    Địachỉ: kiểu chuỗi.
    CBQL: có giá trị 1 nếu nhân viên này là cán bộ quản lý.
    Viết chương trình thực hiện:
    Nhập vào thông tin của n nhân viên và n được nhập từ bàn phím. In ra họ tên của các nhân viên là cán bộ quản lý.
    mình làm như sau:
    Code:
    #include<stdio.h>
    
    #include<conio.h>
    
        struct NHANVIEN
    
    {
    
         unsigned int MaNV;
    
        unsigned int SoNha[10];
    
        char HoTen[10],duong[10],TP[10];
    
        };
    
    void main()
    
    {
    
        struct NHANVIEN DANHSACH[100];
    
        int i,n;
    
        printf("nhap so nhan vien can lay thong tin:");
    
        scanf("%d",&n);
    
        for (i=1;i<=n;i++)
    
        {
    
            printf("nhap ho va ten nhan vien thu %d\n",i);
    
            fflush(stdin);
    
            gets(DANHSACH[i].HoTen);
    
            printf("nhap ma nhan vien cua nhan vien %d\n",i);
    
            scanf("%u",DANHSACH[i].MaNV);
    
            fflush(stdin);
    
            printf("nhap dia chi duong\n",i);
    
            gets(DANHSACH[i].duong);
    
            printf("nhap so nha\n",i);
    
            scanf("%u",DANHSACH[i].SoNha);
    
            fflush(stdin);
    
            printf("nhap tinh thanh cu tru\n",i);
    
            gets(DANHSACH[i].TP);
    
            if(DANHSACH[i].MaNV==1)
    
            printf("can bo quan ly :",DANHSACH[i].HoTen);
    
        }   
    
    }
    nhưng khi chạy thử thì ở chỗ nhập mã nv,nếu nhập bằng số thì chương trình báo lỗi "Untitled1.exe has encountered a problem and needs to close. We are sorry for the inconvenience....."chắc có lẻ vậy nên chỗ if cũng ko chạy lun,các bạn xem rồi sửa giúp mình với,tks trước!
    Đã được chỉnh sửa lần cuối bởi huynguyen023 : 18-12-2014 lúc 10:44 PM.

  2. #2
    Ngày gia nhập
    04 2010
    Bài viết
    1,534

    Hàm scanf chỉ nhận địa chỉ biến chứ không nhận biến.
    Kiểm soát lại những chỗ nhập, có phải là địa chỉ hay không.

    Nếu không hiểu thì giở sách giáo khoa ra mà đọc lại về các loại dữ liệu trong struct và cách truyền struct

  3. #3
    Ngày gia nhập
    12 2011
    Bài viết
    23

    Code:
    #include<stdio.h>
    #include<conio.h>
    #include<math.h>
    int n;
    typedef struct sv{
            char ten[100];
            int tuoi;
            int toan;
            int ly;};
    sv ds[100];
    void nhap(){
         printf("nhap so sinh vien ");
         scanf("%d",&n);
         for(int i=1;i<=n;i++)
         {printf("nhap ten sinh vien ");
         gets(ds[i].ten);
          printf("nhap tuoi sinh vien ");
         scanf("%d",&ds[i].tuoi);
          printf("nhap diem toan ");
         scanf("%d",&ds[i].toan);
          printf("nhap diem ly ");
         scanf("%d",&ds[i].ly);
                 }
                 }
    void in(){
         for(int i=1;i<=n;i++)
         printf("ten %s tuoi %d toan %d ly %d\n",ds[i].ten,ds[i].tuoi,ds[i].toan,ds[i].ly);
         }
    main(){
           nhap();
           in();
           getch();}
    mình muốn hỏi là tại sao nó cứ bỏ qua phần tên sinh viên mà chạy tuổi luôn vậy???
    mong mọi người giúp đỡ

  4. #4
    Ngày gia nhập
    11 2010
    Nơi ở
    hell
    Bài viết
    165

    tràn vùng đệm.chỉ có thế mới nhảy lung tung thôi
    HT117-5277

  5. #5
    Ngày gia nhập
    10 2011
    Bài viết
    552

    ^ : Viết code thồi thụt linh tinh quá . Nhất là cái đoạn hàm nhập, như rồng rắn lên mây vậy, lồi ra thụt vào lồi ra thụt vào như rắn lượn.
    Thêm vào fflush(stdin) trước lúc nhập thông tin sinh viên.
    Um Mani Padme Hum...!!

  6. #6
    Ngày gia nhập
    11 2011
    Bài viết
    0

    Mặc định bài tập cấu trúc C

    mai mốt viết code cẩn thận nha nếu bạn muốn nhập nguyên danh sách nhân viên thì bạn nên viết nhập 1 nhân viên trước chứ viết như bạn ko ổn đâu mình sửa code bạn rồi nè k biết còn sai gì nữa ko nhưng mình chạy được
    Code:
    #include<stdio.h>
    #include<conio.h>
    struct NHANVIEN
    {
    	unsigned int MaNV;
    	unsigned int SoNha[10];
    	char HoTen[10],duong[10],TP[10];
    };
    void main()
    {
    	struct NHANVIEN DANHSACH[100];
    	int i,n;
    	printf("nhap so nhan vien can lay thong tin:");
    	scanf("%d",&n);
    	for (i=1;i<=n;i++)
    	{
    		printf("nhap ho va ten nhan vien thu %d\n",i);
    		fflush(stdin);
    		gets(DANHSACH[i].HoTen);
    		printf("nhap ma nhan vien cua nhan vien %d\n",i);
    		scanf("%d",&DANHSACH[i].MaNV);
    		fflush(stdin);
    		printf("nhap dia chi duong %d\n",i);
    		gets(DANHSACH[i].duong);
    		fflush(stdin);
    		printf("nhap so nha %d\n",i);
    		scanf("%d",&DANHSACH[i].SoNha);
    		fflush(stdin);
    		printf("nhap tinh thanh cu tru%d\n",i);
    		gets(DANHSACH[i].TP);
    		if(DANHSACH[i].MaNV==1)
    		printf("can bo quan ly :",DANHSACH[i].HoTen);
    	}   
    }

Các đề tài tương tự

  1. Trả lời: 0
    Bài viết cuối: 07-07-2013, 07:29 PM
  2. Bài tập về cấu trúc trong c | Cấu trúc sinh viên???
    Gửi bởi dddzzzjjjiii trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 14
    Bài viết cuối: 21-07-2012, 05:06 PM
  3. Chiếu trúc, Chiếu trúc cao cấp, Hàng Sản xuất tại Việt Nam: Giá rẻ nhất thị trường
    Gửi bởi tqt.tranquoctuan trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 13-05-2012, 08:33 PM
  4. cấu trúc bảng băm là cấu trúc như thế nào?
    Gửi bởi minh_quang1202 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 1
    Bài viết cuối: 06-01-2011, 07:03 PM
  5. Cấu trúc file excel | Cấu trúc file xls. Giúp mình với?
    Gửi bởi knightofit trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 02-04-2009, 10:44 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn