main函数修改

This commit is contained in:
JZYFC 2021-12-10 11:04:01 +08:00
parent b16c1cf431
commit bbf3abcd5c
9 changed files with 110 additions and 24 deletions

View File

@ -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)

View File

@ -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);

View File

@ -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

View File

@ -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();
}

10
note_by_jzy/menu.h Normal file
View File

@ -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

18
note_by_jzy/notebook.c Normal file
View File

@ -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;
}

21
note_by_jzy/notebook.h Normal file
View File

@ -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

10
note_by_jzy/test.c Normal file
View File

@ -0,0 +1,10 @@
//
// Created by JZYFC on 2021/12/3.
//
#include "menu.h"
int main(void) {
main_menu();
return 0;
}

View File

@ -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>