thien
anhhackta
c_cpp
a year ago
3.5 kB
8
Indexable
#include <stdio.h> #include <string.h> #define max 100 struct item { char name[100]; char id[100]; float price; }; typedef struct item ITEM; struct queue { ITEM A[max]; int front, rear; }; typedef struct queue QUEUE; void Init(QUEUE &q) { q.front = 0; q.rear = -1; } int IsEmpty(QUEUE q) { if(q.front > q.rear) { return 1; } return 0; } int IsFull(QUEUE q) { if(q.rear == max - 1) { return 1; } return 0; } void search(QUEUE q, char *namesearch) { for(int i = q.front; i <= q.rear; i++) { if(strcmp(q.A[i].name, namesearch) == 0) { printf("tim thay mat hang\n"); return; } } printf("khong tim thay\n"); } void add(QUEUE &q, ITEM x) { if(IsFull(q) == 0) { q.rear++; q.A[q.rear] = x; } } void output(QUEUE q) { for(int i = q.front; i <= q.rear; i++) { printf("san phan thu [%d]: \n", i+1); printf("ten san pham: %s \n", q.A[i].name); printf("ID san phan: %s \n", q.A[i].id); printf("gia san pham: %.2f \n", q.A[i].price); printf("--------------------\n"); } } void change(QUEUE &q) { char changename[100]; char nameNew[100]; printf("nhap ten san pham muon sua: "); fflush(stdin); gets(changename); for(int i = q.front; i <= q.rear; i++) { if(strcmp(changename, q.A[i].name) == 0) { printf("nhap ten san pham muon thay doi lai: "); fflush(stdin); gets(nameNew); strcpy(q.A[i].name, nameNew); return; } } printf("khong tim thay san pham de thay doi\n"); } void Input(QUEUE &q, int n) { for(int i = 0; i < n; i++) { printf("Moi ban nhap info hang hoa thu [%d]: \n", i+1); ITEM x; printf("nhap ten hang: "); fflush(stdin); gets(x.name); printf("nhap id: "); fflush(stdin); gets(x.id); printf("nhap gia: "); fflush(stdin); scanf("%f", &x.price); add(q, x); } } void bubble_sort(QUEUE &q){ ITEM swap; for(int i = 0; i <= q.rear - 1; i++) { for (int j = 0; j < q.rear - i; j++) { if(q.A[j].price > q.A[j+1].price) { swap = q.A[j]; q.A[j] = q.A[j+1]; q.A[j+1] = swap; } } } } void menu(QUEUE &q, char namesearch[100]) { int choose; do { printf("1. Them hang hoa\n"); printf("2. Tim hang hoa\n"); printf("3. Chinh sua hang hoa\n"); printf("4. Xuat thong tin hang hoa\n"); printf("5. Sap xep\n"); printf("6. Thoat\n"); printf("NHAP VAO LUA CHON: "); int n; scanf("%d", &choose); switch(choose) { case 1: printf("Nhap so luong hang hoa: "); scanf("%d", &n); Input(q, n); break; case 2: printf("nhap ten hang hoa muon tim: "); fflush(stdin); gets(namesearch); search(q, namesearch); break; case 3: change(q); break; case 4: output(q); break; case 5: bubble_sort(q);output(q);break; case 6: printf("exit");break; } } while (choose != 5); } int main() { QUEUE q; char namesearch[100]; Init(q); menu(q, namesearch); }
Editor is loading...
Leave a Comment