c언어 소스설명좀 해주세요.

c언어 소스설명좀 해주세요.

작성일 2004.10.07댓글 1건
    게시물 수정 , 삭제는 로그인 필요

밑에 있는 C프로그램에 대해서 설명좀 해주세요.
발표수업을 해야하는데 제가 C는 완전 초보라서... 무슨 내용의 소스를 쓴건지 알수가 없어서 이렇게 도움을 부탁드립니다.
되도록이면 자세한 설명을 부탁드릴꼐요..

#include

int i=0;

struct member
{
char name[20];
char address[100];
char sex[10];
int age;
int number;
}a[5];

void insert();
void del();
void list();

void main()
{
int j, num;
for (j=0; j!=1; j)
{
printf("*****메뉴*****\n1.삽입2.삭제3.목록4.종료\n번호를 선택하세요:");
scanf("%d",&num);
if(num==4)
break;
else
{
switch(num)
{
case 1:
insert();
break;
case 2:
del();
break;
case 3:
list();

break;
}
}
}
}

void insert()
{
if(i==10)
printf("저장공간이 꽉 찼습니다.\n");
else
{
printf("\n이름을 입력하세요:");
scanf("%s",&a[i].name);
printf("주소를 입력하세요:");
scanf("%s",&a[i].address);
printf("성별을 입력하세요:");
scanf("%s",&a[i].sex);
printf("나이를 입력하세요:");
scanf("%d",&a[i].age);
printf("학번을 입력하세요:");
scanf("%d",&a[i].number);
i++;
printf("\n\n");
}
}

