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

Đề tài: Bài tập quản lý sinh viên

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

    Mặc định Bài tập quản lý sinh viên

    Mn giúp em điền vào mấy chỗ //........... với ạ


    #include <stdio.h>
    #include <conio.h>
    #include <string.h>
    #include <iostream>
    using namespace std;

    #define MAXLIST 100
    typedef struct Sinhvien {
    char HoTen[MAXLIST];
    char MSSV[MAXLIST];
    }Sinhvien;

    typedef struct danhsachdac {
    Sinhvien dssv[MAXLIST];
    int num;
    }List;

    // Khoi tao
    void Init(List &plist) {
    plist.num=0;
    }
    // Xac dinh so nut cua danh sách
    int ListSize(List plist) {
    return plist.num;
    }
    // Kiem tra danh sách rong
    int IsEmpty(List plist) {
    return (plist.num==0);
    }
    // Kiem tra danh sách day
    int IsFull(List plist) {
    return (plist.num==MAXLIST);
    }

    // Nhap thong tin sinh vien
    void Nhapsv(Sinhvien &sv) {
    int i;
    printf("\n\t Nhap ho ten sinh vien: ");
    fflush(stdin);
    gets(sv.HoTen);
    printf("\t Nhap MSSV: ");
    fflush(stdin);
    gets(sv.MSSV);
    }

    // Nhap danh sach sinh vien
    void Nhapds(List &plist, Sinhvien &sv)
    {
    int i;
    do
    {
    printf("\n\t Nhap so luong sinh vien: ");
    scanf("%d",&plist.num);
    }
    while (plist.num<0);
    if(IsFull(plist))
    {
    printf("\n ==> Danh sach bi day!");
    return;
    }
    else
    {
    for(i=0; i<plist.num; i++)
    {
    printf("\n\t -- Nhap thong tin sinh vien thu %d -- ",i+1);
    Nhapsv(plist.dssv[i]);
    }
    }
    }

    // Xuat sinh vien
    void Xuatsv(Sinhvien sv)
    {
    int i;
    printf("\n\t Ho ten: %s",sv.HoTen);
    printf("\n\t Ma so sinh vien: %s\n",sv.MSSV);
    }

    // Xuat danh sách
    void ShowList(List plist)
    {
    if(plist.num==0)
    {
    printf("\n\t ==> Danh sach khong co sinh vien!");
    return;
    }
    else
    {
    for(int i=0;i<plist.num;i++)
    {
    printf("\n\t -- Thong tin sinh vien thu: %d --", i+1);
    Xuatsv(plist.dssv[i]);
    }
    }
    }

    // Thêm mot sinh vien moi vào danh sách
    void Insert(List &plist)
    {
    Sinhvien sv;
    int a;
    a=plist.num++;
    Nhapsv(plist.dssv[a]);
    }

    // Xoá mot sinh vien ra khoi danh sách
    int Delete(List &plist, int pos)
    {
    Sinhvien sv;
    int i;
    if(pos <0 || pos>=ListSize(plist))
    //.................
    else{
    if(IsEmpty(plist))
    //.................
    else
    {
    //..................
    }
    }
    }
    // Hieu chinh thong tin sinh vien
    void Update(List &plist, int pos)
    {
    char a[MAXLIST];
    Sinhvien sv;
    int i,tim=0;
    if(pos <0 || pos>=ListSize(plist))
    //...................
    else
    {
    if(IsEmpty(plist))
    //....................
    else
    {
    for(i=pos;i<ListSize(plist);i++)
    {
    if (strcmp(plist.dssv[i].MSSV,a))
    {
    tim=1;
    printf("\n\t <> Cap nhat thong tin sinh vien \n");
    //.................
    printf("\n\t <> Danh sach sinh vien sau khi cap nhat: \n");
    ShowList(plist);
    break;
    }
    }
    }
    }
    if(tim==0)
    printf("\n\t ==> Sinh vien co MSSV khong ton tai");
    }

    // Sap xep tang dan theo MSSV
    void SortMSSV(List &plist, Sinhvien sv)
    {
    //......................
    }

    // Tim kiem sinh vien
    int Find(List plist, char x[MAXLIST])
    {
    Sinhvien sv;
    for (int i=0;i<plist.num;i++)
    {
    if (strcmp(plist.dssv[i].MSSV,x) == 0)
    {
    //..................
    return i;
    }
    }
    //..................
    }

    // Xoa toan bo danh sach SV
    void ClearList(List &plist)
    {
    //..................
    }

    // Hàm chính
    int main(int argc, char** argv) {

    List plist;
    Sinhvien sv;
    Init(plist);

    int chon,x,i,k;
    do {
    // Nhap chon lua cua nguoi dùng
    printf("\n\t------------------ CHUONG TRINH QUAN LY SINH VIEN DANH SACH DAC --------------------");
    printf("\n\t 1: Nhap danh sach sinh vien\n");
    //........................
    printf("\t 0: Thoat (Bam phim bat ky de tiep tuc)\n");
    printf("\t ************************************************** ***********************************");
    printf("\n\t Hay chon chuc nang: ");
    scanf("%d", &chon);

    // Thuc hien công viec cho lua chon tuong ung
    switch (chon) {
    case 1: // Nhap danh sach sinh vien
    Nhapds(plist,sv);
    printf("\n");
    getch();
    system("cls");
    break;
    case 2: // Thêm mot sinh vien moi vào danh sách
    //............
    break;
    //..................
    default: chon=0;
    break;
    }

    //getch();

    }while (chon!=0);
    return 0;
    }

  2. #2
    Ngày gia nhập
    12 2015
    Nơi ở
    Đà Nẵng
    Bài viết
    663

    Trích dẫn Nguyên bản được gửi bởi nvthoang Xem bài viết
    Mn giúp em điền vào mấy chỗ //........... với ạ


    #include <stdio.h>
    #include <conio.h>
    #include <string.h>
    #include <iostream>
    using namespace std;

    #define MAXLIST 100
    typedef struct Sinhvien {
    char HoTen[MAXLIST];
    char MSSV[MAXLIST];
    }Sinhvien;

    typedef struct danhsachdac {
    Sinhvien dssv[MAXLIST];
    int num;
    }List;

    // Khoi tao
    void Init(List &plist) {
    plist.num=0;
    }
    // Xac dinh so nut cua danh sách
    int ListSize(List plist) {
    return plist.num;
    }
    // Kiem tra danh sách rong
    int IsEmpty(List plist) {
    return (plist.num==0);
    }
    // Kiem tra danh sách day
    int IsFull(List plist) {
    return (plist.num==MAXLIST);
    }

    // Nhap thong tin sinh vien
    void Nhapsv(Sinhvien &sv) {
    int i;
    printf("\n\t Nhap ho ten sinh vien: ");
    fflush(stdin);
    gets(sv.HoTen);
    printf("\t Nhap MSSV: ");
    fflush(stdin);
    gets(sv.MSSV);
    }

    // Nhap danh sach sinh vien
    void Nhapds(List &plist, Sinhvien &sv)
    {
    int i;
    do
    {
    printf("\n\t Nhap so luong sinh vien: ");
    scanf("%d",&plist.num);
    }
    while (plist.num<0);
    if(IsFull(plist))
    {
    printf("\n ==> Danh sach bi day!");
    return;
    }
    else
    {
    for(i=0; i<plist.num; i++)
    {
    printf("\n\t -- Nhap thong tin sinh vien thu %d -- ",i+1);
    Nhapsv(plist.dssv[i]);
    }
    }
    }

    // Xuat sinh vien
    void Xuatsv(Sinhvien sv)
    {
    int i;
    printf("\n\t Ho ten: %s",sv.HoTen);
    printf("\n\t Ma so sinh vien: %s\n",sv.MSSV);
    }

    // Xuat danh sách
    void ShowList(List plist)
    {
    if(plist.num==0)
    {
    printf("\n\t ==> Danh sach khong co sinh vien!");
    return;
    }
    else
    {
    for(int i=0;i<plist.num;i++)
    {
    printf("\n\t -- Thong tin sinh vien thu: %d --", i+1);
    Xuatsv(plist.dssv[i]);
    }
    }
    }

    // Thêm mot sinh vien moi vào danh sách
    void Insert(List &plist)
    {
    Sinhvien sv;
    int a;
    a=plist.num++;
    Nhapsv(plist.dssv[a]);
    }

    // Xoá mot sinh vien ra khoi danh sách
    int Delete(List &plist, int pos)
    {
    Sinhvien sv;
    int i;
    if(pos <0 || pos>=ListSize(plist))
    //.................
    else{
    if(IsEmpty(plist))
    //.................
    else
    {
    //..................
    }
    }
    }
    // Hieu chinh thong tin sinh vien
    void Update(List &plist, int pos)
    {
    char a[MAXLIST];
    Sinhvien sv;
    int i,tim=0;
    if(pos <0 || pos>=ListSize(plist))
    //...................
    else
    {
    if(IsEmpty(plist))
    //....................
    else
    {
    for(i=pos;i<ListSize(plist);i++)
    {
    if (strcmp(plist.dssv[i].MSSV,a))
    {
    tim=1;
    printf("\n\t <> Cap nhat thong tin sinh vien \n");
    //.................
    printf("\n\t <> Danh sach sinh vien sau khi cap nhat: \n");
    ShowList(plist);
    break;
    }
    }
    }
    }
    if(tim==0)
    printf("\n\t ==> Sinh vien co MSSV khong ton tai");
    }

    // Sap xep tang dan theo MSSV
    void SortMSSV(List &plist, Sinhvien sv)
    {
    //......................
    }

    // Tim kiem sinh vien
    int Find(List plist, char x[MAXLIST])
    {
    Sinhvien sv;
    for (int i=0;i<plist.num;i++)
    {
    if (strcmp(plist.dssv[i].MSSV,x) == 0)
    {
    //..................
    return i;
    }
    }
    //..................
    }

    // Xoa toan bo danh sach SV
    void ClearList(List &plist)
    {
    //..................
    }

    // Hàm chính
    int main(int argc, char** argv) {

    List plist;
    Sinhvien sv;
    Init(plist);

    int chon,x,i,k;
    do {
    // Nhap chon lua cua nguoi dùng
    printf("\n\t------------------ CHUONG TRINH QUAN LY SINH VIEN DANH SACH DAC --------------------");
    printf("\n\t 1: Nhap danh sach sinh vien\n");
    //........................
    printf("\t 0: Thoat (Bam phim bat ky de tiep tuc)\n");
    printf("\t ************************************************** ***********************************");
    printf("\n\t Hay chon chuc nang: ");
    scanf("%d", &chon);

    // Thuc hien công viec cho lua chon tuong ung
    switch (chon) {
    case 1: // Nhap danh sach sinh vien
    Nhapds(plist,sv);
    printf("\n");
    getch();
    system("cls");
    break;
    case 2: // Thêm mot sinh vien moi vào danh sách
    //............
    break;
    //..................
    default: chon=0;
    break;
    }

    //getch();

    }while (chon!=0);
    return 0;
    }
    Đề nghị chủ thớt bỏ code vào khung code cho dễ nhìn
    Chưa đọc hết code nhưng thấy hàm IsFull có vấn đề, trong nhapDs nếu nhập số lượng lớn hơn MAXLIST thì vẫn nhập ds bình thường

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