주석처리 도움을 받고 싶습니다.
딥공감
질문 제목 :주석 도움을 좀 받을 수 있을까요?질문 요약 :소스코드 주석 분석질문 내용 : 소스코드를 받았습니다 그런데 학습했던 부분이 아니라서 그냥 공부용으로 받은거였는데
책에서 어느 부분에서 나오는지도 전혀 감히 잡히지 않습니다. 주석 표기를 해서 어느부분을 어떻게
공부 하면 되는것인지 좀 알고싶어서 이렇게 질문 글을 남겼습니다.========== 소스코드 ==========#include stdio.h
#include stdlib.h
#include conio.h
#include string.hvoid plus();
void modify();
void Delete();
void print();
void ohoh();
void input();
struct EMP{
int hak;
char name[20];
int age;
char addr[50];
struct EMP *next;
}*ptr,*head,*tail,*prev,*x;int Q; main()
{
head = tail = NULL;
while(1){
system(cls);
printf(1. 항목 추가\n);
printf(2. 항목 수정\n);
printf(3. 항목 삭제\n);
printf(4. 현황\n);
printf(5. 검색\n);
printf(6. 6월 18일 추가한것 input\n);
printf(7. 종료\n);
printf(◐◐◐◐원하시는 작업선택 ============▶ );
scanf(%d,&Q);
fflush(stdin);
switch(Q){
case 1 : system(cls);
plus();
break;
case 2 : modify();
break;
case 3 : Delete();
break;
case 4 : print();
break;
case 5 : ohoh();
break;
case 6 : input();
break;
case 7 : return;
break;
}
}
getch();
}
////////////////추가//////////////////
void plus()
{
while(1){ ptr=(struct EMP*)malloc(sizeof(struct EMP));
if(ptr==NULL){
printf(할당오류!);
exit(1);
}
printf(학번 : (0을 누르면 종료합니다));
scanf(%d,&ptr-hak);
fflush(stdin);
if(ptr-hak==0){
break;
} printf(이름 : (end을 누르면 종료합니다));
gets(ptr-name);
printf(나이 : );
scanf(%d,&ptr-age);
fflush(stdin); printf(주소 : );
gets(ptr-addr);
ptr-next=NULL;
printf(입력이 완료되었습니다.\n);
if(head==NULL){ //1번째
head=tail=ptr;
}else { //그다음꺼부터
prev=tail;
tail-next=ptr;
tail=ptr;
}
}
printf(입력을 종료합니다);
free(ptr);
}
////////////////수정//////////////////
void modify()
{
int hak,num,found;
printf(수정할 학번 입력);
scanf(%d,&num);
found=1;
ptr=head;
//num=0;
while(ptr){
if(ptr-hak == num){
printf(나이 : );
scanf(%d,&ptr-age);
fflush(stdin);
printf(주소 : );
gets(ptr-addr);
ptr=ptr-next;
printf(수정완료!);
} found=0;
ptr=ptr-next;
}//while
if(found==1){
printf(없는 학번);
}
}
////////////////삭제 p472//////////////////
void Delete()
{
int found,hak; printf(삭제할 학번을 입력하세요);
scanf(%d,&hak);
fflush(stdin);
found=1;
ptr=head; while(ptr){
if(hak==ptr-hak){
if(ptr==head){
head=ptr-next;
}else if(ptr==tail){
prev-next=NULL;
tail=prev;
}else{
prev-next=ptr-next;
}
found=0;
free(ptr);
break;
} prev=ptr;
ptr=ptr-next;
printf(삭제 완료되었습니다);
}//while 끝
if(found==1){
printf(not found!!\n);
}
ptr=head; getch();
}
////////////////출력//////////////////
void print()
)
{
ptr=head;
printf( 학번 이름 나이 주소\n);
while(ptr){
printf(%7d %7s %7d %7s\n,ptr-hak,ptr-name,ptr-age,ptr-addr);
ptr=ptr-next;
}
getch();
}
/////////////검색 p468//////////////////
void ohoh()
{
//char s_name[20];
int found,hak; ptr=head;
printf(검색할 학번을 입력하세요);
scanf(%d,&hak);
found=1;
ptr=head;
while(ptr){
if(hak==ptr-hak){
printf(%7d %7s %7d %7s\n,ptr-hak,ptr-name,ptr-age,ptr-addr);
found=0;
}
ptr=ptr-next;
}
if(found==1){
printf(not found);
}
}////////////////입력2/////////////////////
void input()
{
while(1){ ptr=(struct EMP*)malloc(sizeof(struct EMP));
if(ptr==NULL){
printf(할당오류!);
exit(1);
}
printf(학번 : (0을 누르면 종료합니다));
scanf(%d,&ptr-hak);
fflush(stdin);
if(ptr-hak==0){
break;
} printf(이름 : );
gets(ptr-name); printf(나이 : );
scanf(%d,&ptr-age);
fflush(stdin); printf(주소 : );
gets(ptr-addr);
ptr-next=NULL;
if(head==NULL){
head=ptr;
}else{
x=head; //--------------------중복검사------------------//
while(x){ if(x-hak == ptr-hak ){
printf(중복입니다.\n);
free(ptr);
}else if (x-hak ptr-hak){
prev=x;
x=x-next;
}else{
break;
}
}//while
if(head==x){
ptr-next=x;
head=ptr;
}else if(x==NULL){
prev-next=ptr;
}else{
prev-next=ptr;
ptr-next=x;
}
}
}//while
free(ptr);
}