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

Đề tài: Hàm struct , tìm kiếm sinh viên theo mã sinh viên

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

    Unhappy Hàm struct , tìm kiếm sinh viên theo mã sinh viên

    Anh chị em sửa giúp bài tập c " Quản lý sinh viên " giúp mình với
    Yêu cầu
    -Nhập sinh viên
    -Hiển thị sinh viên
    -sắp xếp mã sinh viên
    -tìm kiếm sinh viên theo mã sinh viên
    -sinh viên thực hiênk
    -Thoát

    Mình đã làm gần xong chỉ còn cái tìm kiếm mình làm hoài k đc,mà thứ 2 này phải nộp rồi, giúp mình ghép code đó vào trong chưong trình và

    Code:
    #include <stdio.h>
    #include <conio.h>
    #include <string.h>
    #include <stdlib.h>
    
    struct thongtinsinhvien
    {
       char Masv[4];
       char Hoten[100];
       char Namsinh[100];
       char Noisinh[100];
       float Diemtb ;
    };
    
    struct thongtinsinhvien s[1000];
    int n= 0;
    
    int Hienthimenu()
    {
                    printf("\n+------+------------------------------------+----------+-------+-----+-------+");
                    printf("\n+------+----[               MENU LUA CHON                        ]---+-------+");
                    printf("\n+------+------------------------------------+----------+-------+-----+-------+");
                    printf("\n|----- + ----->          1. Nhap sinh vien                       <-----------|");
                    printf("\n|----- + ----->          2. Hien thi sinh vien                   <-----------|");
                    printf("\n|----- + ----->          3. Sap xep sinh vien theo ma sinh vien  <-----------|");
                    printf("\n|----- + ----->          4. Tim kiem sinh vien theo ma sinh vien <-----------|");
                    printf("\n|----- + ----->          5. Sinh vien thuc hien                  <-----------|");
                    printf("\n|----- + ----->          6. Thoat                                <-----------|");
                    printf("\n+------+------------------------------------+----------+-------+-----+-------+");
                    printf("\n\tBan chon muc nao : ");
       int chon;
       scanf("%d",&chon);
       return chon;
    }
    
    nhapsinhvien()
    {
         
                    printf("\n+------+------------------------------------+----------+-------+-----+-------+");
                    printf("\n|----- + ----->                NHAP SINH VIEN                 <--------------|");
                    printf("\n+------+------------------------------------+----------+-------+-----+-------+");
       int hh;
    
       do
       {
          printf("\nSinh vien thu [%d]\n",n+1);
          printf("\tMa SV    : ");
          fflush(stdin);
          gets(s[n].Masv);
          if (strlen(s[n].Masv)==0)
          {
              break;
          }
          printf("\tHo va ten: ");
          fflush(stdin);
          gets(s[n].Hoten);
          printf("\tNam Sinh : ");
          fflush(stdin);
          gets(s[n].Namsinh);
          printf("\tNoi sinh : ");
          fflush(stdin);
          gets(s[n].Noisinh);
          printf("\tDiem TB  : ");
          scanf("%f",&s[n].Diemtb);
          n++;
          printf("\n+------+------------------------------------+----------+-------+-----+-------+");
          printf("\n\tNhan 1 de tiep tuc nhap . Nhan 2 de thoat");
          scanf("%d",&hh);
          } while (hh==1);
          printf("\n+------+------------------------------------+----------+-------+-----+-------+");
       printf("\nBam enter de tro ve menu.\n");
       getch();
    }
    
    
    
    selection()
    {
                  int i,j,min;
                  struct thongtinsinhvien tam;
                  for(i=0;i<n;i++)
                  {
                                  min=i;
                                  for(j=i+1;j<n;j++)
                                  {
                                                    if ((strlen(s[j].Masv)<strlen(s[min].Masv))|| 
                                                    ((strlen(s[j].Masv)==strlen(s[min].Masv)) &&(strcmp(s[j].Masv,s[min].Masv) < 0)))
                                                    min=j;
                                  }
                                  if(min!=i)
                                  {
                                            tam=s[i];
                                            s[i]=s[min];
                                            s[min]=tam;
                                  }
                  }
                    printf("\n+------+------------------------------------+----------+-------+-----+-------+");
                    printf("\n|----- +           MA SINH VIEN DA DUOC SAP XEP        |---------------------|");
                    printf("\n+------+------------------------------------+----------+-------+-----+-------+");
                    printf("\n|----- +               DANH SACH SINH VIEN             |---------------------|");
                    printf("\n+------+------------------------------------+----------+-------+-----+-------+");
    
                    printf("\n%-10s %-15s  %-20s %-20s DiemTB\n","Ma SV","Ho Ten","Nam Sinh","Noi Sinh","Diem TB");
       
       
       for (i=0;i<n;i++)
    
    
       {
           printf("%-10s %-15s  %-20s %-20s %0.1f\n",s[i].Masv,s[i].Hoten,s[i].Namsinh,s[i].Noisinh,s[i].Diemtb);
       }
      printf("\n\tBam enter de tro ve menu.\n");
       getch();
    }
        
    hienthi()
    {
                    printf("\n+------+------------------------------------+----------+-------+-----+-------+");
                    printf("\n|----- +               DANH SACH SINH VIEN             |---------------------|");
                    printf("\n+------+------------------------------------+----------+-------+-----+-------+");
                    printf("\n%-10s %-15s  %-20s %-20s DiemTB\n","Ma SV","Ho Ten","Nam Sinh","Noi Sinh","Diem TB");
                    printf("\n+------+------------------------------------+----------+-------+-----+-------+");
       
       
       int i;
       for (i=0;i<n;i++)
    
    
       {
           printf("\n%-10s %-15s  %-20s %-20s %0.1f\n",s[i].Masv,s[i].Hoten,s[i].Namsinh,s[i].Noisinh,s[i].Diemtb);
           printf("\n+----------------------------------------------------------------------------+");
       }
       printf("\n\tBam enter de tro ve menu.\n");
       getch();
    }
    timkiem()
    {
             int i, x, n;
             printf("Nhap MSSV can tim ");
             scanf("%d",&x);
             for(i=0;i<n-1;i++)
             {
             if(s[i].Masv==x)
             {
             printf("\n%-10s %-15s  %-20s %-20s DiemTB\n","Ma SV","Ho Ten","Nam Sinh","Noi Sinh","Diem TB");
             printf("\n+------+------------------------------------+----------+-------+-----+-------+");{
             printf("\n%-10s %-15s  %-20s %-20s %0.1f\n",s[i].Masv,s[i].Hoten,s[i].Namsinh,s[i].Noisinh,s[i].Diemtb);
             printf("\n+----------------------------------------------------------------------------+");
             }
             printf("\n\tBam enter de tro ve menu.\n");
             return x;
             getch();
    }
    }            
    }
    svth()
    {
                    printf("\n+------+------------------------------------+----------+-------+-----+-------+");
                    printf("\n+------+----[               SINH VIEN THUC HIEN                  ]---+-------+");
                    printf("\n+------+------------------------------------+----------+-------+-----+-------+");
                    printf("\n|----- + ----->          DO XUAN LY        N/S: 10/10/1991       <-----------|");
                    printf("\n|----- + ----->                  LOP: TH4A                       <-----------|");
                    printf("\n|----- + ----->          CAO DANG BACH KHOA DA NANG              <-----------|");
                    printf("\n+------+------------------------------------+----------+-------+-----+-------+");
                      printf("\n\tBam enter de tro ve menu.\n");
                      getch();
    }
     main()
    {
       int chon;
       do
       {
           chon = Hienthimenu();
          switch (chon)
          {
              case 1:
               nhapsinhvien();
               break;
             case 2:
               hienthi();
               break;
             case 3:
               selection();
               break;
             case 4:
               timkiem();
               break;
               case 5:
                    svth();
                    break;
                  
                  default:
                          printf("\n\t Ban vua lua chon sai, vui long chon lai tu 1->6");
                     
          }
       }while(chon!=6);
    
    }
    Hàm tìm kiếm mình đã bôi xanh cho các bạn giúp. thêm vào chuơng trình giúp mình với, và lưu là chuongtrinh.c chứ mình tạo CPP thì giáo viên không chấp nhận\
    Mình viết bằng DevC++ ,file mình đã đính kèm phía dưới
    Attached Files Attached Files

  2. #2
    Ngày gia nhập
    10 2012
    Bài viết
    0

    Mọi người giúp mình với

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

    bạn khai báo kiểu MSSV là char, thì bên dưới phải dùng hàm strcmp mới được

  4. #4
    Ngày gia nhập
    10 2012
    Bài viết
    0

    Bạn sửa giúp mình luôn được không

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

    int i, n;
    char x[4];

    printf("Nhap MSSV can tim ");
    fflush(stdin);
    gets(x);
    for(i=0;i<n;i++)
    {
    if(strcmp(s[i].Masv,x)==0)
    {
    printf("\n%-10s %-15s %-20s %-20s DiemTB\n","Ma SV","Ho Ten","Nam Sinh","Noi Sinh","Diem TB");
    printf("\n+------+------------------------------------+----------+-------+-----+-------+");{
    printf("\n%-10s %-15s %-20s %-20s %0.1f\n",s[i].Masv,s[i].Hoten,s[i].Namsinh,s[i].Noisinh,s[i].Diemtb);
    printf("\n+----------------------------------------------------------------------------+");
    }
    printf("\n\tBam enter de tro ve menu.\n");
    getch();



    Bên trên bạn khai báo là char MSSV, nhưng dưới tìm làm int x.

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

    Mặc định Hàm struct , tìm kiếm sinh viên theo mã sinh viên

    tks cậu nhiều nhé.

  7. #7
    Ngày gia nhập
    06 2019
    Bài viết
    0

    Trích dẫn Nguyên bản được gửi bởi doxuanly Xem bài viết
    tks cậu nhiều nhé.
    mọi người cho mình hỏi sao mình dùng đoạn code của các bạn thì đoạn tìm tên bằng mssv nhấn enter nó lại ko back về menu nhỉ

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

  1. làm sao để select sinh viên theo mã sinh viên trong 1 chuỗi mã sinh viên
    Gửi bởi thuan trong diễn đàn Thắc mắc Microsoft SQL Server & Microsoft Access
    Trả lời: 11
    Bài viết cuối: 14-12-2012, 08:37 PM
  2. sắp xếp struct sinh viên theo điểm trung binh tăng dẫn
    Gửi bởi edconan93 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 5
    Bài viết cuối: 10-01-2012, 10:57 PM
  3. Chương trình quản lí sinh viên viết trong visual c++ 2010. Lỗi không chạy khi in danh sách sinh viên theo năm
    Gửi bởi hikaru1015 trong diễn đàn Thảo luận, góp ý code C/C++ của bạn
    Trả lời: 9
    Bài viết cuối: 03-06-2011, 09:31 AM
  4. Lập trình C menu struct sắp xếp sinh viên theo tên
    Gửi bởi cute_pro_xxx 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: 26-01-2010, 08:21 AM
  5. Chương trình quản lý sinh viên viết bằng C. Làm sao tìm kiếm sinh viên theo tên và sắp xếp?
    Gửi bởi linhdong24 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 7
    Bài viết cuối: 24-06-2009, 12:53 AM

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