정말급합니다 도와주세요ㅠㅠ컴파일이 안되요
모은
질문 제목 :정말급합니다 도와주세요ㅠㅠ컴파일이 안되요
컴파일을 하면 계속 아래 사진과 같이 뜹니다.질문 내용 :]
왜이러는건가요ㅠㅜㅜ도무지 원인을 모르겠네요
어떤분이 코드도 올려주셔야 한다고 해서 코드도 같이 첨부합니다
-----------------------------------------------------------------------------
#includestdio.h
#includestdlib.h
#includestring.h//#define null 0;// 학생의 데이터를 구조체로 표현
typedef struct student{
char name[10];
int classnumber;
int phonenumber;
int birth;
char grade;
int sex;
}student;// 이중연결리스트의 몸체
typedef struct node{
struct student data;
struct node *llink; // 앞쪽 링크 포인터
struct node *rlink; // 위쪽 링크 포인터
}node;
// head node
// - init_list 함수에서 초기화 함
// - 빈 리스트일 때에는 g_head_node-llink == g_head_node-rlink == g_head_node
// - 리스트에 데이터가 있을 때에는 g_head_node-rlink가 첫번째 노드
// - 전체 리스트 탐색 방법
// for(p = g_head_node-rlink; p!=g_head_node; p=p-rlink)
// !!! 삭제는 메뉴에 없어서 테스트 안해봄. 알아서 고치셈node* g_head_node = null;void insert_node(node *before, node *new_node);
void remove_node(node *head_node, node *removed);void init_list();
void showmenu();
void input_data();
void search_data();
void show_all_data();
void show_one_data(node *show);//학생 수를 카운트하기 위한 전역변수
int man=0;
int woman=0;
int countstudent=0;/// before 뒤에 newnode를 삽입
void insert_node(node *before, node *newnode)
{
newnode-llink = before;
newnode-rlink = before-rlink;
before-rlink-llink = newnode;
before-rlink = newnode;
}/// removed node를 제거함
void remove_node(node *head_node, node *removed)
{
//삭제할 노드가 존재하지 않는 상황
if(removed==head_node)
return ; removed-llink-rlink=removed-rlink;
removed-rlink-llink=removed-llink;
free(removed);
}// 연결리스트의 시작을 구현하기 위한 함수
void init_list()
{
g_head_node = (node*)malloc(sizeof(node));
g_head_node-llink = g_head_node-rlink = g_head_node;
}void showmenu()
{
printf(\n학생 관리 프로그램\n);
printf(====================\n);
printf(현재 등록된 학생수 : %d\n, countstudent);
printf( 남학생 : %d\n, man);
printf( 여학생 : %d\n, woman);
printf(====================\n); printf(1. 학생 정보 입력 / 수정 \n);
printf(2. 학생 검색 \n);
printf(3. 학생 정보 조회 \n);
printf(4. 종료 \n);
printf( 선택 : );
}void input_data()
{
int choice; node *newstudent=(node*)malloc(sizeof(node));
printf(======================================================\n);
printf(0.전체삭제 1.입력/수정 2.삭제 3.종료 \n);
printf(======================================================\n);
printf( 선택 : );
scanf(%d, &choice);
printf(\n이름 : );
scanf(%s, &newstudent-data.name);
printf(\n학번 : );
scanf(%d, &newstudent-data.classnumber);
printf(\n핸드폰 : );
scanf(%d, &newstudent-data.phonenumber);
printf(\n생년월일 : );
scanf(%d, &newstudent-data.birth);
printf(\n학점 : );
getchar();
scanf(%c, &newstudent-data.grade);
printf(\n성별남:1,여:2 : );
scanf(%d, &newstudent-data.sex);
countstudent++;
if(newstudent-data.sex==1)
man++;
else
woman++;
insert_node(g_head_node, newstudent);
}void search_data()
{
int choice;
int val;
char string[10];
char grade;
struct node* p = null; printf(======================================================\n);
printf(1.이름검색 2.학점검색 3.생일검색 4.학번검색 5.검색종료\n);
printf(======================================================\n\n);
printf(메뉴를 선택하세요 : );
scanf(%d, &choice); // 검색 조건 입력
switch(choice){
// 검색중 이름으로 검색을 할 떄
case 1:
printf(\n이름검색);
printf(\n검색할 이름을 입력해주세요. : );
scanf(%s, &string);
break;
case 2:
printf(\n학점검색);
printf(\n검색할 학점을 입력해주세요. : );
scanf(c, &grade);
break;
case 3:
printf(\n생일검색);
printf(\n검색할 생년월일을 입력해주세요. : );
scanf(%d, &val);
break;
case 4:
printf(\n학번검색);
printf(\n검색할 학번을 입력해주세요. : );
scanf(%d, &val);
break;
case 5:
return ;
} for(p = g_head_node-rlink; p!=g_head_node; p=p-rlink)
{
switch(choice){
// 검색중 이름으로 검색을 할 떄
case 1:
if(strcmp(string, p-data.name)==0){
show_one_data(p);
return ;
}
break;
// 학점으로 검색할때
case 2:
if(grade==p-data.grade){
show_one_data(p);
return ;
}
break;
// 생년월일로 검색할때
case 3:
if(val==p-data.birth){
show_one_data(p);
return ;
}
break;
// 학번으로 검색할때
case 4:
if(val==p-data.classnumber){
show_one_data(p);
return ;
}
break;
// 검색 종료
case 5:
return ;
}
}
printf(자료가 존재하지 않습니다.);
}void show_all_data()
{
struct node* page_head = g_head_node-rlink;
struct node* p = null;
int a=0;
int choice;
printf(======================================================\n);
printf( 이름 학번 연락처 생년월일 성적 성별\n);
printf(======================================================\n\n); for( ; ; ) {
a = 0;
for(p = page_head ; p!=g_head_node && a 5; p=p-rlink, a++) {
show_one_data(p);
printf(\n);
}
printf(===================================================\n);
printf(1.종료 2.검색 3.다음페이지 4.이전페이지 \n);
printf(선택 : );
scanf(%d, &choice);
if(choice==1)
return;
else if(choice==2){
search_data();
break;
}
else if(choice==3)
/*
다음페이지 넘어가는 인터페이스 구현
*/
break;
else
/*
이전페이지 넘어가는 인터페이스 구현
*/ break;
} }
void show_one_data(node *show)
{
if(show==null)
{
// 모든 데이터를 출력할 때 데이터가 없는 줄에는 이렇게 공란을 출력
printf(------ --------------- --------------- -----------------\n);
return ;
} printf(%s %d %d %d %c ,
show-data.name, show-data.classnumber, show-data.phonenumber,
show-data.birth, show-data.grade);
if(show-data.sex==1)
printf(남);
else
printf(여);
}
int main(void)
{
int choice;
init_list(); while(1)
{
showmenu();
scanf(%d, &choice); switch(choice){
case 1:
input_data();
a();
break;
case 2:
search_data();
break;
case 3:
show_all_data();
break;
case 4:
printf(프로그램을 종료합니다.);
return 0;
}
}
}
-
팬지
제 컴퓨터의 문제점을 발견했습니다.
crrl + n 으로 cpp파일을 만들었는데요. 무슨 이유인지는 모르지만 cpp파일이 소스파일에 들어가지 않는 현상이 발견되더군요. -
난길
음 저역시 같은 문제로 고민하다가 얼떨결에 되기는 했습니다... 지금 2012년 익스프레스 윕 데스크톱 버젼 쓰고요
1. 일단 콘솔로 프로젝트를 만드시고
2. 파일을 만들때 수정을 하지 말아보세요. 즉 cpp파일임을 정하고 빈화면을 고르지 마시고 그대로 마침을 눌러주세요.
3. #include\stdafx.h\가 맨위에 있을텐데요. 그걸 무시하고 다음줄부터 원하시는 프로그램을 작성하시면 됩니다.
본인의 컴퓨터와 다를수 있음은 알아주세요. -
앨버트
혹시 컴퓨터자체에서 속성이나 그런곳에들어가서 뭔가를수정햇다면 그게문제일꺼에요.
코드에는문제가없는것같은데
다른c++프로그램을 한번써보세요. dev-c++같은거요
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2695355 | c언어 for함수 | 미쿡 | 2025-05-19 |
2695327 | 안녕하세요 제가 이번에 좀 큰 프로그램을.. | 악당 | 2025-05-19 |
2695295 | mutex동기화의 thread기반 채팅 서버소스 질문입니다 | 그루터기 | 2025-05-19 |
2695270 | 질문이요..swap 관한겁니다..ㅠㅠ (3) | 콩알녀 | 2025-05-19 |
2695244 | 노땅초보궁금한게 하나 있는데요..반복문(while문)초보자질문 (6) | 큰꽃늘 | 2025-05-18 |
2695166 | do while 문 어떤것이잘못된건지 모르겠어요 (2) | 아이폰 | 2025-05-18 |
2695122 | 구조체에 대해 물어보고 싶은게 있습니다 ^^^.. (7) | 수련 | 2025-05-17 |
2695091 | txt 파일 입출력 후 2차 배열에 저장하기입니다. (3) | 헛장사 | 2025-05-17 |
2695063 | 수도요금 프로그램좀 짜주세요. | 시내 | 2025-05-17 |
2695033 | 답변좀요ㅠㅠ (1) | 비사벌 | 2025-05-16 |
2695010 | C++의 STL은 왜 굳이 템플릿화 시켜서 라이브러리를 만드나요? (초보수준의 질문..) (2) | 엘보어 | 2025-05-16 |
2694958 | 로직이 변한다는 것에 대해서 궁금합니다. | 튼동 | 2025-05-16 |
2694929 | 열혈강의 25-2 두번째 문제 질문 | 지우개 | 2025-05-15 |
2694900 | dequeue 에서 리턴값 프린트 방법알려주세요 오늘 12시까지 대화방에 있습니다 도와주세요 | 미투리 | 2025-05-15 |
2694854 | 절대값을 구할때 (2) | 그녀는귀여웠다 | 2025-05-15 |
2694827 | 이제 어떻게 공부해야할지 모르겠네요 | 새얀 | 2025-05-14 |
2694778 | 순열 계산요. | 맛조이 | 2025-05-14 |
2694754 | ShowWindow 함수를 이용하려 하는데 질문있습니다. (2) | 파도 | 2025-05-14 |
2694731 | 리눅스 커널의 시작점 질문 | 미르 | 2025-05-13 |
2694702 | 이거 뭐가문제인가요 코드수정좀 (3) | 맑은 | 2025-05-13 |