정확히 7개 딱 맞췄는데 자꾸 많다네;;

+

#include <iostream>

using namespace std;

typedef struct NODE {

   int flag;
   char month[30];
   int a, b, c, d;
   char time [10];
   struct NODE *next;
}NODE;

NODE node_new(int flag, char *month, int a, int b, int c, int d, char *time);
NODE node_fin(NODE *node);
void node_add_back(NODE **node, NODE *new_birth);

int main() {

   NODE *head = NULL;

   node_add_back(&head, node_new( 1, "12월", 7, 10, 1, 2, "12" ));

}

NODE node_new(int flag, char *month, int a, int b, int c, int d, char *time) {

   NODE *new_node = new NODE;

   new_node->flag = flag;
   new_node->month[30] = month[30];
   new_node->a = a;
   new_node->b = b;
   new_node->c = c;
   new_node->d = d;
   new_node->time[10] = time[10];
   new_node->next = NULL;

   return (*new_node);
}

NODE node_fin(NODE *node) {

   int n = 0;

   while (node) {
      if (n == node->flag) {

         return (*node);
      }
      if (n > node->flag) {

         break;
      }
      if (n < node->flag) {

         n = node->flag;
      }

      node = node->next;
   }
   while (node) {
      if (node->flag == n) {

         break;
      }

      node = node->next;
   }

   return (*node);
}

void node_add_back(NODE **node, NODE *new_birth) {

   NODE *fin;
   fin = NULL;

   if (!(node) || !(new_birth)) {

      return;
   }
   if (*node == NULL) {

      *node = new_birth;
      new_birth->next = *node;

      return;
   }

   *fin = node_fin(*node);
   new_birth->next = *node;
   fin->next = new_birth;
}