• 전문가 요청 쿠폰 이벤트
*희*
Bronze개인
팔로워0 팔로우
소개
등록된 소개글이 없습니다.
전문분야 등록된 전문분야가 없습니다.
판매자 정보
학교정보
입력된 정보가 없습니다.
직장정보
입력된 정보가 없습니다.
자격증
  • 입력된 정보가 없습니다.
판매지수
전체자료 2
검색어 입력폼
  • c 간단한 전화번호부 프로그램 링크 리스트 사용
    #include#include#include#define NULL 0#define NODE struct data_listNODE //노드 구조체의 선언{char *name;char *address;char *tel;NODE *next; //자기 참조 구조로 링크를 걸기 위해 사용};//함수의 원형NODE *create(NODE *cp, char *cname, char *caddress, char *ctel);int input(char*iname, char *iaddress, char *itel);char *save(char *data);void display(NODE *pp);NODE *search(NODE *sp, char *sname);NODE *modify(NODE *mp, char *mname);NODE *del(NODE *dp, char *dname);int main(void){NODE *head;char name[15], address[20], tel[10];char temp_name[15];int sel;int i;head=NULL;for(i=0;sel!=6;i++){printf("nn전화 번호부 |Menu|");printf("n|1.전화번호 저장|n|2.전화번호 출력|n|3.전화번호 찾기|n|4.전화번호 수정|n|5.전화번호 삭제|n|6.전화번호부 종료|n");printf("원하시는 것을 선택 하세요 : ");scanf("%d", &sel);switch(sel){case 1:input(name, address, tel);head=create(head, name, address, tel);break;case 2:display(head);break;case 3:printf("n찾고자 하는 사람의 이름 : ");scanf("%s", temp_name);search(head, temp_name);break;case 4:printf("n수정하고자 하는 사람의 이름 : ");scanf("%s", temp_name);modify(head, temp_name);break;case 5:printf("n지우고자 하는 사람의 이름 : ");scanf("%s", temp_name);head=del(head, temp_name);break;default: //입력을 잘못하였을 경우 다시 루프if(sel!=6) //6을 선택 하였을 경우 종료 되기에 출력 안함!printf("n잘못입력 하셧습니다!(1~6중에서 선택하여 주십시오!)n");break;}}return 0;}//노드를 생성하는 함수의 구현NODE *create(NODE *cp, char *cname, char *caddress, char *ctel){int cmp;if(cp==NULL){cp=(NODE*)malloc(sizeof(NODE));cp->name=save(cname);cp->address=save(caddress);cp->tel=save(ctel);cp->next=NULL;}else if((cmp=strcmp(cname, cp->name))==0){printf("n입력하신 자료는 다음과 같이 이미 존재하는 자료입니다.n");printf("Name =%-15s Address=%-20s Tel=%-10sn", cp->name,cp->address, cp->tel);}elsecp->next=create(cp->next, cname, caddress, ctel);return cp;}//임시 배열에 정보를 입력받는 함수의 구현int input(char *iname, char *iaddress, char *itel){fflush(stdin);printf("n다음을 입력해 주세요.n");printf("name : ");gets(iname);printf("Address : ");gets(iaddress);printf("Telephone : ");gets(itel);return 1;}//데이터를 저장하고 그 데이터를 가리키는 포인터를 리턴해 주는 함수char *save(char *data){char *pt;if((pt=malloc(strlen(data)+1))!=NULL)strcpy(pt, data);return pt;}//화면에 출력해주는 함수의 구현void display(NODE *pp){if(pp!=NULL){printf("이름 : %st 주소 : %st 전화번호 : %sn", pp->name,pp->address, pp->tel);display(pp->next);}}//데이터 검색 함수의 구현 - 이름을 통해서 검색NODE *search(NODE *sp, char *sname){int cmp;if((cmp=strcmp(sname, sp->name))==0)printf("이름 : %st 주소 : %st 전화번호 : %st", sp->name, sp->address, sp->tel);else{if(sp->next!=NULL)sp->next=search(sp->next, sname);elseprintf("n찾으시는 자료가 없습니다n");}return sp;}//데이터 수정함수의 구현NODE *modify(NODE *mp, char *mname){char maddress[20], mtel[10];int cmp;if((cmp=strcmp(mname, mp->name)==0)){fflush(stdin);printf("address : ");gets(maddress);printf("tel : ");gets(mtel);strcpy(mp->name, mname);strcpy(mp->address, maddress);strcpy(mp->tel, mtel);}else{if(mp->next!=NULL)mp->next=modify(mp->next, mname);elseprintf("n찾으시는 자료가 없습니다n");}return mp;}//데이터 삭제 함수의 구현NODE *del(NODE *dp, char *dname){int cmp;
    프로그램소스| 2008.11.03| 1,000원| 조회(474)
    미리보기
  • 간단한 공학 계산기 C++
    #include #include #include #include #include #define QSIZE 100 // 원형큐 크기#define MAX_SIZE 100 // 스택 크기using namespace std;// ctostr함수에 사용되는 임시배열char temp_ctostr[100];// 스택 관련 변수와 함수의 원형char post[100][100]; int post_top = -1;void push( char stack[100][100], int *top, char *str );char *pop( char stack[100][100], int *top );// 원형큐 관련 변수와 함수의 원형char input[100][100]; int input_front = -1, input_rear = -1;char postfix[100][100]; int postfix_front = -1, postfix_rear = -1;void enqueue( char queue[100][100], int *front, int *rear, const char *str );char *dequeue( char queue[100][100], int *front, int *rear );void print_form();char *ctostr(char c);class function{// sprintf함수에 사용되는 버퍼char buf[100];public://함수원형void infixtopostfix ();void input_queue(char *str);int icp( char str[100] );int isp( char str[100] );int isnum( char str[100] );double postval();void kill_blank( char *s );void print_form();void gotoxy(int x, int y);void print_result( double r );};// 연산자의 icp값을 돌려주는 함수int function::icp( char "#" ) || !strcmp( str, ")" ) || !strcmp( str, "(" ) ) return 0;else if( !strcmp( str, "^" ) ) return 15;else if( !strcmp( str, "*" ) || !strcmp( str, "/" ) || !strcmp( str, "%" ) ) return 13;else if( !strcmp( str, "+" ) || !strcmp( str, "-" ) ) return 12;else return 16;}// 문자열이 숫자인지 검사하는 함수int function::isnum( char str[100] ){if( !strcmp( str, "+" ) ||!strcmp( str, "-" ) ||!strcmp( str, "*" ) ||!strcmp( str, "/" ) ||!strcmp( str, "%" ) ||!strcmp( str, "^" ) ||!strcmp( str, "sin" ) ||!strcmp( str, "cos" ) ||!strcmp( str, "tan" ) ||!strcmp( str, "asin" ) ||!strcmp( str, "acos" ) ||!strcmp( str, "atan" ) ||!strcmp( str, "abs" ) ||!strcmp( str, "int" ) ||!strcmp( str, "sqrt" ) ||!strcmp( str, "pi" ) ||!strcmp( str, "e" ) ||!strcmp( str, "deg" ) ||!strcmp( str, "exp" ) ||!strcmp( str, "log" ) ||!strcmp( str, "ln" ) ||!strcmp( str, "(" ) ||!strcmp( str, ")" ) ) return 0;else return 1;}// 후위표기로된 식을 계산double function::postval(){char token[100] = "", temp[100] = "";double op1, op2;int index=0;p1 = (double)atof( pop( post, &post_top ) );if( !strcmp( token, "+" ) ){ sprintf( buf, "%.20f", (double) op1 + op2 ); push( post, &post_top, buf ); }else if( !strcmp( token, "-" ) ){ sprintf( buf, "%.20f", (double) op1 - op2 ); push( post, &post_top, buf ); }else if( !strcmp( token, "*" ) ){ sprintf( buf, "%.20f", (double) op1 * op2 ); push( post, &post_top, buf ); }else if( !strcmp( token, "/" ) ){ sprintf( buf, "%.20f", (double) op1 / op2 ); push( post, &post_top, buf ); }else if( !strcmp( token, "%" ) ){ sprintf( buf, "%.20f", (double) fmod( op1, op2 ) ); push( post, &post_top, buf ); }else if( !strcmp( token, "^" ) ){ sprintf( buf, "%.20f", (double) pow( op1, op2) ); push( post, &post_top, buf ); }}else if( !strcmp( token, "pi" ) || !strcmp( token, "e" ) || !strcmp( token, "deg" ) ){if( !strcmp( token, "pi" ) ){ sprintf( buf, "%.20f", (double) 3.1*************323846 ); push( post, &post_top, buf ); }else if( !strcmp( token, "e" ) ){ sprintf( buf, "%.20f", (double) 2.7182818285 ); p ) ){ sprintf( buf, "%.20f", (double) cos( op1 ) ); push( post, &post_top, buf ); }else if( !strcmp( token, "tan" ) ){ sprintf( buf, "%.20f", (double) tan( op1 ) ); push( post, &post_top, buf ); }else if( !strcmp( token, "asin" ) ){ sprintf( buf, "%.20f", (double) asin( op1 ) ); push( post, &post_top, buf ); }else if( !strcmp( token, "acos" ) ){ sprintf( buf, "%.20f", (double) acos( op1 ) ); push( post, &post_top, buf ); }else if( !strcmp( token, "atan" ) ){ sprintf( buf, "%.20f", (double) atan( op1 ) ); push( post, &post_top, buf ); }else if( !strcmp( token, "abs" ) ){ sprintf( buf, "%.20f", (double) fabs( op1 ) ); push( post, &post_top, buf ); }else if( !strcmp( token, "int" ) ){ sprintf( buf, "%.20f", (double) (long) op1 ); push( post, &post_top, buf ); }else if( !strcmp( token, "sqrt" ) ){ sprintf( buf, "%.20f", (double) sqrt( op1 ) ); push( post, &post_top, buf ); }else if( !strcmp( token, "exp" ) ){ sprintf( buf, "%.20f", (double) exp( op1 ) ); push( post, &post_top, buf ); }else로 변환void function::infixtopostfix (){char token[100];push( post, &post_top, "#" );for( strcpy( token, dequeue( input, &input_front, &input_rear ) );strcmp( token, "=" );strcpy( token, dequeue( input, &input_front, &input_rear ) ) ){if( isnum( token ) ) enqueue( postfix, &postfix_front, &postfix_rear, token );else if( !strcmp( token, ")" ) ) {while( strcmp( post[post_top], "(" ) ){enqueue( postfix, &postfix_front, &postfix_rear, pop( post, &post_top ) );}pop( post, &post_top );}else{while( isp( post[post_top] ) >= icp( token )){enqueue( postfix, &postfix_front, &postfix_rear, pop( post, &post_top ) );}push( post, &post_top , token );}}while( strcmp( strcpy( token, pop( post, &post_top ) ), "#" ) ){ enqueue( postfix, &postfix_front, &postfix_rear, token ); }enqueue( postfix, &postfix_front, &postfix_rear, "=" );}// 수식 문자열 분할 함수void function::input_queue(char *str){int count = 0; char temp[100] = "";while( !( str[count] == '' ) ){//다항연산자if( str[count] == '+' || str[count] == '*' || str[t]
    프로그램소스| 2008.11.03| 1,000원| 조회(1,214)
    미리보기
전체보기
해캠 AI 챗봇과 대화하기
챗봇으로 간편하게 상담해보세요.
2026년 04월 18일 토요일
AI 챗봇
안녕하세요. 해피캠퍼스 AI 챗봇입니다. 무엇이 궁금하신가요?
8:39 오전
문서 초안을 생성해주는 EasyAI
안녕하세요 해피캠퍼스의 20년의 운영 노하우를 이용하여 당신만의 초안을 만들어주는 EasyAI 입니다.
저는 아래와 같이 작업을 도와드립니다.
- 주제만 입력하면 AI가 방대한 정보를 재가공하여, 최적의 목차와 내용을 자동으로 만들어 드립니다.
- 장문의 콘텐츠를 쉽고 빠르게 작성해 드립니다.
- 스토어에서 무료 이용권를 계정별로 1회 발급 받을 수 있습니다. 지금 바로 체험해 보세요!
이런 주제들을 입력해 보세요.
- 유아에게 적합한 문학작품의 기준과 특성
- 한국인의 가치관 중에서 정신적 가치관을 이루는 것들을 문화적 문법으로 정리하고, 현대한국사회에서 일어나는 사건과 사고를 비교하여 자신의 의견으로 기술하세요
- 작별인사 독후감