*지*
Bronze개인인증
팔로워0 팔로우
소개
등록된 소개글이 없습니다.
전문분야 등록된 전문분야가 없습니다.
판매자 정보
학교정보
입력된 정보가 없습니다.
직장정보
입력된 정보가 없습니다.
자격증
  • 입력된 정보가 없습니다.
판매지수
전체자료 35
검색어 입력폼
  • 자바(SWING과 AWT)로 만든 스택 계산기 (사칙연산 및 비트연산까지 모두 지원)
    본 프로그램은 GUI 기반으로 실행되는 자바 스택 계산기이며, 아래의 조건을 만족하고 있습니다.---------------------------------------------------------------------------------------------개발하는 계산기 프로그램은 다음과 같은 기능들을 제공할 수 있어야 한다.- 사칙연산, 나머지연산, 비트 연산(AND,OR,NOT,XOR)- 다수의 연산자와 피연산자로 구성된 계산식을 처리할 수 있엉 하며, 해당 계산식을처리할 때 연산자 우선순위에 따라 계산을 수행해야 한다.(괄호포함)-계산기의 외형은 JAVA의스윙이나 AWT를 이용하여 구현하여야 하며 계산식은 키보드로부터 입력받을 수 있어야 한다.-계산기프로그램에서 입력된 계산식의 연산시 Stack을 사용해야 한다.-계산기 프로그램의 부동 소수점 연산은 JAVA에서 제공하는 배정밀도에 따른다.------------------------------------------------------------------------------------------------정확하게 위에 쓰여진 조건들만 만족하며, 개발기간이 짧아 계산 과정에서 미처 예외처리가 안된 부분이 있을 수 있습니다.솔루션을 요청하신 분께서 제시한 조건(추가옵션)은 상당히 많고 복잡하여 개발기간이 상당히 요구되므로 부득이하게 기본기능만 만족시키도록 작성하였습니다.이클립스 프로젝트를 통째로 압축하였으며, 이클립스에서 불러오시려면, 압축을 풀어서 나오는 폴더명을 포함한 경로를 workspace의 경로로 지정해주시면 손쉽게 프로젝트를 확인/빌드하실수 있습니다.(File > Switch Workspace 사용)Calc/src -> 소스파일 2개가 위치함. 직접 프로젝트를 만들고 추가하여 빌드하여도 무방.Calc/bin-> 컴파일된 바이너리 파일이 위치. 명령창에서 직접 실행해볼 수도 있음.기본적으로 UI버튼이 제공되며, 입력창에 직접 키보드를 통한 입력도 가능합니다.덧셈뺄셈 및 곱셉 나눗셈, 나머지셈 과 비트연산(AND,OR,NOT,XOR)과 괄호 연산 모두를 지원합니다.비트 연산과 나머지 연산의 경우, 정수 연산만 지원합니다.정수 범위는 50자가 아닌, 자바 컴파일러가 기본적으로 지원하는 int형의 기본범위까지만 지원됩니다.(구현시간 부족)이 계산기의 핵심 원리는 자료구조 중 스택을 사용하는 것입니다.시간이 넉넉히 있었다면 다 구현해보고 싶은 생각이 있는데 다소 아쉽네요. 자바 공부하시는 분들은 도움 되시기 바랍니다.
    프로그램소스| 2012.06.13| 6,900원| 조회(1,091)
    미리보기
  • C언어로 만든 성적 관리 프로그램(입문자 수준의 코딩. 배열만 사용하였음, 여러 과목 입력 기능 추가)
    #include #include #include #include #include #define MAX_NAME_LENGTH 16 // 이름의 최대 길이(1바이트 알파벳 기준)#define MAX_MEMBERS 100 // 멤버의 최대 수#define MAX_SUBJECT 5 // 과목 수#define MAX_SUBJECT_NAME_LEN 32 // 과목명의 최대 길이#define NOUSE_INDEX -1 // 사용되지 않는 인덱스란 의미#define FINAL_INDEX MAX_MEMBERS-1 // 마지막 인덱스typedef struct {int unique_index; // 배열에서 이 구조체가 몇번째 항목인지 알려주는 식별용 인덱스char name[MAX_NAME_LENGTH+1] ; // 이름int score[MAX_SUBJECT]; // 점수} MEMBER_INFO;char g_subject[MAX_SUBJECT][MAX_SUBJECT_NAME_LEN] = {"국어","수학","영어","물리","사회"}; // 과목명 초기화MEMBER_INFO g_arrayMember[MAX_MEMBERS]; // 멤버정보 배열int g_memberCount; // 현재 가입된 사용자 수void ManagerMenu(); // 메인 메뉴void ExitProgram(); // 종료void ClearScreen(); // 화면 클리어void Initialize(); // 초기화int AddMember(); // 멤버 등록int RemoveMember(int nIndex); // 멤버 삭제int EditMemberInfo(int nIndex); // 멤버 정보 수정int SearchMember(); // ID로 멤버의 배열 인덱스 얻어옴int IsExistName(char* pName);void ShowAllMember(); // 모든 멤버 정보를 출력int GetMsg(char* pMsg); // 키보드로부터 문자열 입력받음void InputName(MEMBER_INFO* pInfo); // 이름 입력void InputScore(MEMBER_INFO* pInfo); // 점수 입력int GetUnusedIndex(); // 현재 저장공간(배열)에서 미사용중인 인덱스를 리턴int ReadMemberData(); // 파일에 저장int WriteMemberData(); // 파일에서 로드void SortByName(); // 이름으로 정렬void SortByScore(); // 점수로 정렬int TotalSum(int nIndex); // 인덱스에 해당하는 멤버의 총점을 구함// 종료 처리void ExitProgram(){ClearScreen(); // 화면을 지우고printf(" 이용해주셔서 감사합니다! n"); // 메세지 찍은 후getchar();exit(0); // 프로그램을 즉시 종료 처리}// 화면을 지우는 함수void ClearScreen(){system("cls"); //-> 윈도우 기반일때//system("clear"); //->리눅스 기반일때}void Initialize(){int i;g_memberCount = 0; // 멤버수 0으로 초기화for(i = 0; i MAX_NAME_LENGTH){printf(" -> 이름이 너무 깁니다 (한글 최대 8자, 영문 16자).n");continue;}strcpy(pInfo->name, temp); // 이름 저장break;}}void InputScore(MEMBER_INFO* pInfo){char temp[256];int i;for(i=0 ; i< MAX_SUBJECT ; i++){while(1) // 이름 입력{printf(" %s 점수를 입력해주세요 :", g_subject[i]);if(!GetMsg(temp)) // temp를 파라메터로 키보드 입력 함수 호출continue;if(atoi(temp) < 0 || atoi(temp)>100) // 정수로 변환한 temp가 적정한 범위에 들어있는지{printf(" -> 점수 범위가 잘못되었습니다 (0 ~ 100).n");continue;}pInfo->score[i] = atoi(temp); // 점수 저장break;}}}int GetUnusedIndex(){int i;for(i=0 ; i
    프로그램소스| 2012.06.12| 3,900원| 조회(961)
    미리보기
  • C언어로 짠 주소록 관리 프로그램(파일저장기능, 기초에충실한 코딩, 주석 상세)
    #include #include #include #include #define MAX_NAME_LENGTH 16 // 이름의 최대 길이(1바이트 알파벳 기준)#define MAX_PHONE_NUM_LENGTH 16 // 전화 번호의 최대 길이#define MAX_ADDRESS_LENGTH 120 // 주소의 최대 길이#define MAX_MEMBERS 100 // 멤버의 최대 수#define NOUSE_INDEX -1 // 사용되지 않는 인덱스란 의미typedef struct {int unique_index; // 배열에서 이 구조체가 몇번째 항목인지 알려주는 식별용 인덱스char name[MAX_NAME_LENGTH+1] ; // 이름char phone_number[MAX_PHONE_NUM_LENGTH+1]; // 전화번호char address[MAX_ADDRESS_LENGTH+1]; // 주소} MEMBER_INFO;MEMBER_INFO g_arrayMember[MAX_MEMBERS]; // 멤버정보 배열int g_memberCount; // 현재 가입된 사용자 수void ManagerMenu(); // 메인 메뉴void ExitProgram(); // 종료void ClearScreen(); // 화면 클리어void Initialize(); // 초기화int AddMember(); // 멤버(회원 등록)int RemoveMember(int nIndex); // 멤버 삭제int EditMemberInfo(int nIndex); // 멤버 정보 수정int SearchMember(); // ID로 멤버의 배열 인덱스 얻어옴void ShowAllMember(); // 모든 멤버 정보를 출력int GetMsg(char* pMsg); // 문자열 입력받음int IsExistName(char* pID); // 존재하는 이름인가int IsValidPhoneNumber(char* pMsg, int length); // 유효한 전화번호 양식인가void InputAddress(MEMBER_INFO* pInfo); // 키보드로부터 입력받은 주소를 구조체에 저장void InputName(MEMBER_INFO* pInfo); // 키보드로부터 입력받은 이름을 구조체에 저장void InputPhoneNumber(MEMBER_INFO* pInfo); // 키보드로부터 입력받은 전화번호를 구조체에 저장int GetUnusedIndex(); // 현재 미사용중인 구조체의 인덱스를 리턴int ReadMemberData(); // 파일에 저장int WriteMemberData(); // 파일에서 로드// 종료 처리void ExitProgram(){ClearScreen(); // 화면을 지우고printf(" 이용해주셔서 감사합니다! n"); // 메세지 찍은 후getchar();exit(0); // 프로그램을 즉시 종료 처리}// 화면을 지우는 함수void ClearScreen(){system("cls"); //-> 윈도우 기반일때//system("clear"); //->리눅스 기반일때}void Initialize(){int i;MEMBER_INFO *pInfo;g_memberCount = 0; // 멤버수 0으로 초기화for(i = 0; i MAX_NAME_LENGTH){printf(" -> 이름이 너무 깁니다 (한글 최대 8자, 영문 16자).n");continue;}if(IsExistName(temp)>=0){printf(" -> 이미 존재하는 이름입니다.n");continue;}strcpy(pInfo->name, temp);break;}}void InputPhoneNumber(MEMBER_INFO* pInfo){char temp[256];while(1){printf(" 전화번호 :");if(!GetMsg(temp))continue;if(!IsValidPhoneNumber(temp, strlen(temp))){printf(" -> 전화번호가 양식에 맞지않습니다! 숫자와 하이픈만 입력해주세요.n");continue;}strcpy(pInfo->phone_number, temp);break;}}int GetUnusedIndex(){int i;for(i=0 ; i=0) // 존재하면 인덱스가 0이상이므로EditMemberInfo(nMemberIndex); // 멤버 정보 수정하는 함수를 호출}break;case 3:{int nMemberIndex;nMemberIndex = SearchMember(); // 멤버의 인덱스를 먼저 구하는 함수if(nMemberIndex>=0) // 존재하면 인덱스가 0이상이므로RemoveMember(nMemberIndex); // 멤버 정보를 삭제하는 함수를 호출}break;case 4:{int nMemberIndex;nMemberIndex = SearchMember();if(nMemberIndex>=0){ShowMember(nMemberIndex); // 검색된 멤버의 정보를 출력while(1){printf("(1)수정n(2)삭제n(3)취소n");printf("->원하는 기능을 선택하세요:");GetMsg(temp2);j = atoi(temp2);if(j==1){EditMemberInfo(nMemberIndex); // 멤버 정보 수정하는 함수를 호출break;}else if(j==2){RemoveMember(nMemberIndex); // 멤버 정보를 삭제하는 함수를 호출break;}else if(j==3)break;}}}break;case 5:{ShowAllMember(); // 모든 멤버(회원)의 정보를 출력}break;}}// 파일 헤더 구조체. 파일에 몇명의 멤버 정보가 들었는지 알려주는 역할을 한다.typedef struct{char szDesc[64];int nVersion;int nCount;} FILE_HEADER;#define HEADER_TITLE "MemberInfomationList" // 파일명 지정#define HEADER_VERSION 10 // 버젼 명시 (사실상 무의미)int WriteMemberData(){FILE* f;FILE_HEADER header;int i;f = fopen("memberdata.dat", "wb"); // 파일을 쓰기 및 이진 모드로 열고if(f == 0){printf(" can't file create n");return 0;}else{strcpy(header.szDesc, HEADER_TITLE); // 헤더 타이틀header.nVersion = HEADER_VERSION; // 버젼header.nCount = g_memberCount; // 회원 수fwrite(&header, sizeof(FILE_HEADER), 1, f); // 위에서 만든 헤더를 먼저 기록하고for(i=0 ; i
    프로그램소스| 2012.06.12| 3,900원| 조회(1,076)
    미리보기
  • C언어로 성적관리프로그램 (초심자 수준의 코딩. 파일저장 기능 없음. 주석 상세)
    #include #include #include #include typedef struct student_score // 구조체 정의{int id;int score[6];char name[100];double ave;} STUDENT_SCORE;#define MAX_STUDENT 100 //최대 저장 학생 수int Input();int Print();int PrintAll();int SortID();int SortAve();int Search_ID();int IsUsed();STUDENT_SCORE info[MAX_STUDENT]; // 구조체 배열 선언int main(){int i;char temp[256];for(i=0 ; iname,pInfo->score[0],pInfo->score[1],pInfo->score[2],pInfo->score[3],pInfo->score[4],pInfo->score[5],pInfo->ave);return 1;}return 0;}int Search_ID(){int i, id;char temp[256];printf("nn");printf(" ->Input ID:");id = atoi(gets(temp)); // id를 입력 받음for(i=0 ; i
    프로그램소스| 2012.06.05| 3,900원| 조회(654)
    미리보기
  • C언어로 구현한 다익스트라 알고리즘 - (복잡한 자료구조 없이 배열로 최대한 쉽고 짧게 작성, 주석상세)
    #include #include #define N 8 // 노드의 수#define M 9999 // 무한대(MAXIMUM)의 의미int matrix[N][N] = { // 입력 데이터{ 0, 2,-1,-1,-1, 3,-1,-1},{ 2, 0, 1, 4,-1,-1,-1,-1},{-1, 1, 0,-1, 3,-1,-1,-1},{-1, 4,-1, 0, 3,-1, 2,-1},{-1,-1, 3, 3, 0,-1,-1, 4},{ 3,-1,-1,-1,-1, 0, 6,-1},{-1,-1,-1, 2,-1, 6, 0, 4},{-1,-1,-1,-1, 4,-1, 4, 0}};int main(){char temp[16]; // 그냥 시작 노드를 입력받기 위한 키보드 입력용 버퍼int start, cur; // 각각 시작 노드 번호, 현재 처리중인 노드 번호를 저장할 변수int i,j; // 반복문(for)을 돌리기 위한 변수int min; // 현재 처리중인 최소값을 저장하기 위한 변수int cost[N]; // (시작점에서) 각 노드로의 비용을 저장하기 위한 배열변수int solution[N]; // 확정이 된 (계산이 끝난) 노드인지 표시하는 기능// 우선 입력된 데이터중 -1을 처리하기 편하도록 충분히 큰 정수로 변환한다.for(i=0 ; i
    프로그램소스| 2012.06.05| 2,000원| 조회(810)
    미리보기
