Untitled

 avatar
unknown
plain_text
4 years ago
2.3 kB
8
Indexable
#include<stdio.h>

typedef struct Hang
{
    long long ISBN;
    long long soLuong;
    float gia, giaTri;
    int so0;
}h;
int c1(long long k, int *y)
{
    long long h = k;
    int count = 0;
    while(h > 0)
    {
       h = h / 10;
       count++;
    }
    *y = count;
    count--;
    int sum = k%10;
    k = k/10;
    int i = 2;
    int dem = 0;
    while(dem < count)
    {
         sum+= (k%10)*i;
         k = k/10;
         i++;
         dem++;
    }
    if(sum%11 == 0) return 1;
    return 0;    
}
void nhap(h a[], int n)
{
    for(int i = 0; i < n;i++)
    {    
     long long k,q;
     float j;
     scanf("%lld %f %lld", &k, &j, &q);
     if(c1(k, &a[i].so0) == 1 && j > 0 && q >= 0 )
     {
         a[i].ISBN = k;
         a[i].gia = j;
         a[i].soLuong = q;
         a[i].giaTri = a[i].gia * (float)a[i].soLuong;
         a[i].so0 = 10 - a[i].so0;
     }
     else
     {
         printf("\nNhap lai: ");
         i--;
     }
    }
}
void inTieuDe()
{
     printf("\n\t\t\tBooks in Stock");
     printf("\n\t\t\t==============\n");
     printf("%-20s %-20s %-20s %-20s", "ISBN", "Price", "Quantity" , "Value");
     printf("\n----------------------------------------------------------------------");
}
void in(h a[], int n)
{
      float sum = 0;
      for(int i = 0 ; i < n ; i++)
      {
          printf("\n");
          for(int j = 0 ; j < a[i].so0 ; j++)
          {
              printf("0");
          }
          printf("%-20lld %-20.2f %-20lld %-20.2f", a[i].ISBN , a[i].gia, a[i].soLuong, a[i].giaTri);
          sum+= a[i].giaTri;
      }
      printf("\nTotal value books in stock: %.2f", sum);
} 
void ss(h a[], int n)
{
    for(int i = 0 ; i <n - 1;i++)
    {
        for(int j = i+1;j<n;j++)
        {
            if(a[i].gia < a[j].gia)
            {
                h b = a[i];
                a[i] = a[j];
                a[j] = b;
            }
        }
    }
}
int main()
{
    int soMatHang;
    printf("Nhap so luong mat hang: ");
    scanf("%d", &soMatHang);
    h a[100];
    printf("\nNhap mat hang ( ISBN - gia - soLuong):\n");
    nhap(a,soMatHang);
    ss(a,soMatHang);
    inTieuDe();
    in(a,soMatHang);
    return 0;
}
Editor is loading...