int main(void) { welcome(); show_func(); while(true) { menu(); } return ; }
int main(int argc, char **argv) { int dev_number = -1; func_show_bus_t show_func = show_all; int opt; getopt_init(); while (-1 != (opt = getopt(argc, argv, "n:b:h"))) { switch(opt) { case 'h': print_usage(); return 0; case 'b': if (NULL == (show_func = set_bus_type(optarg))) { printf("Parsing: chose right bus type '-b'\n"); print_usage(); return -EINVAL; } break; case 'n': if (show_all == show_func) { printf("Parsing: chose bus type '-b'\n"); print_usage(); return -EINVAL; } if (1 != sscanf(optarg,"%d", &dev_number)) { printf("parsing: enter validly dev_number '-n'\n"); print_usage(); return -EINVAL; } break; default: return 0; } } { const char **m = msg; for (; *m != NULL; m++) { printf("%s\n", *m); } return 0; } show_func(dev_number); return 0; }
//function303:主菜单 //@version 1.1 //增加了字母错误判别 //@fn 选择功能变量 //@num 记录数据变量 // void menu() { int fn,num; printf("===>>>请输入对应序号进入功能:"); scanf("%d",&fn); if(fn/10000!=0) { puts("Error 303:输入错误,请不要输入字母!"); exit(-303); } switch(fn) { case 1: { show_stu_num(); break; } case 2: { select_random_student(); break; } case 3: { add_someone_c_score(); break; } case 4: { add_class_c_socre(); break; } case 5: { printf("请输入要查看的同学个数:"); scanf("%d",&num); sort_by_c_socore(); short_show_stu_infos(p,num); num=0; break; } case 6: { flag_stu(); break; } case 7: { show_flag_stu(); break; } case 8: { short_show_stu_infos(p,-1); break; } case 9: { show_stu_infos(p,-1); break; } case 10: { add_new_stu_info(p); break; } case 11: { num=select_stu_by_num(); if(num) all_change_stu_info(p); break; } case 12: { num=select_stu_by_num(); if(num) delete_stu_info(p); break; } case 13: { num=select_stu_by_num(); if(num) show_stu_info(p); break; } case 14: { show_func(); break; } case 15: { sort_by_num(); write_file(fp_w); exit(000); } default : { puts("输入了错误的序号,请重新输入"); end_format(); break; } } }