main函数修改
This commit is contained in:
parent
b16c1cf431
commit
bbf3abcd5c
|
@ -23,5 +23,5 @@ add_executable(TeamProject
|
|||
add_executable(hylTest note_byHYL/note.h note_byHYL/note.c note_byHYL/note_add.c note_byHYL/note_out.c)
|
||||
|
||||
# jzyTest
|
||||
add_executable(jzyTest note_by_jzy/note.c note_by_jzy/note.h note_by_jzy/main.c)
|
||||
add_executable(jzyTest note_by_jzy/note.c note_by_jzy/note.h note_by_jzy/menu.c note_by_jzy/menu.h note_by_jzy/test.c note_by_jzy/notebook.c note_by_jzy/notebook.h)
|
||||
target_link_libraries(jzyTest ConsoleLib)
|
||||
|
|
|
@ -8,7 +8,7 @@ HANDLE hStdout;
|
|||
|
||||
static CONSOLE_SCREEN_BUFFER_INFO prevScreenBuffer;
|
||||
|
||||
// 关于可用颜色 color,请参考 ConsoleSettings.h
|
||||
|
||||
bool set_console_text_color(enum COLOR color) {
|
||||
GetConsoleScreenBufferInfo(hStdout, &prevScreenBuffer);
|
||||
return SetConsoleTextAttribute(hStdout, color);
|
||||
|
|
|
@ -13,18 +13,26 @@
|
|||
extern HANDLE hStdout;
|
||||
|
||||
enum COLOR {
|
||||
BLUE = FOREGROUND_BLUE,
|
||||
GREEN = FOREGROUND_GREEN,
|
||||
RED = FOREGROUND_RED,
|
||||
BLUE_BACKGROUND = BACKGROUND_BLUE,
|
||||
GREEN_BACKGROUND = BACKGROUND_GREEN,
|
||||
RED_BACKGROUND = BACKGROUND_RED,
|
||||
BLUE = FOREGROUND_BLUE, ///< 蓝色(字体)
|
||||
GREEN = FOREGROUND_GREEN, ///< 绿色(字体)
|
||||
RED = FOREGROUND_RED, ///< 红色(字体)
|
||||
BLUE_BACKGROUND = BACKGROUND_BLUE, ///< 蓝色(背景)
|
||||
GREEN_BACKGROUND = BACKGROUND_GREEN, ///< 绿色(背景)
|
||||
RED_BACKGROUND = BACKGROUND_RED, ///< 红色(背景)
|
||||
};
|
||||
|
||||
/// 设置接下来输出的文字颜色
|
||||
/// @pre 初始化 hStdout
|
||||
/// @param color
|
||||
/// @return
|
||||
bool set_console_text_color(enum COLOR color);
|
||||
|
||||
/// 恢复控制台颜色
|
||||
/// \return true如果成功
|
||||
bool restore_prev_color();
|
||||
|
||||
/// 清除控制台
|
||||
/// \return true如果成功
|
||||
bool clear_console();
|
||||
|
||||
#endif //TEAMPROJECT_CONSOLESETTINGS_H
|
||||
|
|
|
@ -1,23 +1,28 @@
|
|||
//
|
||||
// Created by JZYFC on 2021/11/29.
|
||||
//
|
||||
#include "menu.h"
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdbool.h>
|
||||
#include <locale.h>
|
||||
#include <wchar.h>
|
||||
#include "../console/ConsoleSettings.h"
|
||||
|
||||
void show_main_menu_message();
|
||||
void TMP_show_plan();
|
||||
|
||||
bool WINAPI CtrlHandler(DWORD ctrlType) {
|
||||
switch (ctrlType) {
|
||||
case CTRL_CLOSE_EVENT:
|
||||
case CTRL_C_EVENT:
|
||||
CloseHandle((HANDLE) STD_OUTPUT_HANDLE);
|
||||
exit(-1);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
int main(void) {
|
||||
void main_menu(void) {
|
||||
|
||||
// 初始化
|
||||
|
||||
// TODO: init_list()
|
||||
// TODO: list_day; list_week
|
||||
|
@ -25,22 +30,17 @@ int main(void) {
|
|||
|
||||
hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
|
||||
SetConsoleCtrlHandler((PHANDLER_ROUTINE) CtrlHandler, true);
|
||||
|
||||
setlocale(LC_ALL, "");
|
||||
wprintf(L"请输入你的选项:\n");
|
||||
wprintf(L"1. 查看计划\n");
|
||||
wprintf(L"2. 修改计划\n");
|
||||
wprintf(L"3. 删除计划\n");
|
||||
wprintf(L"4. 打开笔记本\n");
|
||||
wprintf(L"0. 保存并退出\n");
|
||||
set_console_text_color(RED);
|
||||
wprintf(L"-1. 退出但不保存\n");
|
||||
|
||||
clear_console();
|
||||
TMP_show_plan();
|
||||
show_main_menu_message();
|
||||
restore_prev_color();
|
||||
while (true) {
|
||||
wscanf_s(L"%d", &input);
|
||||
switch (input) {
|
||||
case 1:
|
||||
// TODO: 查看计划
|
||||
// TODO: 添加计划
|
||||
break;
|
||||
case 2:
|
||||
// TODO: 修改计划
|
||||
|
@ -49,6 +49,8 @@ int main(void) {
|
|||
// TODO: 删除计划
|
||||
break;
|
||||
case 4:
|
||||
//TODO: 查找计划
|
||||
case 5:
|
||||
// TODO: 打开笔记本
|
||||
break;
|
||||
case 0:
|
||||
|
@ -64,5 +66,22 @@ int main(void) {
|
|||
break;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
void show_main_menu_message() {
|
||||
wprintf(L"请输入你的选项:\n");
|
||||
wprintf(L"1. 添加计划\n");
|
||||
wprintf(L"2. 修改计划\n");
|
||||
wprintf(L"3. 删除计划\n");
|
||||
wprintf(L"4. 查找计划\n");
|
||||
wprintf(L"5. 打开笔记本\n");
|
||||
wprintf(L"0. 保存并退出\n");
|
||||
set_console_text_color(RED);
|
||||
wprintf(L"-1. 退出但不保存\n");
|
||||
}
|
||||
|
||||
void TMP_show_plan() {
|
||||
set_console_text_color(BLUE);
|
||||
wprintf(L"TODO: 查看计划\n");
|
||||
restore_prev_color();
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
//
|
||||
// Created by JZYFC on 2021/12/3.
|
||||
//
|
||||
|
||||
#ifndef TEAMPROJECT_MENU_H
|
||||
#define TEAMPROJECT_MENU_H
|
||||
|
||||
void main_menu(void);
|
||||
|
||||
#endif //TEAMPROJECT_MENU_H
|
|
@ -0,0 +1,18 @@
|
|||
//
|
||||
// Created by JZYFC on 2021/12/9.
|
||||
//
|
||||
|
||||
#include "notebook.h"
|
||||
|
||||
|
||||
bool create_note_file(Path path) {
|
||||
|
||||
}
|
||||
|
||||
bool open_note(Path path) {
|
||||
FILE *file = NULL;
|
||||
char str[MAX_PATH_LENGTH];
|
||||
wcstombs(str, path.path, path.len);
|
||||
file = fopen(str, "r");
|
||||
return false;
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
//
|
||||
// Created by JZYFC on 2021/12/9.
|
||||
//
|
||||
|
||||
#ifndef TEAMPROJECT_NOTEBOOK_H
|
||||
#define TEAMPROJECT_NOTEBOOK_H
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#define MAX_PATH_LENGTH 50
|
||||
|
||||
typedef struct {
|
||||
wchar_t path[MAX_PATH_LENGTH];
|
||||
int len;
|
||||
} Path;
|
||||
|
||||
bool open_note(Path path);
|
||||
|
||||
#endif //TEAMPROJECT_NOTEBOOK_H
|
|
@ -0,0 +1,10 @@
|
|||
//
|
||||
// Created by JZYFC on 2021/12/3.
|
||||
//
|
||||
|
||||
#include "menu.h"
|
||||
|
||||
int main(void) {
|
||||
main_menu();
|
||||
return 0;
|
||||
}
|
|
@ -1 +1 @@
|
|||
<mxfile host="app.diagrams.net" modified="2021-11-16T00:51:12.369Z" agent="5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36 Edg/95.0.1020.53" etag="NntxRxNn8Cg5Lw7ixSM6" version="15.7.4" type="device"><diagram id="zXunpmKKEzgHT-PAXZBh" name="第 1 页">3Vptc9o4EP41mul9SMay8Is+2mDSzuVmOpfp9O5Tx8UKuDWIMU6A+/W3evG7IKTF0DQfiLxaSatnV6tnDYiMl7u7PF4v/uIJy5BtJTtEJsi2MbEx/BOSvZIQbCvBPE8TrVQLHtL/mBZaWvqUJmzTUiw4z4p03RbO+GrFZkVLFuc537bVHnnWXnUdz1lP8DCLs770c5oUCyX1ba+Wv2fpfFGujF2qepZxqax3slnECd82RCRCZJxzXqjWcjdmmQCvxEWNmx7orQzL2ao4ZcCn6O8P324YIdafX7Lp+3tvkq5uRmqW5zh70hvWxhb7EgGWACD6kefFgs/5Ks6iWhrm/GmVMLGMBU+1zj3naxBiEH5jRbHX3o2fCg6iRbHMdG9/K3p3G/6Uz9gR+7W5RZzPWXFEjyg9sZfGAhqoO8aXrMj3oJCzLC7S57bzYx1D80qvhhkaGulXoG73UY9c5IcomIoGdRDFk8l9zxVtoLeLtGAP61gCtIXjdyKozywv2O4oDLr3xtVhrg+vr0N5W58EXIb3onEKXGsg4Lw3Hq7kxHB1f6lw9d8kyOcDTw/9yFMwpToc2LJahwPTTtQrL+tRHRdUZvxEEnGu4RbwRr7/RzzcWtXzv2K+25Fjl4LJTq+gnvbNp48sT2HvLNfC4U8T9geJiCDP431DYS08vTkcMDcYmyNm+oMDoKFsOGtcEcPlNEKhj8IQRRQFGIX9yLv4zeR1kHFNVxO54NXkngKbuOUjFHgocpAPXS6KpigcIxog283AxPBrDq25aKHIR0EkBiplasuGjQJfNIIJon49XOtMZJcnuISQQFe1RChWDz1pD3QFKLBEA6YFNTVcSCiiYO2oMerQoqFuwEBFWkJLbnAizI7kQpTIrgj5o4YyFfIwkhvEcmbVRcvGWI6CqTyJYSiB8gU70sa7wshqlAE60HHkKDlcgCC3TKdiHh9WnxxF3kMBdI20C9S+6BiE74p4/sf1ox/qqFundQCI0z8AI2LgZlVldX5Wa6C1XaTmANX6dASqui7+Ws5gHUdm1E0MVh8XYuKstjUULuX100oNjcMArFqEvioAjoU1lmEIsekYckNPW6YLqs5XX/u8EXw8Hl6O6+s5xzbl7X6WhsZU5IEubrCxog3Opsj5dzbmGRcEZ8VXgnY9plnWEcVZOl/B4wxAFFwoFDClszgLdMcyTRLJ2UzeaPvrHCkFj16+UV2Da8hgnukXe3efPvy+HnB+MfzJG6utB2L5fVbudDxFKL2lzb/2jAOXgeSEdyIX5ye0jZB79RdHxHQHy+sxlJQZDPYblFAxd02iFfUGPhugcGpii33ye4jhNkm0I1h2KDkmMFNfLgGfIe3SYQr5aFN8SWSxKZtbxr6bDOkvK7kyUGGxWlTPLbZYUQlJbQUzbtgoGlZdS9hhm9BPGvr0nRABN4cbsmYckncHTlvi60k7s9f7JZIMYW2uZkWRxL9pXKS3JBh9ZBreL3QqmqVKMdpmYJ70vvSIaFTzyFECLE9sWIPlyuFqF9PWogCoIAtUNkYNJnft82jj9otclxiqBdOBxINVC4S+nLeGrha6r/AMNZTtmeioN1itYHj70kXlhXiJN2v1RdhjuhMxdipdrxzyKrp+aXwMX1jVmdQRpT2cyR5vybJ0vTnE5C6L3a6saNoc4jSyN9j9iB0DrjJjB/KqgBQn6iFPXF7igilvzMOZDZ+tjnw9uO1XI6ZXANSU60aDoWsuMg+W8hcozl8PKu4WKAZOh03JYLAKBRuo75XfefwArN2vkfqwOmdCFR7rnxuo+qP+0QaJ/gc=</diagram></mxfile>
|
||||
<mxfile host="app.diagrams.net" modified="2021-12-10T02:17:10.926Z" agent="5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.55 Safari/537.36 Edg/96.0.1054.43" etag="q86wDe_7__Wn-Uff6sh-" version="15.8.6" type="device"><diagram id="zXunpmKKEzgHT-PAXZBh" name="第 1 页">3Vptc9o4EP41mul9SMa28Is+2mDSzuVmOpfp9O5TxwUF3BrEGCfA/frblYRfBSEthqb5QOTVSlo9u1o9ayB0uNje5clq/peY8ow41nRL6Ig4jh14LvxDyU5JPNdTglmeTrVSJXhI/+NaaGnpUzrl64ZiIURWpKumcCKWSz4pGrIkz8WmqfYosuaqq2TGO4KHSZJ1pZ/TaTFX0sDxK/l7ns7m+5Vtj6meRbJX1jtZz5Op2NRENCZ0mAtRqNZiO+QZgrfHRY0bH+gtDcv5sjhlwKf47w/fbjil1p9fsvH7e3+ULm8GapbnJHvSG9bGFrs9AnwKgOhHkRdzMRPLJIsraZSLp+WU4zIWPFU690KsQGiD8Bsvip32bvJUCBDNi0Wme7tb0btbi6d8wo/Yr80tknzGiyN6VOnhXmoLaKDuuFjwIt+BQs6zpEifm85PdAzNSr0KZmhopF+ButNFPfZIEJFwjA3mEmaPRvcdVzSB3szTgj+sEgnQBo7fiaA+87zg26Mw6N4bT4e5PryBDuVNdRLsfXjPa6fAs3oCzn/j4UpPDFfvlwrX4E2CfD7w9NCPIgVTysNhW1bjcNisFfXKy3pUywWlGT+RRNxruAW8ke/+wYdbq3z+F+e7HbjOXjDa6hXU067+9JHnKeyd51rY/2myg14iIszzZFdTWKGn14cD5sa2zREz/sEB0FA2nDWuqOFyGpAoIFFEYkZCm0TdyLv4zeS3kPFMVxO94NXknQIb3vIxCX0SuySALo/EYxINCQuJ42VgYvQ1h9YMWyQOSBjjQKXMHNlwSBhgIxwRFlTDtc5IdvnIJVACXeUSEa4e+dIe6ApJaGEDpgU1NRwljDCwdlAbdWjRSDdgoCItkSU3OEKzY7kQo7IrJsGgpsxQHsVyg7acWXWxfWMoR8FUvsQwkkAFyI608R4aWY4yQAc6rhwlhyMIcstsjPMEsProKPI+CaFroF2g9sWGIHxXJLM/rh/9jtMkZtTthv+AGphZWVedn9MaSG0bpxkAtTp9/2VVl3zdz2Adx2XQTgtWFxdqYqyO1Rcu+8unkRhqRwE4NQa+ov/HgtqWQQiR6RoyQ0dbJgumTldX+7zxezweXo7q6znHMWXtbo6GxhizQBs32FjRBGdd5OI7H4pMIL1ZiiWSrsc0y1qiJEtnS3icAIjIhCKEKZ0kWag7Ful0KhmbyRtNf50jodiDl+9Tz+Aa2ptnuqXe3acPv68H3F8Mf/rGKuueOH6Xk7stT1HGbln9rzljz0UgPeGNyMXZCWsi5F39tRE13cHyeowkYQaDgxohVLxdU2hFvIHNhiQam7hil/oe4rd1Cu0ix44kwwReGsgl4DNibTLMIB+tiy9TWWrK5obz7yZDustKpgxEGFeLq7lxiyWVkMQWeXHNRmxYVSXhRE06P6rps3coAmYON2TFOCTrDt2mJNCTtmav9kslGbK1uZoVxRL/unGx3hLy+dg0vFvmlDRLFWKsycB86X3pEWyU88hRCJaPG9ZgeXK42sW4sSgAimSBycagxuSufR4du1kteNRQLZgOpN1btUDZy3mr72qh/QLPUEM5vomO+r3VCoZ3L21UXoiXZL1SX4M9pluMsVPpeumQV9H1S+Nj+LqqyqQuFvZwJju8JcvS1foQk7ssdtt9RdPkEKeRvd7uR9s14CozdiivCkhxWA/5eHnhBbO/MQ9nNvtsdeTrwXUb2JpeATBTrhv0hq65yDxYyl+gOH89qHa7QDFwOtuUDHqrUGwD9b3yO48fgLX9JVIXVvdMqMJj9WMDVX9UP9mg8f8=</diagram></mxfile>
|
Loading…
Reference in New Issue