some fix, string compression, ui fix

This commit is contained in:
stmctommyau 2023-09-14 23:58:28 +08:00
parent 87840349db
commit d2bc1575e6
No known key found for this signature in database
GPG Key ID: 87B1991E1277F054
5 changed files with 24 additions and 9 deletions

View File

@ -73,13 +73,15 @@ void * show_item(void * ddb,int index){
void print_page(void * ddb, int cur, int end,struct Map* map){
struct inventory db = *((struct inventory*)ddb);
printf("%-5s%-15s%-15s%-10s%-10s%-10s%-10s\n","No.","Product","Brand","Category","Price","Stock","Barcode");
for (int i = cur; i < end; i++)
{
if(map != NULL){
printf("%d item %d: %s\n", i + 9,i, db.row[map[i].key].product);
int index = map[i].key;
printf("%-5d%-15s%-15s%-10s%-10.2lf%-10d%-10ld\n",i+9,StringCompression(db.row[index].product,13),StringCompression(db.row[index].brand,13),StringCompression(db.row[index].category,8),db.row[index].price,db.row[index].stock,db.row[index].barcode);
}
else{
printf("%d item %d: %s\n", i + 9,i, db.row[i].product);
printf("%-5d%-15s%-15s%-10s%-10.2lf%-10d%-10ld\n",i+9,StringCompression(db.row[i].product,13),StringCompression(db.row[i].brand,13),StringCompression(db.row[i].category,8),db.row[i].price,db.row[i].stock,db.row[i].barcode);
}
}
}

View File

@ -318,7 +318,7 @@ struct cart* scan_barcode(struct cart* cart,struct inventory db){
long prompt_barcode(){
printf("Please scan the qr code(or input the barcode ) ");
printf("Please scan the qr code(or input the barcode) ");
long barcode;
fflush_stdin();
scanf("%ld", &barcode);
@ -369,6 +369,7 @@ struct cart* list_cart(struct cart* cart){
printf("<------------------------>\n");
printf("\n%d CHECKOUT\n",i);
printf("Clear Cart\n",i+1);
}
do{
printf("input the corresponding value for more action\n>");
@ -378,9 +379,11 @@ struct cart* list_cart(struct cart* cart){
cart = cart_control(cart,choice);
}else if(choice == i && cart != NULL){
cart = checkout(cart);
}else if(choice == i+1 && cart != NULL){
cart = NULL;
printf("Cart cleared\n");
}
}while(choice <0 || choice > i);
}while(choice <0 || choice > i+1);
}while(choice != 0);
return cart;
}

View File

@ -62,13 +62,13 @@ void print_role(struct linkedlist* list,int cur,int end,struct Map* map){
for(int i = cur; i < end; i++){
list = getLinkedList(list,i);
char* name = list->data;
printf("%-10d%-10s%-10s\n",i-cur + 5,name,is_admin(name)?"T":"F");
printf("%-10d%-10s%-10s\n",i-cur + 5,StringCompression(name,8),is_admin(name)?"T":"F");
}
}else{
for(int i = cur; i < end; i++){
list = getLinkedList(list,map[i].key);
char* name = list->data;
printf("%-10d%-10s%-10s\n",i-cur + 5,name,is_admin(name)?"T":"F");
printf("%-10d%-10s%-10s\n",i-cur + 5,StringCompression(name,8),is_admin(name)?"T":"F");
}
}
}

View File

@ -146,11 +146,11 @@ void print_user(void * ddb, int cur, int end,struct Map* map){
if(map == NULL){
bool isadmin = is_admin(db.row[i].role);
// printf("isadmin%s\n",db.row[i].id);
printf("%-5d%-20s%-10ld%-10s%-10c\n",i+7,db.row[i].name,db.row[i].id,db.row[i].role,isadmin?'Y':'N');
printf("%-5d%-20s%-10ld%-10s%-10c\n",i+7,StringCompression(db.row[i].name,18),db.row[i].id,StringCompression(db.row[i].role,8),isadmin?'Y':'N');
}else{
int index = map[i].key;
bool isadmin = is_admin(db.row[index].role);
printf("%-5d%-20s%-10ld%-10s%-10c\n",i+7,db.row[index].name,db.row[index].id,db.row[index].role,isadmin?'Y':'N');
printf("%-5d%-20s%-10ld%-10s%-10c\n",i+7,StringCompression(db.row[index].name,18),db.row[index].id,StringCompression(db.row[index].role,8),isadmin?'Y':'N');
}
}
}

10
utils.h
View File

@ -182,6 +182,16 @@ void lister(void * db,struct Map* map, int row,char * lister_name,char * SortIte
}while(choice != 0);
return;
}
//Size to be compressed to, > 3(...), should be some larger number else seeing nothing
char * StringCompression(char * str, int size){
if(strlen(str) > size){
str[size-3] = '.';
str[size-2] = '.';
str[size-1] = '.';
str[size] = '\0';
}
return str;
}