From 39257ec82d49f5c78d029f23f6949095ad17a5f8 Mon Sep 17 00:00:00 2001 From: Saturneric Date: Tue, 1 Sep 2020 00:04:47 +0800 Subject: [PATCH] Create main.c --- main.c | 175 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 175 insertions(+) create mode 100644 main.c diff --git a/main.c b/main.c new file mode 100644 index 0000000..37cd798 --- /dev/null +++ b/main.c @@ -0,0 +1,175 @@ +// +// main.c +// DEIH +// +// Created by Eric on 15-10-24. +// Copyright (c) 2015年 Bakantu Eric. All rights reserved. +// + +/*includes*/ +#include +#include +#include +#include +#include +#include + +/*functions*/ +int add_words(void); +int search_words(void); +int delete_words(void); +int review (void); +void init (void); +int dishes(void); +void end (void); + +/*verb*/ +int review_words = 0; +mongoc_client_t *m_client; +mongoc_database_t *m_database; +mongoc_collection_t *m_collection; + +struct m_word{ + char name[32]; + char meaning[64]; + char paofsp[32]; +}; + +/*detail functions*/ +void init (void){ + mongoc_init (); + m_client = mongoc_client_new ("mongodb://localhost:27017"); + m_database = mongoc_client_get_database (m_client, "DEIH"); + m_collection = mongoc_client_get_collection (m_client, "DEIH", "words"); +} +int main(void) { + init(); + dishes(); + end(); + return 0; +} +int dishes(void){ + system("clear"); + printf("Welcome to DEIH which is a tool to help you to remember new words\n"); + if (review_words > 0){ + printf("Well, you have %d words to review, and \n",review_words); + printf("do you want to review these words first? "); + char ifnot = '\0'; + ifnot = getchar(); + getchar(); + if (ifnot == 'y')review(); + else system("clear"); + } + while(1){ + printf("1.Add words\n"); + printf("2.review words\n"); + printf("3.search words\n"); + printf("4.delete words\n"); + printf("5.exit\n"); + printf("You want to?"); + int ifnot = 0; + scanf("%d",&ifnot); + getchar(); + switch (ifnot){ + case 1: + add_words(); + break; + case 2: + review(); + break; + case 3: + search_words(); + break; + case 4: + delete_words(); + break; + case 5: + return 0; + break; + default: + break; + } + system("clear"); + } + return 0; +} +int delete_words(void){ + mongoc_cursor_t *cursor; + bson_error_t error; + bson_oid_t oid; + bson_t *doc; + char f_words[32]; + bson_t *query; + + printf("The name of the world that you wante to delete: "); + scanf("%s",f_words); + BSON_APPEND_UTF8 (query, "Name", f_words); + cursor = mongoc_collection_find (m_collection, MONGOC_QUERY_NONE, 0, 0, 0, query, NULL, NULL); + + doc = bson_new (); + BSON_APPEND_OID (doc, "Name", &oid); + if (!mongoc_collection_remove (m_collection, MONGOC_REMOVE_SINGLE_REMOVE, doc, NULL, &error)) { + printf ("Delete failed: %s\n", error.message); + } + bson_destroy (query); + mongoc_cursor_destroy (cursor); + return 0; +} +int add_words(void){ + bson_error_t error; + bson_oid_t oid; + bson_t *doc; + int count = 1; + int n_ifnot = 1; + char ifnot[4], m_ifnot[4]; + + while (n_ifnot) { + printf("`````````````````````````````````````````````````````````````\n"); + struct m_word* p_word = malloc(sizeof(struct m_word)); + printf("[No. %d]\n",count); + printf("Name: "); + scanf("%s",p_word->name); + printf("Paofsp: "); + scanf("%s",p_word->paofsp); + printf("Meaning: "); + scanf("%s",p_word->meaning); + printf("```````````````````````````````````````````````````````````\n"); + printf("Sure?"); + scanf("%s",ifnot); + if (strcmp(ifnot,"y") == 0){ + doc = bson_new (); + bson_oid_init (&oid, NULL); + BSON_APPEND_OID (doc, "_id", &oid); + BSON_APPEND_UTF8 (doc, "Name",p_word->name); + BSON_APPEND_UTF8 (doc, "Meaning",p_word->meaning); + BSON_APPEND_UTF8 (doc, "Paofsp",p_word->paofsp); + BSON_APPEND_UTF8 (doc, "time",0); + if (!mongoc_collection_insert (m_collection, MONGOC_INSERT_NONE, doc, NULL, &error)) { + fprintf (stderr, "%s\n", error.message); + } + else { + printf("Save done!\n"); + count++; + } + bson_destroy (doc); + } + printf("Done?"); + scanf("%s",m_ifnot); + if (strcmp(m_ifnot,"`") == 0){ + n_ifnot = 0; + } + printf("`````````````````````````````````````````````````````````````\n"); + system("clear"); + } + return 0; +} +int search_words(void){ + return 0; +} +int review(void){ + return 0; +} +void end(void){ + +} +