정말급합니다 도와주세요ㅠㅠ컴파일이 안되요
모은
질문 제목 :정말급합니다 도와주세요ㅠㅠ컴파일이 안되요
컴파일을 하면 계속 아래 사진과 같이 뜹니다.질문 내용 :]
왜이러는건가요ㅠㅜㅜ도무지 원인을 모르겠네요
어떤분이 코드도 올려주셔야 한다고 해서 코드도 같이 첨부합니다
-----------------------------------------------------------------------------
#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++같은거요
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2676182 | 숫자 순서대로 배열하는법 | 권뉴 | 2024-11-24 |
2676152 | 기본적인거 하나 질문드립니다. | 개미 | 2024-11-24 |
2676124 | 함수선언관련 질문이에요~...털썩..수정완료 (2) | 가지 | 2024-11-24 |
2676092 | C언어 책 (2) | 아서 | 2024-11-24 |
2676065 | 웹사이트 또는 메신저 등에서 원하는 텍스트를 검사하는방법?? (1) | 모든 | 2024-11-23 |
2676033 | 배열 기초연습중 발생하는 에러 ㅠㅜ... | Creative | 2024-11-23 |
2676005 | keybd_event 게임 제어 | 영글 | 2024-11-23 |
2675900 | 진짜기본적인질문 | 글길 | 2024-11-22 |
2675845 | 수정좀해주세요ㅠㅠㅠ | 해골 | 2024-11-21 |
2675797 | 병합 정렬 소스 코드 질문입니다. (2) | 도래솔 | 2024-11-21 |
2675771 | 큐의 활용이 정확히 어떻게 되죠?? | 해긴 | 2024-11-21 |
2675745 | 도서관리 프로그램 질문이요 | 도리도리 | 2024-11-20 |
2675717 | 2진수로 변환하는것! (3) | 동생몬 | 2024-11-20 |
2675599 | for문 짝수 출력하는 법 (5) | 널위해 | 2024-11-19 |
2675575 | Linux 게시판이 없어서.. | 첫삥 | 2024-11-19 |
2675545 | 구조체 이용할 때 함수에 자료 넘겨주는 것은 어떻게 해야 하나요? | 아연 | 2024-11-19 |
2675518 | 사각형 가로로 어떻게 반복해서 만드는지좀.. 내용 | 신당 | 2024-11-18 |
2675491 | !느낌표를 입력하는것은 어떻게합니까~~?ㅠㅠ (5) | 사지타리우스 | 2024-11-18 |
2675411 | 파일입출력으로 받아온 파일의 중복문자열을 제거한 뒤 파일출력 | 앨버트 | 2024-11-17 |
2675385 | 링크드리스트 주소록 질문드립니다. (1) | 겨루 | 2024-11-17 |