void del()
{
int j, delnum;
printf("지울 번호를 입력하시오.:");
scanf("%d",&delnum);

if(delnum>i)
{
printf("해당번호가 존재하지 않습니다.\n");
}
else
{
for(i=delnum; j {
a[j-i]=a[delnum];
delnum++;
}
i--;
}
}

void list()
{
int j;
printf("\n이 름 주 소 성별 나이 학번\n");
printf("************************************\n");
for(j=0; j {
printf("%s %s %s %d %d\n\n",a[j].name,a[j].address,a[j].sex,a[j].age,a[j].number);
}
}



profile_image 익명 작성일 -

우선 이프로그램은 이름과 학번 나이 주소 성별을 입력받아서 학생들을 관리 해주는겁니다 회원관리죠 삽입삭제 가 가능한




#include

int i=0; //i=0으로 초기화

struct member//member구조체선언
{
char name[20]; //이름배열선언(20 자까지입력할수있음)
char address[100];//주소배열선언(100 자까지 입력할수있음)
char sex[10]; //성별 배열선언(10자 까지 입력할수있음)
int age; //나이
int number; //학번
}a[5]; //member 형 변수선언 즉 5개를 선언한겁니다,,,배열의 갯수가 5니..

void insert(); //삽입
void del(); //삭제
void list(); //리스트

void main()
{
int j, num;
for (j=0; j!=1; j)
{
printf("*****메뉴*****\n1.삽입2.삭제3.목록4.종료\n번호를 선택하세요:");
scanf("%d",&num); //번호입력
if(num==4) //번호가 4이면
break; //멈춥니다
else //번호가 4가 아니면
{
switch(num)
{
case 1: //번호가 1이면
insert(); //삽입함수실행
break;
case 2: //번호가 2이면
del(); //삭제 함수실행
break;
case 3: //번호가 3이면
list(); //리스트함수 실행

break;
}
}
}
}

void insert() //삽입함수 정의
{
if(i==10) //i 가 10이면 즉 밑에보면 i 값을 하나씩 증가했잖아요,,,이거는 10 번만저장한다는애기
printf("저장공간이 꽉 찼습니다.\n");
else //i값이 10이아니면
{
printf("\n이름을 입력하세요:");
scanf("%s",&a[i].name); //a[0]에이름입력
printf("주소를 입력하세요:");
scanf("%s",&a[i].address);//a[0]에 주소입력
printf("성별을 입력하세요:");
scanf("%s",&a[i].sex); //a[0]에 성별입력
printf("나이를 입력하세요:");
scanf("%d",&a[i].age); //a[0]에 나이 입력
printf("학번을 입력하세요:");
scanf("%d",&a[i].number);//a[0]에학번을입력
i++; //i 값증가 이것은 a[...] 이문장에 영향을 미칩니다 ....안에 배열값을 바꿔주는 것입니다 첨에는 다 a[0] 이 었지만 이문장다음부터는 a[0]이 a[1]으로 다바꿔줘요,,,1증가시켰기때문에 a[1] 에서다시 이문장을 만나면 a[2] 로 바꿔져서 저장돼요
printf("\n\n"); //두번 줄바꿈 위아래줄간격을 두칸띄운다는애기
}
}

void del() //삭제함수 정의
{
int j, delnum;
printf("지울 번호를 입력하시오.:");
scanf("%d",&delnum);//지우고자하는 번호를 입력

if(delnum>i) //만약애 지우고자하는번호가 i 값보다 크면,,,이말은 무슨말이냐하면요 i 값은 10까지 밖에 올라갈수없는데 11 이상의값을 입력하면 해당번호가존재하지 않습니다 " 라는 문장을 출력합니다 밑에문장,,.,,
{
printf("해당번호가 존재하지 않습니다.\n");
}
else
{
for(i=delnum; j {
a[j-i]=a[delnum];//for 문이 이상해요ㅠㅠ
delnum++;
}
i--; //이것은 삭제시 한단게 앞오로 당겨주는 역할을 합니다,,,,예를 들어서 첫번째 두번쪠 새번째 문장이 있을때 두번째문장을 삭제하면 첫번째에 바로 세뻔째문장이 붙게 돼죠,,,이것을 구현하기 위해서 -1을 한겁니다,,,for 문이 약간이상해서,,분석하기가 애메하네요,,,근데,,느낌이 그렇습니다
}
}

void list() //리스트함수정의 이함수는 이름주소 성별 나이 학번 이라는 즉 입력을 받을수잇게 보여주는 함수입니다,,,님이 직접 프로그램 실행했을때 보이는부분(삽입이나 삭제 했을때 보여주겠죠,,,변동된 값을
{
int j;
printf("\n이 름 주 소 성별 나이 학번\n");
printf("************************************\n");
for(j=0; j {
printf("%s %s %s %d %d\n\n",a[j].name,a[j].address,a[j].sex,a[j].age,a[j].number);
}
}


분석을 하긴했는데요,,,문장이 잘려서나온거 같아요,,그래서,,100 % 정확한 분석은 안됐네요,,,이거 읽어보고,,님이 참조하세요

c언어 소스설명좀 해주세요.

밑에 있는 C프로그램에 대해서 설명좀 해주세요. 발표수업을 해야하는데 제가 C는 완전 초보라서... 무슨 내용의 소스를 쓴건지 알수가 없어서...

c언어 소스 설명좀 해주세요. [내공60]

소스파일이 ~~해서 ~~되는거라 설명을 해야하는데 도와주세요. 1. char *ABC[][10] (문자 배열앞에 *가 붙는게 어떤... 안녕하세요 C언어를 배우고 계신거 같군요. 저도 몇년째...

c언어 소스 설명 좀 해주세요.

... a+=10; } return 0; } 소스는 이해를 했는데 어떻게 설명해야 할지... 알기 쉽도록 설명 좀 달아주세요. // stdafx.h는 미리 컴파일을 해둘 헤더...

C언어에서 소스 설명좀 해주세요 if문

... 이 밑에 소스는 네이버 지식인에 어떤분의 소스에요 제가 굵은글씨 해놓은것 설명좀 부탁드려요 /* 년, 월의 말일을 계산하는 프로그램을 if문을...

c언어 소스 설명좀 해주세요 !!

... --n; } } return -1; } [/code] 이해가 가지 않는 부분이 스택을 사용하는 부분인데 주석을 이용해서 자세히 설명좀 부탁드립니다....

C언어 소스 설명좀 해주세요...

... 어째서 이렇게 나오는 건지 설명 좀 해주세요... 첫번째건 a에 10을 집어넣었는데 15<10<20은 안 되는 거니깐 0이 나와야 하는 거 아닌가요? 그리고...