예제 #1
0
/*
**主函数
*/
int main (void)
{
    int choice;
    struct student * head, * phead;
    struct student * p1;
    printf("\033[36;m");
    menu();
    scanf ("%d",&choice);
    while (choice != 0)
    {
        switch (choice )
        {
            case 1:
                head = creat_list ();
              printf("录入完毕,任意键返回\n");
                clear_s();
            break;
            case 2:
                 print_list (head);
              printf ("输出完毕,任意键返回\n");
                clear_s();
            break;
            case 3:
                delete_list(head);
                if (head == NULL)
                {
                 printf ("删除不成功,请选择:\n");
                    scanf ("%d",&choice);
                    break;
                }
              printf ("删除完毕,任意键返回\n");
                clear_s();
                break;
            case 4:
                 p1 = find_stu(head);
                 print_find(p1);
              printf ("查找完毕,任意键返回\n");
                   clear_s();
                  break;
           case 5:
                 phead = ave_list (head);
                 print_list(phead);
              printf ("排序完毕,任意键返回\n");
                 clear_s();
                 break;
           case 6:
                 head = insert (head);
                 print_list(head);
              printf ("插入完毕,任意键返回\n");
                 clear_s();
                 break;
           case 0:
                 exit (0);
                     break;
          }
        scanf ("%d",&choice);
    }
}
예제 #2
0
파일: jfdb.c 프로젝트: jflatow/jfdb
int main(int argc, char **argv) {
  if (pif_error(argc < 2, "No command specified"))
    return usage(-1);
  if (pif_error(argc < 3, "No DB path specified"))
    return usage(-1);

  char *cmd = argv[1];
  char *keyData[JFT_KEY_LIMIT];
  JFDB *db;
  JFT_Stem prefix = (JFT_Stem) {.data = (uint8_t *)keyData};
  JFT_Symbol *stop = NULL;
  JFT_Offset offset;
  switch (cmd[0]) {
    case 'm':
    case 'n':
    case 'k':
    case 'f':
    case 'l':
      db = JFDB_open(argv[2], 0);
      if (JFDB_pif_error(db, "Failed to open"))
        return -1;
      switch (cmd[0]) {
        case 'm':
          print_meta(db);
          break;
        case 'n':
          offset = argc > 3 ? atoi(argv[3]) : db->tip.cp.offset;
          offset = MAX(offset, sizeof(JFDB_Header));
          print_info(db, &prefix, db->kmap.map + offset, &null);
          break;
        case 'k':
          if (!prefix_opts(&prefix, &stop, argc - 2, argv + 2))
            print_keys(db, &prefix, stop);
          break;
        case 'f':
          if (!prefix_opts(&prefix, &stop, argc - 2, argv + 2))
            print_find(db, &prefix, stop);
          break;
        case 'l':
          load_input(db, stdin);
          break;
      }
      if (JFDB_close(db))
        return -1;
      break;
    case 'w':
      if (pif_error(JFDB_wipe(argv[2]), "Failed to wipe"))
        return -1;
      break;
    default:
      usage(1);
      break;
  }
  return 0;
}