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 2 của 2
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    viết chưonng trình lưu trữ thông tin về sinh viên

    Struct Student
    {
    long mssv; // mã số sinh viên
    char name[30]; //họ và tên sinh viên
    char group[6]; //lớp
    double grade; //điểm trung bình
    };
    tạo ra mảng sinh viên, kích thước của mảng và dữ liệu của mỗi phần tử của mảng dc nhập
    vào màn hình.viết các hàm t/h các yêu cầu sau:
    *in ra màn hình danh sách SV
    *sắp xếp mảng theo lớp, trong mỗi lớp sắp xếp theo họ tên SV. xuất ra màn hình mảng sau khi dc sắp xếp.
    *tìm sinh viên theo mss.mssv dc nhập từ màn hình, và kết quả in ra tấ cả các thông tin liên quan đến SV đó.
    *cập nhật, sửa đổi thông tin SV theo mssv. mssv dc nhập từ màn hình.
    *xuất ra màn hình điểm trung bình của tất cả các SV theo từng lớp.
    CHÚ Ý: tạo menu cho phép thực hiện các yêu cầu trên dể thực hiện.

  2. #2
    Bạn tham khảo nha:

    Mã:
    #include <stdio.h>#include <conio.h>#include <stdlib.h>#include <string.h> typedef struct tagSINHVIEN {    int Msv;    char Hoten[35];    int ngay, thang, nam;    float Toan;    float Van;    float TK;}SINHVIEN, *PSINHVIEN; typedef struct tagNODE {    SINHVIEN Data;    tagNODE* Next;}NODE, *PNODE; typedef struct tagLIST {    NODE* Dau;    NODE* Cuoi;}LISTSV, *PLIST; //Khoi tao NODENODE* KhoitaoNode(){    NODE* x = (NODE*)malloc(sizeof(NODE));    if(x == NULL)    {        printf("
     Bo nho khong du ");        return 0;    }    x->Next = NULL;    return x;} //Khoi tao danh sach LISTSVvoid KhoitaoList(LISTSV* x){    x->Dau = NULL;    x->Cuoi=NULL;} //Nhap thong tin sinh vienvoid Nhap (LISTSV* ds,NODE* x){    char tg[25];    int a, d, m, y;    float t, c;   NODE* p = NULL;    do    {        printf("
    Nhap ma Sinh vien: ");        scanf("%d", &a);        p = ds->Dau;        while(p != NULL)        {            if(p->Data.Msv == a)            {                printf("
    Nhap ma Sinh vien bi trung vui long nhap lai");                a = 1;            }            p = p->Next;        }    }while(a == 1);    x->Data.Msv = a;    fflush(stdin);    printf("Nhap ten Sinh Vien: ");    gets(tg);    strcpy(x->Data.Hoten,tg);    fflush(stdin);    do    {        printf("Nhap Ngay Sinh: ");        scanf("%d", &d);        fflush(stdin);    }while(d > 31 || d < 1);    x->Data.ngay = d;    do    {        printf("Nhap Thang Sinh: ");        scanf("%d", &m);        fflush(stdin);    }while(m > 12 || m < 1);    x->Data.thang = m;    do    {        printf("Nhap Nam Sinh: ");        scanf("%d", &y);        fflush(stdin);    }while(y > 9999 || y < 1000);    x->Data.nam = y;    fflush(stdin);    do    {        printf("Nhap Diem Toan: ");        scanf("%f", &c);    }while(c < 0 || c > 10);    x->Data.Toan = c;    fflush(stdin);    do    {        printf("Nhap Diem Van: ");        scanf("%f", &t);    }while(c < 0 || c > 10);    x->Data.Van = t;    x->Data.TK = (x->Data.Toan + x->Data.Van)/2;    fflush(stdin);    x->Next = NULL;} //in sinh vienvoid InSV(NODE* p){    printf("
    Ma Sinh vien: %d   ",p->Data.Msv);    printf("\tTen Sinh vien: %s  ",p->Data.Hoten);    printf("
    Ngay/ Thang/ Nam sinh: %5d/%5d/%5d   ", p->Data.ngay, p->Data.thang, p->Data.nam);    printf("
    Diem Toan: %.2f   ", p->Data.Toan);    printf("\tDiem Van: %.2f   ", p->Data.Van);    printf("\tDiem tong ket: %.2f
    
    
    ", p->Data.TK);} // in danh sach SINHVIENvoid InDanhSach(LISTSV x){    NODE *p;    p = x.Dau;    while(p != NULL)    {        InSV(p);        p = p->Next;    }} //Them mot NODE vao Cuoi danh sachvoid ThemCuoi(LISTSV* x, NODE* t){    if(x->Dau == NULL)    {        x->Dau = t;    }   else   {       x->Cuoi->Next = t;   }   x->Cuoi = t;} // Them mot sinh vien vao cuoi danh sachint NhapSV(LISTSV* x){    NODE* a = KhoitaoNode();    Nhap(x,a);    ThemCuoi(x,a);    return 0;} //Tim kiem theo Ma sinh vienvoid TimKiem(LISTSV x , int n){    NODE *p;    p = x.Dau;    while(p != NULL)    {        if(p->Data.Msv == n)        {            InSV(p);        }        p = p->Next;    }} //Xoa 1 Sinh Vien bat ki Theo ma Sinh Vienint XoaSV(LISTSV *x , int n){    NODE *p = x->Dau;    NODE *q = NULL;    while(p != NULL)    {        if(p->Data.Msv == n)            break;        q = p;        p = p->Next;    }    if(p == NULL) return 0;    if(q != NULL)    {    x->Dau = q;    q->Next = p->Next;    free(p);    }    else    {        x->Dau = p->Next;        if(x->Dau == NULL)        {            x->Cuoi = NULL;        }    }    return 1;} //Giai phong bo nhovoid giaiphong(LISTSV *x){    NODE *p = x->Dau;    NODE *a;   while( p->Next != NULL)    {        a = p;        p = p->Next;        free(a);    }} //In cac Sinh Vien xep Loai Gioivoid inSVGioi(LISTSV x){    NODE *p;    p = x.Dau;    while(p != NULL)    {        if(p->Data.TK >= 8)        {            InSV(p);        }        p = p->Next;    }} //In cac Sinh Vien xep Loai Khavoid inSVKha(LISTSV x){    NODE *p;    p = x.Dau;    while(p != NULL)    {        if(p->Data.TK < 8 && p->Data.TK >= 7)        {            InSV(p);        }        p = p->Next;    }} //Liet ke so SINHVIEN bi thi Lai void inSVThilai(LISTSV x){    NODE *p;    p = x.Dau;    while(p != NULL)    {        if(p->Data.Toan < 5 || p->Data.Van < 5)        {            InSV(p);        }         p = p->Next;    }} //Dem so SINHVIEN Hoc Laivoid SVHocLai(LISTSV x){    NODE *p;    int n = 0;    p = x.Dau;    while(p != NULL)    {        if(p->Data.Toan < 5 && p->Data.Van < 5)        {            n++;        }        p = p->Next;    }    printf("
     So Cac sinh vien Phai Hoc Lai : %d
    ", n);} // Liet ke Sinh vien Sinh vao thang 10void inSV10(LISTSV x){    NODE *p;    p = x.Dau;    while(p != NULL)    {        if(p->Data.thang == 10)        {            printf("
     Cac sinh vien sinh vao thang 10 :");            InSV(p);        }        p = p->Next;    }} //Ham Tao Danh Sach Tuy chonint Menu(){    int a;    int Ma;    LISTSV x;    KhoitaoList(&x);    do    {        printf("
     Ban chon 1,2,3,4,5");        printf("
    
    Nhap so can chon roi bam enter");        printf("
    
    
     1 - Nhap danh sach Sinh Vien");        printf("
     2 - Liet ke danh sach Sinh Vien");        printf("
     3 - Tim kiem Sinh vien theo ma Hang");        printf("
     4 - Liet ke danh sach Sinh Vien dat loai gioi");        printf("
     5 - Liet ke danh sach Sinh Vien dat loai Kha");        printf("
     6 - Liet ke danh sach Sinh Vien Phai thi lai");        printf("
     7 - Tong So Sinh Vien Phai Hoc lai");        printf("
     8 - Liet ke cac sinh vien sinh vao thang 10:");        printf("
     9 - Xoa Sinh Vien theo Ma Sinh Vien");        printf("
     0 - Thoat
    ");        scanf("%d",&a);        switch(a)        {            case 1:                {                    int n;                    printf("
    Nhap so luong Sinh vien : ");                    scanf("%d",&n);                    for(int i = 1; i <= n ;i++)                    {                        printf("
    Nhap Don vi Sinh vien thu: %d 
    ",i);                        NhapSV(&x);                    }                    break;                }            case 2:                {                    InDanhSach(x);                    break;                }            case 3:                {                    fflush(stdin);                    printf("
    Nhap Ma Sinh Vien can tim:");                    scanf("%d",&Ma);                    TimKiem(x ,Ma);                    break;                }               case 4:                {                    inSVGioi(x);                    break;                }            case 5:                {                    inSVKha(x);                    break;                }            case 6:                {                    inSVThilai(x);                    break;                }            case 7:                {                    SVHocLai(x);                    break;                }            case 8:                {                    inSV10(x);                    break;                }            case 9:                {                    fflush(stdin);                    printf("
    Nhap Ma Sinh Vien Xoa:");                    scanf("%d",&Ma);                    fflush(stdin);                    XoaSV(&x ,Ma);                    break;                }            case 0:                {                    break;                }            default: printf("
    Ban chon sai vui long chon lai!");        }    }while(a != 0);    giaiphong(&x);    return 1;}int main(){    clrscr();    Menu();    clrscr();    return 0;}

 

 

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
  •