출석부 만들기!!
본 자료는 6페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
해당 자료는 6페이지 까지만 미리보기를 제공합니다.
6페이지 이후부터 다운로드 후 확인할 수 있습니다.

목차

1. 문제정의

2. 문제분석

3. Design

4. 결과화면

5. 결론 및 소감

6. Source

7. 예제 결과 화면

본문내용

nu(student *member){
int sel=0;
do { // 검색 메뉴 화면 출력
printf("=========Searching Menu=========\n");
printf("1.Searching for name\n");
printf("2.Searching for Student Number\n");
printf("3.Searching for Phon Number\n");
printf("4.Previous Menu\n");
printf("================================\n");
printf("select menu : ");
scanf("%d", &sel); // 검색 메뉴 선택 번호 입력 받는다
switch(sel){
case 1:
loadInfo(member, sel); // 1~3번 선택 시 loadInfo함수 호출
break;
case 2:
loadInfo(member, sel);
break;
case 3:
loadInfo(member, sel);
break;
case 4:
break;
default :
printf("open your eyes !! \n");
break;
}
}while(sel!=4); // 4번 선택 시 종료
}
void inputInfo(student *p){
if(p->next==NULL){ // p가 가리키는 구조체의 next 포인터가 NULL값이면 현재 가리키는 p의 구조체에 학생정보를 입력 받는다
printf("name : ");
scanf("%s", p->name);
printf("student number : ");
scanf("%s", p->stu_num);
printf("Phon number : ");
scanf("%s", p->cell_num);
}
else{ // NULL이 아니면
while(p->next!=NULL) // p가 가리키는 구조체의 next포인터가 NULL일때까지 포인터 p가 현재 가리키고 있는 다음의 구조체를 가리킨다.
p = p->next;
p->next = (student*)malloc(sizeof(student)); // student구조체 크기만큼 메모리를 할당받아 p가 가리키고 있는 구조체의 next포인터에 주소 값을 넣는다.
p = p->next; // 다시 포인터 p가 마지막 구조체를 가리키게 한다.
// 현재 포인터 p가 가리키는 구조체 공간에 학생정보를 입력 받는다.
printf("name : ");
scanf("%s", p->name);
printf("student number : ");
scanf("%s", p->stu_num);
printf("Phon number : ");
scanf("%s", p->cell_num);
}
saveInfo(p); // 현재 입력한 정보를 파일에 저장 하도록 saveInfo함수 호출
}
void saveInfo(student *p){
FILE *fp; // 파일포인터 fp선언
char str[50];
char *s;
fp = fopen("students.txt","a"); // 파일을 덧붙여쓰기 위한 형태로 students.txt 파일을 연다
// fp가 가리키는 파일에 p가 가리키는 구조체의 내용을 붙여넣는다
fputs(p->name, fp);
fputs(" ",fp);
fputs(p->stu_num, fp);
fputs(" ",fp);
fputs(p->cell_num, fp);
fputs("\n",fp);
fclose(fp);
}
void loadInfo(student *p, int sel){
FILE *fp; // 파일포인터 fp선언
int s;
char find[20];
char name[20];
char stu_num[20];
char cell_num[20];
int fo=0; // 찾았는지 확인해주는 fo를 선언하고 0으로 초기화
printf("Search : ");
scanf("%s",find); // 찾고자하는 검색어를 find에 입력 받는다
fp=fopen("students.txt","r"); // students.txt 를 읽기전용으로 연다
while(s=fscanf(fp, "%s %s %s", &name, &stu_num, &cell_num) != EOF) {
// fp가 가리키는 파일의 내용을 1행씩 읽어 name, stu_num, cell_num 변수에 각각 받는다.
switch(sel){
case 1: // sel이 1일 경우 이름에서 검색
if((strstr(name, find))!=NULL) // 검색어와 일치하는지 확인
fo=1; // 찾았는지 확인 해주는 변수 fo에 1을 대입
break;
case 2: // sel이 2일 경우 학번에서 검색
if((strstr(stu_num, find))!=NULL)
fo=1;
break;
case 3: // sel이 2일 경우 연락처에서 검색
if((strstr(cell_num, find))!=NULL)
fo=1;
break;
}
if(fo==1){ // 찾았으면 현재 읽어들인 파일 내용을 출력
printf("name : %s\n", name);
printf("student number : %s\n", stu_num);
printf("Phone number : %s\n", cell_num);
break; // while문을 빠져 나간다
}
}
if(fo==0) // 파일 전체를 검색하였는데도 못 찾았으면
printf("Not Found!"); // 찾지 못 했다고 출력
fclose(fp);
}
void printInfo(){
FILE *fp;
char *s;
char str[100];
int i=1;
fp=fopen("students.txt","r"); // students.txt 파일을 읽기전용으로 연다
while((s=fgets(str, 100, fp))) { // fp가 가리키는 파일의 끝까지 100바이트 크기만큼 str에 읽어 들이면서 while문을 돈다.
printf("%d.student : %s", i, str); // i번째 학생의 학생정보를 출력
i++;
}
fclose(fp);
}
예제1
예제2
예제3
예제4
예제 5
예제6

키워드

  • 가격2,000
  • 페이지수19페이지
  • 등록일2011.04.28
  • 저작시기2010.10
  • 파일형식한글(hwp)
  • 자료번호#672678
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니