# "conio.h" 포함
# "string.h" 포함
# "stdlib.h" 포함
Voidlook (); /* 보기 함수 선언 */
Voidsave (); /* 저장 함수 선언 */
Void 검색 이름 (); /* 이름별로 함수 보기 선언 */
Voidsearch _ number (); /* 학번별로 함수를 볼 것을 선언합니다 */
Void 주문 (); /* 정렬 함수 선언 */
Voiddel (); /* 함수 삭제 선언 */
Intopenl (); /* 오픈 함수 선언 */
Voidwelcome (); /* 내 개인 정보 기능 신고 */
Void 유형 (); /* 입력 함수 선언 */
Voidsee (); /* 파일 열기 및 보기 함수 선언 */
Structure student/* 학생 정보의 구조 유형 정의 */
{
문자 번호 [15]; /* 학생 ID */
차 이름 [20]; /* 이름 */
Charsex [4]; /* 성별 */
Int 영어 /* 영어 성적 */
Int 수학 /* 수학 성적 */
Int 중국어 /* 언어 성적 */
부동 aver/* 평균 성적 */
부동 합계 /* 총점 */
} stu [100];
Int n;; /* 글로벌 변수 선언 */
Void main() /* 주요 기능은 사용자의 운영 인터페이스 */
{
시스템 ("color1e"); /* 디자인 텍스트 색상 */
Int b, flag = 0;; /* 로컬 변수 선언 */
While( 1) /* 다음 정보를 반복합니다 */
{
Printf(" \ n \ t \ t \ t 학생 성적 관리 시스템에 오신 것을 환영합니다! \ n ");
Printf ("\ n \ t \ t \ t # # making \ n");
Printf ("\ t \ t \ t-\ n");
Printf("\t\t\t 1. 학생 정보 입력 \ n \ n "); /* 학생 정보 입력 */
Printf("\t\t\t2. 입력한 학생 정보 보기 \ n \ n "); /* 입력한 학생 정보 보기 */
Printf("\t\t\t3. 이름으로 학생 정보 보기 \ n \ n "); /* 이름별 학생 정보 보기 */
Printf("\t\t\t4. 학번별로 학생 정보 보기 \ n \ n "); /* 학번별로 학생 정보 보기 */
Printf("\t\t\t5. 평균 점수별로 정렬 \ n \ n "); /* 정렬 */
Printf("\t\t\t6. 학생 정보 삭제 \ n \ n”);; /* 학생 정보 삭제 */
Printf("\t\t\t7. 학생 정보 저장 \ n \ n "); /* 저장 */
Printf("\t\t\t8. 파일 열기 \ n \ n "); /* 파일 열기 */
Printf("\t\t\t9. 내 개인 정보 \ n \ n”);; /* 내 개인 정보 */
Printf("\t\t\t0. 종료 \ n \ n "); /* 종료 */
Printf(" \ t \ t \ t 선택 사항을 입력하십시오. ");
Scanf("%d ",& ampb);
스위치 (b)
{
케이스1:유형 (); 깨뜨리다 /* 학생 정보 입력 기능 호출 */
사례 2: look (); 깨뜨리다 /* 보기 함수 호출 */
사례 3: search _ name (); 깨뜨리다 /* 이름 보기 함수 호출 */
사례 4: search _ number (); 깨뜨리다 /* 학번 조회 기능 호출 */
사례 5: 주문 (); 깨뜨리다 /* 호출 정렬 기능 */
사례 6: del (); 깨뜨리다 /* 삭제 함수 호출 */
사례 7: 저장 (); 깨뜨리다 /* 저장 함수 호출 */
사례 8: 참조 (); 깨뜨리다 /* 파일 열기 함수 호출 */
사례 9: 환영 (); 깨뜨리다 /* 내 개인 정보 기능 호출 */
사례 0: flag =1; 깨뜨리다 /* 스위치 문 종료 */
기본값: printf ("Error! " );
}
(로고) 가 끊어지면 /* 0 을 선택하면 루프가 종료됩니다 */
}
}
Void welcome() /* 내 개인 정보 기능 */
{
시스템 ("cls");
Printf ("\ n \ n \ t \ t-"); /* 화면에 정보 출력 */
Printf ("\ n \ n \ n \ n \ t \ t name: # # #");
Printf(" \ t \ t \ tSex:# \ n "); ");
Printf(" \ t \ tAge:# \ n "); ");
Printf ("\ n \ t \ t-n \ n \ n");
Printf(" \ t \ t 초등학교: # # # # # # \ n \ n ");
Printf(" \ t \ t 고급 중학교: # # # # \ n \ n ");
Printf("\t\tS 고등학교: # # # # # # \ n \ n ");
Printf(" \ t \ t 대학: # # # # # # \ n \ n ");
Printf(" \ n \ n \ t \ t 아무 키나 누르면 시작 화면으로 돌아갑니다! "" );
Getch (); /* 아무 키나 눌러 주 기능으로 돌아가기 */
}
Void type() /* 학생 정보 입력 기능 정의 */
{
시스템 ("cls");
Int I;; /* 로컬 변수 정의 */
Printf(" \ t \ tout 입력할 학생 정보 번호 입력: ");
Scanf("%d ",& ampn);
For(I = 0;; 나 & ltn;; I++) /* 각 학생에 대한 정보 입력 */
{
Printf ("\ n \ t \ t \ t-\ n");
Printf ("\ t \ t 학번: ");
Scanf("%s ",& ampstu [나]. Num); /* 학번 입력 */
Printf ("\ t \ t \ tname:");
Scanf("%s ",& ampstu [나]. 이름); /* 이름 입력 */
Printf ("\ t \ t \ t gender:");
Scanf("%S ",& ampstu [나]. 성); /* 성별 입력 */
Printf ("\ t \ t 영어: ");
Scanf("%d ",& ampstu [나]. 영어); /* 영어 성적 입력 */
Printf ("\ t \ t \ t math:");
Scanf("%d ",& ampstu [나]. 수학); /* 수학 성적 입력 */
Printf(" \ t \ t \ t 언어: ");
Scanf("%d ",& ampstu [나]. 중국어); /* 언어 점수 입력 */
스튜 [나]. Aver=((float)stu[i]. English+(float)stu[i]. 수학+(float) stu [I]. 언어)/3; /* 평균 점수 계산 */
스튜 [나]. Sum=(float)stu[i] 입니다. English+(float)stu[i]. 수학+(float) stu [I]. 중국어; /* 총점 계산 */
Printf(" \ t \ t \ t 평균 수준 =%4. 1f\n ",stu[i]. Aver); /* 출력 평균 */
Printf(" \ t \ t \ t 총점 =%4. 1f\n ",stu[i]. 합계); /* 총 출력 점수 */
}
Printf(" \ n \ n \ t \ t \ t 아무 키나 눌러 메뉴로 돌아가십시오! ! " );
Getch ();
저장 ();
}
Void save() /* 파일 저장 함수 만들기 */
{
시스템 ("cls");
파일 * FP/* 정의 파일 포인터 */
Int I;;
If ((FP = fopen ("student.txt ","WB ")= = null)/* 출력 파일 열기 */
{
Printf ("파일을 열 수 없습니다! \ n ");
반환; /* 프로그램 종료 */
}
For(I = 0;; 나 & ltn;; I++) /* 학생 파일에 정보 쓰기 */
If (fwrite (& Stu[i], sizeof (구조학생), 1, FP)! = 1)
Printf ("파일 쓰기 오류 \ n");
Fclose (FP); /* 파일 닫기 */
Printf(" \ n \ n \ n \ n \ t \ t 학생 정보가 성공적으로 저장되었습니다! \ n ");
Printf(" \ n \ n \ n \ n \ t \ t 아무 키나 눌러 메뉴로 돌아가십시오! ! " );
Getch ();
}
Void look() /* 뷰 함수 정의 */
{
시스템 ("cls");
Int I;;
//n = openl (); /* openl 함수 호출 */
Printf ("\ t student id \ tname \ t gender \ t English \ t math \ t Chinese \ t average \ t total \ n
For(I = 0;; 나 & ltn;; I++) /* 모든 학생 정보 출력 */
{
Printf ("%10s \ t% s \ t% 2s \ t% d \ t% d \ t% d \ t% 3./klls Num, stu[i]. 이름,
스튜 [나]. 섹스, 스튜 [나]. 영어, 스튜 [나]. 수학, 스튜 [나]. 국어, 스튜 [나]. 아비, 스튜 [나]. 합계);
}
Printf(" \ n \ n \ n \ t \ t 아무 키나 눌러 메뉴로 돌아가기 ");
Getch ();
}
Void search_name() /* 이름별로 함수 보기 */
{
시스템 ("cls");
Int I;;
차 이름 [20]; /* 문자 배열 선언 */
Printf(" \ t \ t \ t 학생 이름을 입력하십시오. \ n ");
Scanf("%s ",이름);
Printf ("\ t student id \ tname \ t gender \ t English \ t math \ t Chinese \ t average \ t total \ n
For(I = 0;; 나 & ltn;; I++)
If (strcmp (stu [I].name, name) = = 0)/* 입력한 이름을 구조의 이름과 비교 */
{
Printf ("%10s \ t% s \ t% 2s \ t% d \ t% d \ t% d \ t% 3./klls Num, stu[i]. 이름,
스튜 [나]. 섹스, 스튜 [나]. 영어, 스튜 [나]. 수학, 스튜 [나]. 국어, 스튜 [나]. 아비, 스튜 [나]. 합계);
Printf(" \ n \ n \ n \ t \ t 아무 키나 눌러 메뉴로 돌아가기 ");
}
Getch ();
}
Void search_number() /* 학번별로 볼 함수 정의 */
{
시스템 ("cls");
Int I;;
문자 번호 [15]; /* 문자 배열 선언 */
Printf(" \ t \ t \ t 학번 입력: \ n ");
Scanf("%s ",숫자);
Printf ("\ t student id \ tname \ t gender \ t English \ t math \ t Chinese \ t average \ t total \ n
For(I = 0;; 나 & ltn;; I++)
If (strcmp (stu [I].num, number) = = 0)/* 입력된 학생 번호를 구조의 학생 번호와 비교 */
Printf ("%10s \ t% s \ t% 2s \ t% d \ t% d \ t% d \ t% 3./klls Num, stu[i]. 이름,
스튜 [나]. 섹스, 스튜 [나]. 영어, 스튜 [나]. 수학, 스튜 [나]. 국어, 스튜 [나]. 아비, 스튜 [나]. 합계);
Printf(" \ n \ n \ n \ t \ t 아무 키나 눌러 메뉴로 돌아가기 ");
Getch ();
}
Voideorder ()/* 정렬 함수 정의 */
{
시스템 ("cls");
Int I, j;
Char a;;
구조 학생 온도; /* 구조 변수 선언 */
Printf ("\ t student id \ tname \ t gender \ t English \ t math \ t Chinese \ t average \ t total \ n
For(I = 0;; 나 & ltn;; I++) /* 데이터 정렬 */
{
For (j = I+1; J & ltn;; J++)
만약 (스튜 [나]. Sum< 스투 [j]. 합계)
{
Temp = stu [I];
Stu [I] = stu [j];
Stu [j] = temp;
}
Printf ("%10s \ t% s \ t% 2s \ t% d \ t% d \ t% d \ t% 3./klls Num, stu[i]. 이름,
스튜 [나]. 섹스, 스튜 [나]. 영어, 스튜 [나]. 수학, 스튜 [나]. 국어, 스튜 [나]. 아비, 스튜 [나]. 합계);
}
Getch ();
Printf ("저장하시겠습니까? (y 또는 n)"); ");
Getchar ();
Scanf("%c ",& AMPA);
If(a=='y') /* 정렬된 파일 저장 */
저장 ();
기타
Printf ("exit");
Getch ();
}
Void del() /* 학생 정보 삭제 기능 정의 */
{
Int I;;
Char a;;
차 이름 [20];
시스템 ("cls");
Printf(" \ t \ t \ t 학생 이름 입력: \ n ");
Scanf("%s ",이름);
시스템 ("cls");
Printf ("\ t student id \ tname \ t gender \ t English \ t math \ t Chinese \ t average \ t total \ n
For(I = 0;; 나 & ltn;; I++)
If(strcmp(stu[i].name, name)==0)
{
Printf ("%10s \ t% s \ t% 2s \ t% d \ t% d \ t% d \ t% 3./klls Num, stu[i]. 이름,
스튜 [나]. 섹스, 스튜 [나]. 영어, 스튜 [나]. 수학, 스튜 [나]. 국어, 스튜 [나]. 아비, 스튜 [나]. 합계);
Getch ();
Printf ("정말 삭제하시겠습니까? (y 또는 n)"); ");
Getchar ();
Scanf("%c ",& AMPA);
If(a=='y') /* 이 정보를 삭제하시겠습니까 */
{
For (; 나 & ltn;; I++)
Stu [I] = stu [I+1];
N = n-1;
Printf ("정보를 삭제했습니다");
}
기타
Printf ("exit");
Getch ();
}
저장 ();
}
Int openl() /* 파일을 여는 함수 정의 */
{
시스템 ("cls");
Int I;;
FILE * FP
If((fp=fopen("student.txt ","Rb ")= = NULL)
{
Printf ("파일을 열 수 없습니다. \ n ");
종료 (0);
}
For(I = 0;; ! Feof (FP); I++)
프레드 (& ampstu[i], sizeof(struct student), 1, FP);
Fclose (FP);
반환 (I-1);
}
Void see() /* 파일 열기 및 보기 */
{
시스템 ("cls");
Int I;;
N = openl ();
Printf ("파일이 성공적으로 열렸습니다! \ n ");
Printf ("보려면 아무 키나 누르십시오! \ n ");
Getch ();
Printf ("\ t student id \ tname \ t gender \ t English \ t math \ t Chinese \ t average \ t total \ n
For(I = 0;; 나 & ltn;; I++) /* 모든 학생 정보 출력 */
{
Printf ("%10s \ t% s \ t% 2s \ t% d \ t% d \ t% d \ t% 3./klls Num, stu[i]. 이름,
스튜 [나]. 섹스, 스튜 [나]. 영어, 스튜 [나]. 수학, 스튜 [나]. 국어, 스튜 [나]. 아비, 스튜 [나]. 합계);
}
Printf(" \ n \ n \ n \ t \ t 아무 키나 눌러 메뉴로 돌아가기 ");
Getch ();