LoginSignup
1
1

はじめに

僕が1時間かけて作ったプログラムです。
まずはお見せしようと思います。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define MAX_TASKS 100

typedef struct {
    char task[100];
    int completed;
} Task;

void displayTasks(Task tasks[], int count) {
    printf("========== ToDoリスト ==========\n");
    for (int i = 0; i < count; ++i) {
        printf("%d. [%s] %s\n", i + 1, tasks[i].completed ? "x" : " ", tasks[i].task);
    }
    printf("==============================\n");
}

void addTask(Task tasks[], int *count, const char *newTask) {
    if (*count < MAX_TASKS) {
        Task task;
        strcpy(task.task, newTask);
        task.completed = 0;
        tasks[*count] = task;
        (*count)++;
        printf("新しいタスクを追加しました。\n");
    } else {
        printf("ToDoリストが満杯です。\n");
    }
}

void completeTask(Task tasks[], int count, int taskNumber) {
    if (taskNumber >= 1 && taskNumber <= count) {
        tasks[taskNumber - 1].completed = 1;
        printf("タスクを完了しました。\n");
    } else {
        printf("無効なタスク番号です。\n");
    }
}

int main() {
    Task tasks[MAX_TASKS];
    int taskCount = 0;

    while (1) {
        displayTasks(tasks, taskCount);

        printf("\n1. タスクを追加する\n");
        printf("2. タスクを完了する\n");
        printf("3. 終了する\n");

        int choice;
        printf("選択してください: ");
        scanf("%d", &choice);

        switch (choice) {
            case 1:
                printf("新しいタスクを入力してください: ");
                char newTask[100];
                scanf(" %[^\n]", newTask);
                addTask(tasks, &taskCount, newTask);
                break;
            case 2:
                printf("完了したいタスクの番号を入力してください: ");
                int taskNumber;
                scanf("%d", &taskNumber);
                completeTask(tasks, taskCount, taskNumber);
                break;
            case 3:
                printf("プログラムを終了します。\n");
                exit(0);
            default:
                printf("無効な選択です。\n");
        }
    }

    return 0;
}

まぁこれがプログラムですね.

またなにか作ってほしければなんか言ってね・・・

できるだけ作るから。今後また編集していこうと思います。宜しくお願いします。

1
1
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1