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

    Quản lý danh sách các món ăn bằng struct, làm sao thêm và xóa các món ăn?

    bài của em là Quản lý danh sách các món ăn trong Struc, nhưng em không bik hàm thêm, xóa ntn, mong các bác chỉ dùm em với !
    Ham của em đây

    #include <stdio.h>
    #include <conio.h>
    #include <string.h>
    #include <malloc.h>
    int i;
    int n;

    struct monan
    {

    char tenmon[100];
    char nguyenlieu;
    int gia;
    };

    void nhap(struct monan *danhsach,int n)
    {
    for(i=0;i<n;i++)
    {
    printf("
    \tMon an thu %d:",i+1);
    fflush(stdin);
    printf("
    \t\tNhap ten mon:");
    gets(danhsach[i].tenmon);
    fflush(stdin);
    printf("
    \t\tNhap ten nguyen lieu chinh:");
    scanf("%s",&danhsach[i].nguyenlieu);
    fflush(stdin);
    printf("
    \t\tNhap gia(VND):");
    scanf("%d",&danhsach[i].gia);
    fflush(stdin);
    }
    }
    void hienthitoanbo(struct monan *danhsach,int n)
    {
    printf("
    Thong tin ve mon:");
    for(i=0;i<n;i++)
    {

    printf("
    Mon an thu %d:",i+1);
    printf("
    \tDanh sach mon an:%s",danhsach[i].tenmon);

    printf("
    \tNguyen lieu chinh la :%c",danhsach[i].nguyenlieu);
    printf("
    \tGia mon la :%d",danhsach[i].gia);

    }
    return;
    };

    void hienthitheogia(struct monan *danhsach,int n)
    {
    int gia;
    printf("

    \tNhap vao gia:");
    scanf("%d",&gia);

    for (i=0;i<n;i++)
    {
    if(danhsach[i].gia==gia)
    {
    printf("

    Mon an thu %d:",i+1);
    printf("
    \tDanh sach mon:%s",danhsach[i].tenmon);
    printf("
    \tNguyen lieu chinh la:%s",danhsach[i].nguyenlieu);
    printf("
    \tGia thanh la :%d",danhsach[i].gia);

    }
    }
    return;
    };
    void hienthitheotennguyenlieu(struct monan *danhsach,int n)
    {
    int nguyenlieu;
    printf("

    \tNhap vao nguyen lieu chinh cua mon:");
    scanf("%s",&nguyenlieu);
    for (i=0;i<n;i++)
    {
    if(danhsach[i].nguyenlieu==nguyenlieu)
    {
    printf("

    Mon an thu %d:",i+1);
    printf("
    \tDanh sach mon:%s",danhsach[i].tenmon);
    printf("
    \tNguyen lieu chinh la :%c",danhsach[i].nguyenlieu);
    printf("
    \tGia cua mon la:%d",danhsach[i].gia);

    }
    }
    return;
    };

    int main()
    {
    int so;
    struct monan *danhsach;
    printf("


    \t\t\tTHONG TIN VE MON AN");
    printf("

    So mon an muon nhap = ");
    scanf("%d",&n);
    danhsach=(struct monan*)malloc (n*sizeof (struct monan));

    nhap(danhsach,n);
    printf("

    \t\tMENU:");
    printf("

    \t1.Hien thi tat ca cac thong tin cua mon");
    printf("
    \t2.Tim kiem theo gia");
    printf("
    \t3.Tim kiem theo nguyen lieu chinh");
    printf("
    Ban an cac phim tuong ung de lua chon:");
    scanf("%d",&so);
    switch(so)
    {
    case 1:
    hienthitoanbo(danhsach,n);
    break;

    case 2:
    hienthitheogia(danhsach,n);
    break;
    case 3:
    hienthitheotennguyenlieu(danhsach,n);
    break;
    default:
    printf("

    So ban nhap khong dung-Moi nhap lai!");
    break;
    }
    getch();
    return 0;
    }

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Cậu POST code kiểu này ai mà đọc cho nổi. Trình bày gọn gàng xíu. Người ta nhìn vô thấy dễ chịu còn giúp.

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    @ngoc chung : cho code vào thẻ đi bạn !

  4. #4
    cho vào thẻ và căn lề nhé: hj
    Mã nguồn PHP:
    #include <stdio.h>#include <conio.h>#include <string.h>#include <malloc.h>int i;int n;struct monan{ char tenmon[100]; char nguyenlieu; int gia;};void nhap(struct monan *danhsach,int n){ for(i=0;i<n;i++) { printf("
    \tMon an thu %d:",i+1); fflush(stdin); printf("
    \t\tNhap ten mon:"); gets(danhsach[i].tenmon); fflush(stdin); printf("
    \t\tNhap ten nguyen lieu chinh:"); scanf("%s",&danhsach[i].nguyenlieu); fflush(stdin); printf("
    \t\tNhap gia(VND):"); scanf("%d",&danhsach[i].gia); fflush(stdin);}}void hienthitoanbo(struct monan *danhsach,int n){ printf("
    Thong tin ve mon:"); for(i=0;i<n;i++) { printf("
    Mon an thu %d:",i+1); printf("
    \tDanh sach mon an:%s",danhsach[i].tenmon); printf("
    \tNguyen lieu chinh la :%c",danhsach[i].nguyenlieu); printf("
    \tGia mon la :%d",danhsach[i].gia); } return;};void hienthitheogia(struct monan *danhsach,int n){ int gia; printf("

    \tNhap vao gia:"); scanf("%d",&gia); for (i=0;i<n;i++) { if(danhsach[i].gia==gia) { printf("

    Mon an thu %d:",i+1); printf("
    \tDanh sach mon:%s",danhsach[i].tenmon); printf("
    \tNguyen lieu chinh la:%s",danhsach[i].nguyenlieu); printf("
    \tGia thanh la :%d",danhsach[i].gia); } } return;};void hienthitheotennguyenlieu(struct monan *danhsach,int n){ int nguyenlieu; printf("

    \tNhap vao nguyen lieu chinh cua mon:"); scanf("%s",&nguyenlieu); for (i=0;i<n;i++) { if(danhsach[i].nguyenlieu==nguyenlieu) { printf("

    Mon an thu %d:",i+1); printf("
    \tDanh sach mon:%s",danhsach[i].tenmon); printf("
    \tNguyen lieu chinh la :%c",danhsach[i].nguyenlieu); printf("
    \tGia cua mon la:%d",danhsach[i].gia); } } return;};int main(){ int so; struct monan *danhsach; printf("


    \t\t\tTHONG TIN VE MON AN"); printf("

    So mon an muon nhap = "); scanf("%d",&n); danhsach=(struct monan*)malloc (n*sizeof (struct monan)); nhap(danhsach,n); printf("

    \t\tMENU:"); printf("

    \t1.Hien thi tat ca cac thong tin cua mon"); printf("
    \t2.Tim kiem theo gia"); printf("
    \t3.Tim kiem theo nguyen lieu chinh"); printf("
    Ban an cac phim tuong ung de lua chon:"); scanf("%d",&so); switch(so) { case 1: hienthitoanbo(danhsach,n); break; case 2: hienthitheogia(danhsach,n); break; case 3: hienthitheotennguyenlieu(danhsach,n); break; default: printf("

    So ban nhap khong dung-Moi nhap lai!"); break; } getch(); return 0;}  

  5. #5
    Mã nguồn PHP:
    char nguyenlieu;  
    --->
    Mã nguồn PHP:
    char nguyenlieu[100];  

  6. #6
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Mấy bài tập post sữa code dùm kiểu này thì mod nên mạnh tay xóa hết !!!

  7. #7
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    ý tưởng của mình như này như mà ko có time, bạn sửa nốt nhé:
    Mã nguồn PHP:
    #include <stdio.h>#include <string.h>#include <malloc.h>int i;int n;struct monan{ char tenmon[100]; char nguyenlieu[50]; int gia;};void nhap(struct monan *danhsach,int n){ danhsach=(struct monan*)malloc (n*sizeof (struct monan)); for(i=0;i<n;i++) { fflush(stdin); getchar(); printf("
    \tMon an thu %d:",i+1); fflush(stdin); printf("
    \t\tNhap ten mon:"); gets(danhsach[i].tenmon); fflush(stdin); printf("
    \t\tNhap ten nguyen lieu chinh:"); gets(danhsach[i].nguyenlieu); printf("
    \t\tNhap gia(VND):"); scanf("%d",&danhsach[i].gia); fflush(stdin);}}void them(struct monan danhsach,int n){ n=n+1; danhsach=(struct monan*)realloc ((n)*sizeof (struct monan)); getchar(); fflush(stdin); printf("
    \t\tNhap ten mon:"); gets(danhsach[n].tenmon); fflush(stdin); printf("
    \t\tNhap ten nguyen lieu chinh:"); gets(danhsach[n].nguyenlieu); printf("
    \t\tNhap gia(VND):"); scanf("%d",&danhsach[n].gia); fflush(stdin);}}void xoa(struct monan *danhsach,struct xoa,int n){ n=n-1; danhsach=(struct monan*)realloc ((n)*sizeof (struct monan)); getchar(); fflush(stdin); printf("
    \t\tNhap ten mon:"); gets(xoa.tenmon); fflush(stdin); printf("
    \t\tNhap ten nguyen lieu chinh:"); gets(xoa.nguyenlieu); printf("
    \t\tNhap gia(VND):"); scanf("%d",&xoa.gia); fflush(stdin); char luachon; int i,j; printf("Ban muon xoa theo ten,nguyenlieu, hay gia"); printf("
    1. xoa theo ten"); printf("
    2. xoa theo nguyen lieu"); printf("
    3. xoa theo gia"); luacho =getchar(); switch(luachon){ case (1):{ for(i=0;i<n;i++){ if(!strcmp(danhsach[i].ten,xoa.ten)) for(j=i;j<n;j++){ danhsach[j].ten=danhsach[j+1].ten; danhsach[j].nguyenlieu=danhdach[i+1].nguyenlieu; danhsach[j].gia=danhsach[j+1].gia; } else printf("khong ton tai ten da tim"); } }break; case (2):{ for(i=0;i<n;i++){ if(!strcmp(danhsach[i].nguyenlieu,xoa.nguyenlieu)) for(j=i;j<n;j++){ danhsach[j].ten=danhsach[j+1].ten; danhsach[j].nguyenlieu=danhdach[i+1].nguyenlieu; danhsach[j].gia=danhsach[j+1].gia; } else printf("khong ton tai nguyen lieu da tim"); } }break; case (3):{ for(i=0;i<n;i++){ if(!strcmp(danhsach[i].gia,xoa.gia)) for(j=i;j<n;j++){ danhsach[j].ten=danhsach[j+1].ten; danhsach[j].nguyenlieu=danhdach[i+1].nguyenlieu; danhsach[j].gia=danhsach[j+1].gia; } else printf("khong ton tai gia da tim"); } }break; default :{ printf("ban nhap sai ki tu roi"); } }}}}void hienthitoanbo(struct monan *danhsach,int n){ printf("
    Thong tin ve mon:"); for(i=0;i<n;i++) { printf("
    Mon an thu %d:",i+1); printf("
    \tDanh sach mon an:%s",danhsach[i].tenmon); printf("
    \tNguyen lieu chinh la :%c",danhsach[i].nguyenlieu); printf("
    \tGia mon la :%d",danhsach[i].gia); } return;};void hienthitheogia(struct monan *danhsach,int n){ int gia; printf("

    \tNhap vao gia:"); scanf("%d",&gia); for (i=0;i<n;i++) { if(danhsach[i].gia==gia) { printf("

    Mon an thu %d:",i+1); printf("
    \tDanh sach mon:%s",danhsach[i].tenmon); printf("
    \tNguyen lieu chinh la:%s",danhsach[i].nguyenlieu); printf("
    \tGia thanh la :%d",danhsach[i].gia); } } return;};void hienthitheotennguyenlieu(struct monan *danhsach,int n){ int nguyenlieu; printf("

    \tNhap vao nguyen lieu chinh cua mon:"); scanf("%s",&nguyenlieu); for (i=0;i<n;i++) { if(danhsach[i].nguyenlieu==nguyenlieu) { printf("

    Mon an thu %d:",i+1); printf("
    \tDanh sach mon:%s",danhsach[i].tenmon); printf("
    \tNguyen lieu chinh la :%c",danhsach[i].nguyenlieu); printf("
    \tGia cua mon la:%d",danhsach[i].gia); } } return;};int main(){ int so; struct monan *danhsach; printf("


    \t\t\tTHONG TIN VE MON AN"); printf("

    So mon an muon nhap = "); scanf("%d",&n); nhap(danhsach,n); do{ printf("

    \t\tMENU:"); printf("
    1.Hien thi tat ca cac thong tin cua mon"); printf("
    2.Tim kiem theo gia"); printf("
    3.Tim kiem theo nguyen lieu chinh"); printf("
    4.Them"); printf("
    5. Xoa"); printf("
    6.Thoat"); printf("

    Ban an cac phim tuong ung de lua chon:"); scanf("%d",&so); switch(so) { case 1: hienthitoanbo(danhsach,n); break; case 2: hienthitheogia(danhsach,n); break; case 3: hienthitheotennguyenlieu(danhsach,n); break; case 4:them(danhsach,n); case 5:xoa(danhsach,n); case 6:{ printf("Xin chao"); return 0; } default: printf("

    So ban nhap khong dung-Moi nhap lai!"); break; } return 0; }while(1);}  

 

 

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
  •