*사*
Bronze개인
팔로워0 팔로우
소개
등록된 소개글이 없습니다.
전문분야 등록된 전문분야가 없습니다.
판매자 정보
학교정보
입력된 정보가 없습니다.
직장정보
입력된 정보가 없습니다.
자격증
  • 입력된 정보가 없습니다.
판매지수
전체자료 1
검색어 입력폼
  • [자료구조]해싱을 이용한 성적관리 프로그램
    문제 서술 : 정렬과 탐색, 해싱 기법을 활용하여 학생 성적표를 관리하는 프로그램을 구현해결방법 및 프로그래밍 환경학생의 성적입력을 받는 부분은 파일 입.출력을 이용해서 record.txt 파일에서 성적을 읽어왔습니다. 일단 임시 배열에 모든 데이터를 저장한 후에 학번의 키 값에 따라 각각의 배열에 저장했습니다. 저장한 성적으로부터 총점과 평균을 구해서 배열을 저장했습니다.해싱함수로는 제산함수를 이용했습니다. 학번을 해싱테이블 크기로 나눠서 키 값을 구했습니다. 그리고 선형탐색법을 이용해서 오버플로처리를 하였습니다.탐색은 전체 성적출력의 경우 학생 수 보다 해싱테이블이 커지면 어디에 저장되어 있는지 알 필요성이 있어서 키 값을 key_save란 배열에 저장해두어 출력시에 키 값의 배열만 출력하도록 했습니다.개인 성적출력의 경우는 일단 학번을 입력하면 그 학번의 키 값을 얻어와서 그 키 값의 배열만 출력하게 했습니다.정렬은 기본 알고리즘은 버블정렬을 이용했고, 학번,중간,기말,과제,충점에 따라서 정렬이 가능하게 했는데, 각각의 키 값이 있어 그 키 값을 입력하면 키에 따라 내림차순으로 정렬됩니다. 올림차순은 성적관리에서 굳이 필요할것 같지 않아 구현하지 않았습니다.학점을 입력하는 부분은 일단 프로그램을 시작하면 기본 학점비율이 설정되게 했습니다.학점은 상대평가를 기준으로 하기 때문에 일단 총점에 따른 석차를 기록하였습니다.석차가 기록이 되면 입력되어 있는 학점 비율에 따라 학생수에 곱을 해주어 몇 %까지 무슨 학점이 되도록 했습니다. 일단 모든 학생에게 F학점을 기록하고 그 다음 퍼센티지까지 D학점, 그 다음까지 C학점.....이렇게 학점을 기록했고 , 오류방지를 위해 상위학점은 하위학점보다 더 높은 비율로 설정할 수 없도록 하였습니다.전체 성적의 통계를 내는 부분은 단순히 모든 성적을 더하고 학생수로 나누어서 평균을 내는 방법을 이용했습니다. 이 부분은 소수점이 필요해서 float형 배열을 선언하였습니다.프로그래밍은 비쥬얼 스튜디오 6.0을 이용하였습니다..실행방법최초 실행을 하면 해싱테이블과 메뉴가 나옵니다. 개인성적보기를 하면 학번 입력이 나오는데 저장되어 있는 학번을 입력하면 그 학번의 성적이 나오게 됩니다.전체성적보기를 하면 정렬 기준을 정할 수 있는데 각각의 번호를 고르면 거기에 맞게 정렬이 되어서 모든 데이터가 출력됩니다.성적통계보기를 하면 각각의 시험,레포트에 따른 총점과 평균이 출력됩니다.학점비율변경은 일단 메뉴에 지금 설정되어 있는 학점의 비율이 표시되고 비율을 변경하면 갱신해서 표시되게 됩니다. 학점 입력시 20%내면 20 이라고 입력을 하면 됩니다.학점입력시 주의사항으로 하위학점은 상위학점보다 더 낮은 비율로 설정할 수 없고 제대로 입력할 때까지 계속 입력을 받게 됩니다.해싱테이블 보기를 하면 지금 해싱테이블에 저장되어 있는 학번이 출력됩니다.#include #include #include #define MAXNSTUDENT 20//학생수#define NLEN 20//이름길이#define NTEST 7//성적의 종류#define TABLE_SIZE 17//해싱테이블크기int hash_table[TABLE_SIZE];//해싱테이블char name[MAXNSTUDENT][NLEN];//이름int test[MAXNSTUDENT][NTEST];//성적char name1[MAXNSTUDENT][NLEN];//이름 임시저장int test1[MAXNSTUDENT][NTEST];//성적 임시저장float AllRecord[6];char grade[MAXNSTUDENT];//학점int key_save[TABLE_SIZE];//해싱키값 저장double a=15,b=40,c=80,d=90;//학점 비율int hash(int value)//해싱펑션함수(제산함수){int i=0;i = value % TABLE_SIZE;//학번을 해싱테이블 크기로 나눔return i;}void hash_display()//해싱테이블 표시 함수{int k = 0, m=0;for(m=0;m
    프로그램소스| 2005.12.20| 8페이지| 1,000원| 조회(611)
    미리보기
전체보기
해캠 AI 챗봇과 대화하기
챗봇으로 간편하게 상담해보세요.
2026년 05월 20일 수요일
AI 챗봇
안녕하세요. 해피캠퍼스 AI 챗봇입니다. 무엇이 궁금하신가요?
8:55 오전
문서 초안을 생성해주는 EasyAI
안녕하세요 해피캠퍼스의 20년의 운영 노하우를 이용하여 당신만의 초안을 만들어주는 EasyAI 입니다.
저는 아래와 같이 작업을 도와드립니다.
- 주제만 입력하면 AI가 방대한 정보를 재가공하여, 최적의 목차와 내용을 자동으로 만들어 드립니다.
- 장문의 콘텐츠를 쉽고 빠르게 작성해 드립니다.
- 스토어에서 무료 이용권를 계정별로 1회 발급 받을 수 있습니다. 지금 바로 체험해 보세요!
이런 주제들을 입력해 보세요.
- 유아에게 적합한 문학작품의 기준과 특성
- 한국인의 가치관 중에서 정신적 가치관을 이루는 것들을 문화적 문법으로 정리하고, 현대한국사회에서 일어나는 사건과 사고를 비교하여 자신의 의견으로 기술하세요
- 작별인사 독후감