전체보기
받은후기 3
3개 리뷰 평점
  • A+최고예요
    3
  • A좋아요
    0
  • B괜찮아요
    0
  • C아쉬워요
    0
  • D별로예요
    0
전체보기
해캠 AI 챗봇과 대화하기
챗봇으로 간편하게 상담해보세요.
2026년 05월 23일 토요일
AI 챗봇
안녕하세요. 해피캠퍼스 AI 챗봇입니다. 무엇이 궁금하신가요?
7:38 오후
문서 초안을 생성해주는 EasyAI
안녕하세요 해피캠퍼스의 20년의 운영 노하우를 이용하여 당신만의 초안을 만들어주는 EasyAI 입니다.
저는 아래와 같이 작업을 도와드립니다.
- 주제만 입력하면 AI가 방대한 정보를 재가공하여, 최적의 목차와 내용을 자동으로 만들어 드립니다.
- 장문의 콘텐츠를 쉽고 빠르게 작성해 드립니다.
- 스토어에서 무료 이용권를 계정별로 1회 발급 받을 수 있습니다. 지금 바로 체험해 보세요!
이런 주제들을 입력해 보세요.
- 유아에게 적합한 문학작품의 기준과 특성
- 한국인의 가치관 중에서 정신적 가치관을 이루는 것들을 문화적 문법으로 정리하고, 현대한국사회에서 일어나는 사건과 사고를 비교하여 자신의 의견으로 기술하세요
- 작별인사 독후감