01/10/2018, 00:55
Kiểu dữ liệu dạng gói (struct)
Viết CTC thực hiện các công việc sau:
o Nhập danh sách các món ăn gồm các thông tin: tên món ăn, đơn giá;
o Hiện danh sách vừa nhập ra màn hình
o Tìm món ăn có đơn giá cao nhất
o Thống kê các món ăn có đơn giá từ x đến y, với x, y nhập từ bàn phím và lưu vào file THUCDON.TXT
o Hiển thị
Áp dụng CTC trên
Mong mọi người xem giúp e ý 4. Em cảm ơn
#include<stdio.h>
#include<conio.h>
#include<string.h>
struct MonAn
{
char TenMon[50];
int Gia;
};
void Nhap( MonAn dsma[], int sl)
{
int i;
for(i=0;i<sl; i++)
{
fflush(stdin);
printf("
Nhap ten mon an: ");
gets(dsma[i].TenMon);
fflush(stdin);
printf("
Nhap gia: ");
scanf("%d", &dsma[i].Gia);
}
}
void Xuat(MonAn dsma[], int sl)
{
printf("
---------------THONG TIN MON AN---------------");
printf( "
TT Ten mon an Gia");
int i;
for(i=0; i<sl; i++)
{
printf("
%2d %13s %7d",i+1, dsma[i].TenMon, dsma[i].Gia);
}
}
int TimKiem(MonAn dsma [], int sl)
{
int i;
int DatNhat = 0;
for(i=0; i<sl; i++)
{
if (dsma[DatNhat].Gia < dsma[i].Gia)
{
dsma[DatNhat].Gia=dsma[i].Gia;
DatNhat= i;
}
}
printf("
Mon an co gia dat nhat la: %s ", dsma[DatNhat].TenMon);
}
// 4. thong ke cac mon an co don gia tu x den y
void ThongKe( MonAn dsma[], int sl)
{
int i;
int x, y;
printf("
Nhap don gia x:");
scanf("%d", &x);
printf("
Nhap don gia y (y> x):");
scanf("%d", &y);
for(i=0; i<sl; i++)
{
if(dsma[x].Gia < dsma[i].Gia && dsma[y].Gia > dsma[i].Gia)
printf("
Cac mon an thuoc khoang gia tren la:");
}
//printf("
%2d %13s %7d",i+1, dsma[i].TenMon, dsma[i].Gia);
}
int main()
{
int n;
MonAn ds[100];
printf("
Nhap so luong mon an: ");
scanf("%d", &n);
fflush(stdin);
Nhap(ds,n);
fflush(stdin);
Xuat(ds,n);
TimKiem(ds, n);
ThongKe(ds,n);
printf("
Cac mon an thuoc khoang gia tren la:");
Xuat(ds,n);
}
Bài liên quan
Chỗ này theo mình hiểu x, y là đơn giá rồi chứ ko phải vị trí:
đc rồi bác ạ, em cảm ơn