게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
[본삭금] C언어 초보가 감히 ㅠㅠ 질문글을 아뢰어도 될까요?
게시물ID : programmer_12553짧은주소 복사하기
작성자 : 원주뿅가
추천 : 1
조회수 : 636회
댓글수 : 11개
등록시간 : 2015/08/04 23:06:42
옵션
  • 본인삭제금지
 
C언어 걸음마를 하고 있는 초보자입니다...
저의 상식선과 저의 생각은 맞는데 ㅠㅠ 컴파일러는 아니라고 빠꾸시킵니다 ㅠㅠ
제가 인터넷도 많이 뒤지고 생각도 정말 골똘히 했는데도 진전이 전혀 없어 이렇게 질문하게 되었습니다..ㅠㅠ
 
제가 하려고 하는 것은 0.1초에 한번씩 에일리언 노드를 5개씩 생성하고
0.3 초에 한번씩 에일리언 노드 1개씩 삭제하려고 하였으나
 
빨갛게 표시한 부분이 문제인듯 합니다만
도대체 무엇이 문제인건지 알수가 없습니다 ㅠㅠ
 
// sungtae001.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "stdio.h"
#include "windows.h"
#include "stdlib.h"
#include "time.h"
#include "conio.h"
typedef struct _node
{
 int key;
 struct _node *next;
}node;
node *head;
node *tail;
node *del_p;
node *print_p;
int alien = 0;
void head_add()
{
 node *t;
 t = (node*)malloc(sizeof(node));
 t->key = 1;
 head = t;
 tail = t;
}
void insert_nodes(int k)
{
 node *v;
 v = new node;
 tail->next = v;
 v->key = k;
 tail = v;
}
void del(int k)
{
 int a = k - 1;
 del_p = head->next;
 while (1)
 {
  if (del_p->key == k)
  {
   node *b;
   b = del_p->next;
   del_p->next = del_p->next->next;
   free(b);
   printf("에일리언 %d 가 죽었습니다. \n", k + 1);
   break;
  }
  del_p = del_p->next;
 }
}
void print()
{
 int temp = 0;
 print_p = head->next;
 temp = print_p->key;
 printf("추가 된 노드의 값은 %d 입니다. \n", temp);
 while (1)
 {
  if (print_p->next == NULL)
  {
   break;
  }
  print_p = print_p->next;
  temp = print_p->key;
  printf("추가 된 노드의 값은 %d 입니다. \n", temp);
 }
}

int main(void)
{
 srand((unsigned)time(0));
 int count = 0;
 int time = 0;
 head_add(); // 해드 선언
 while (1)
 {

  Sleep(50);
  time++;
  if (time % 2 == 0)
   {
    for (int i = 0; i < 5; i++)
    {
     alien++;
     insert_nodes(alien);
    }
    print();
   }
  if (time % 6 == 0)
   {
   
   // del(rand() % alien);

   }

 }
 printf("끝");
 return 0;
}
 
개판인 코드 봐주셔서 정말 죄송스럽습니다
출처 .
꼬릿말 보기
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호