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

Đề tài: Lập trình C | Code quản lý sinh viên lỗi sửa như thế nào?

  1. #1
    Ngày gia nhập
    03 2009
    Bài viết
    61

    Thumbs down Lập trình C | Code quản lý sinh viên lỗi sửa như thế nào?

    Mọi người xem giùm và sửa giúp nhé.Cảm ơn nhiều
    PHP Code:
    #include <stdio.h>
    #include <ctype.h>
    #include <mem.h>
    #include <string.h>

    #define MAX 100
    #define TOAN 0
    #define LY   1
    #define HOA  2

    struct sinhvien {
      
    char mslop[5];
      
    char hoten[35];
      
    float diem[3];
    danhsach[MAX];
    int n 0;

    void nhapmoi()
    {
      
    char mslop[5], tmp[3];
      
    int i;
      
    float diem[3];
      do {
        
    printf("\nCho biet ma so lop : ");
        
    gets(mslop);
        if (
    strlen(mslop))
        {
          
    strcpy(danhsach[n].mslopmslop);
          
    printf("\nCho biet ho ten : ");
          
    gets(danhsach[n].hoten);
          
    printf("\nCho biet diem so : ");
          for (
    i=0i<3i++)
          {
            
    scanf("%f", &diem[i]);
            
    danhsach[n].diem[i] = diem[i];
          }
          
    gets(tmp);
          
    n++;
        }
      } while (
    strlen(mslop));
    }

    void timkiem()
    {
      
    char mslop[5];
      
    int i 0found 0;
      
    printf("\nCho biet ma so lop : ");
      
    gets(mslop);
      if (
    strlen(mslop))
        while (
    i<n)
          if (
    stricmp(danhsach[i].mslopmslop) == 0)
          {
             
    printf("\nMa so lop : %s"danhsach[i].mslop);
             
    printf("\nHo va ten : %s"danhsach[i].hoten);
             
    printf("\nDiem Toan : %f"danhsach[i].diem[TOAN]);
             
    printf("\nDiem Ly   : %f"danhsach[i].diem[LY]);
             
    printf("\nDiem Hoa  : %f"danhsach[i].diem[HOA]);
             
    found 1;
             break;
          }
          else
            
    i++;
      if (!
    found)
        
    printf("\nKhong tim thay!!!");
    }

    void xoa()
    {
      
    char mslop[5], traloi;
      
    int i 0j;
      
    printf("\nCho biet ma so lop : ");
      
    gets(mslop);
      if (
    strlen(mslop))
        while (
    i<n)
          if (
    stricmp(danhsach[i].mslopmslop) == 0)
          {
             
    printf("\nMa so lop : %s"danhsach[i].mslop);
             
    printf("\nHo va ten : %s"danhsach[i].hoten);
             
    printf("\nDiem Toan : %f"danhsach[i].diem[TOAN]);
             
    printf("\nDiem Ly   : %f"danhsach[i].diem[LY]);
             
    printf("\nDiem Hoa  : %f"danhsach[i].diem[HOA]);
             
    printf("\nCo muon xoa khong (C/K)? ");
             do {
               
    traloi toupper(getch());
             } while (
    traloi != 'C' && traloi != 'K');
             
    putc(traloistdout);
             if (
    traloi == 'C')
             {
               
    n--;
               
    memcpy(&danhsach[i], &danhsach[i+1], sizeof(struct sinhvien) * (n-i));
               break;
             }
          }
          else
            
    i++;
    }

    void menu()
    {
      
    printf("\n***************");
      
    printf("\n* 1. Them     *");
      
    printf("\n* 2. Xoa      *");
      
    printf("\n* 3. Tim kiem *");
      
    printf("\n* 0. Thoat    *");
      
    printf("\n***************");
      
    printf("\nChon lua ? ");
    }

    void main()
    {
      
    char traloi;
      do {
        
    menu();
        do {
          
    traloi getch();
        } while (
    traloi '0' || traloi '3');
        
    putc(traloistdout);
        switch (
    traloi)
        {
           case 
    '1' nhapmoi();
                      break;
           case 
    '2' xoa();
                      break;
           case 
    '3' timkiem();
                      break;
        }
      } while (
    traloi != '0');

    Đã được chỉnh sửa lần cuối bởi rong3sao : 10-04-2009 lúc 12:11 AM.

  2. #2
    Ngày gia nhập
    08 2008
    Nơi ở
    ha noi
    Bài viết
    79

    mình chạy code thấy nó chạy ổn đấy chứ có sao đâu chỉ nhưng trg code có 1 vài thiếu sót
    1. Thiếu thư viện #include "conio.h"
    2. Cái phần nhập điểm của bạn hơi bị củ chuối 1 tý vì bạn bắt nhập cùng 1 lúc 3 điểm sau khi nhập điểm thứ nhất ko có dòng thông báo nhập điểm thứ 2 bởi vậy lúc nhập hay bị nhầm bạn thêm 1 dòng printf sau vòng lặp for thì hay hơn


    Code:
    for (i=0; i<3; i++)
          {
            printf("nhập vào điểm thứ %d: ",i+1);scanf("%f", &diem[i]);
            danhsach[n].diem[i] = diem[i];
          }
    Đã được chỉnh sửa lần cuối bởi quicksilver89 : 10-04-2009 lúc 11:40 PM.

  3. #3
    Ngày gia nhập
    03 2009
    Bài viết
    61

    Cảm ơn bạn nhiều.Cái đơn giản nhất thì lại thiếu hic

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

  1. Quản Lý Điểm Sinh Viên Code bằng C#
    Gửi bởi khoaimon trong diễn đàn Dự án & Source code C#, ASP.NET
    Trả lời: 9
    Bài viết cuối: 03-03-2014, 10:47 AM
  2. Giúp mình sửa lại code quản lý điểm sinh viên dùm cái. Mình ko biết sửa thế nào cả
    Gửi bởi ronghappy13 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 6
    Bài viết cuối: 04-01-2013, 08:49 PM
  3. Bài tập C++ [HELP] code C++: quản lí sinh viên
    Gửi bởi anhtran0000 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 7
    Bài viết cuối: 13-11-2011, 10:07 AM
  4. Kỹ thuật C code bài tập về quản lý sinh viên. Không hiển thị đc tên với mã số sinh viên?
    Gửi bởi seudaudokt trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 4
    Bài viết cuối: 06-09-2010, 12:18 AM
  5. Code quản lý sinh viên bằng danh sách lối vòng. Giúp mình thay đổi code kế thừa?
    Gửi bởi caocanha trong diễn đàn Thảo luận, góp ý code C/C++ của bạn
    Trả lời: 6
    Bài viết cuối: 04-05-2009, 03:39 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