반응형

디딤돌 C언어 45

[C언어 소스] 콜백을 이용한 정렬 함수 구현 및 사용 예

[C언어 소스] 콜백을 이용한 정렬 함수 구현 및 사용 예 소스 코드#pragma warning(disable:4996) #include #include #include #include typedef int (*Compare)(void *,void *); //비교한 결과를 반환하는 함수 포인터 정의 typedef struct _Stu Stu; #define MAX_NAME_LEN 20 struct _Stu { int num; char name[MAX_NAME_LEN+1]; }; void StuSut(Stu *stu, int num,const char *name); Stu *NewStu(int num,const char *name) { Stu *stu = (Stu *)malloc(sizeof(Stu)); ..

[C언어 소스] 장르별 도서 관리 프로그램

[C언어 소스] 장르별 도서 관리 프로그램 실습 시나리오▶ 프로젝트 명: 장르별 도서 관리 프로그램 ▶ 개요 장르별 도서 관리 프로그램은 콘솔에서 동작하는 응용 프로그램입니다. ▶ 프로그램 흐름 프로그램을 시작하면 초기 작업으로 파일에 저장한 정보를 로딩합니다. 만약 파일이 없거나 비어있을 때는 초기 작업은 생략합니다. 초기 작업을 수행 후에는 최종 사용자에게 메뉴를 선택하게 하여 선택한 기능을 수행하는 것을 반복합니다. 메뉴에는 장르 추가, 장르 삭제, 전체 장르 보기, 특정 장르의 도서 목록 보기, 도서 추가, 도서 일련 번호로 검색, 도서 이름으로 검색, 전체 도서 보기, 프로그램 종료를 선택할 수 있습니다. 만약 최종 사용자가 프로그램 종료를 선택하면 상호 작용을 끝냅니다. 최종 사용자와 상호 작..

[C언어 소스] 회원 구조체 배열을 파일에 쓰기 및 순서 번호로 읽기

[C언어 소스] 회원 구조체 배열을 파일에 쓰기 및 순서 번호로 읽기 #include #define MAX_NAME_LEN 20 typedef struct{ char name[MAX_NAME_LEN+1]; int age; }Member; #define MAX_MEMBERS 10 int main (void) { FILE * fp; int n; Member members[MAX_MEMBERS]= { {"홍길동",20},{"강감찬",15},{"을지문덕",22},{"이순신",19},{"김구",30}, {"안중근",30},{"박찬호",35},{"김연아",17},{"아이유",20},{"주니엘",20} }; Member member; fopen_s (&fp,"data.txt","wb");//쓰기 모드로 파일 열기 i..

카테고리 없음 2016.12.04

[C언어 소스] fscanf_s 함수로 파일에서 입력받기

[C언어 소스] fscanf_s 함수로 파일에서 입력받기 #include #define FILENAME "test.txt" int main() { char name[256]=""; int a=0,b=0,c=0,d=0; FILE *fp = 0; fopen_s(&fp, FILENAME,"r"); if(fp==0) { printf("파일 열기 실패\n"); return 0; } fscanf_s(fp,"%s",name,sizeof(name)); printf("이름:%s\n",name); fscanf_s(fp,"%d.%d.%d.%d",&a,&b,&c,&d); printf("IP 주소:%d.%d.%d.%d\n",a,b,c,d); fclose(fp); return 0; } test.txt 파일 내용hello 12.3..

[C언어 소스] 사용자 정의 동적 배열(순차 보관)

[C언어 소스] 사용자 정의 동적 배열(순차 보관) 사용자 정의 배열.zip //Member.h#pragma oncetypedef struct _Member Member;#define MAX_NAME_LEN 20struct _Member{ int mnum; char name[MAX_NAME_LEN];}; Member *New_Member(int mnum, const char *name);void Delete_Member(Member *member);int Member_GetNum(Member *member);const char *Member_GetName(Member *member);void Member_View(Member *member); //Member.c#include "Member.h"#incl..

[C언어 소스] 사용자 정의 동적 배열(인덱스로 보관)

[C언어 소스] 사용자 정의 동적 배열(인덱스로 보관) //Member.h#pragma oncetypedef struct _Member Member;#define MAX_NAME_LEN 20struct _Member{ int mnum; char name[MAX_NAME_LEN];}; Member *New_Member(int mnum, const char *name);void Delete_Member(Member *member);int Member_GetNum(Member *member);const char *Member_GetName(Member *member);void Member_View(Member *member); //Member.c#include "Member.h"#include #include..

[C언어 소스] 학생 구조체 동적 메모리 할당

[C언어 소스] 학생 구조체 동적 메모리 할당 //Student.h#pragma once typedef struct _Student Student;#define MAX_NAME_LEN 20struct _Student//학생{ char name[MAX_NAME_LEN];// 학생 이름 int num;// 학생 번호}; Student *New_Student(const char *name,int num);//학생은 생성할 때 이름, 번호를 부여한다.void Delete_Student(Student *stu);//동적으로 생성한 학생 개체를 소멸void Student_Study(Student *stu);//학생이 공부하다.void Student_View(Student *stu);//학생 정보 보기 //Stude..

[C언어 소스] 동적 할당한 메모리의 크기를 확장(realloc 함수 사용)

[C언어 소스] 동적 할당한 메모리의 크기를 확장(realloc 함수 사용) #include #include int *base = 0; //저장소의 위치 정보 int asize = 0; //현재 저장소의 용량 int usage = 0; //저장소에 보관한 요소 개수 void Input(int num); //저장소에 보관하기 void Resize();//저장소의 용량 변경하기 void View();//저장소의 정보 보기 int main() { Input(3); View(); Input(5); View(); Input(7); View(); Input(9); View(); return 0; } void Input(int num) { if(asize == usage) { Resize(); } base[usage..

[C언어 소스] n명의 학생 성적 입력받아 출력(malloc 함수 사용)

[C언어 소스] n명의 학생 성적 입력받아 출력(malloc 함수 사용) #include #include void InputScores(int *base,int asize); //asize 명의 성적을 입력받는 함수 void ViewScores(int *base,int asize); //asize 명의 성적을 출력하는 함수 int InputScore(int num); //num 번의 학생 성적을 입력받는 함수 int main() { int *base = 0; //동적으로 할당받아 학생들의 성적을 관리할 메모리의 시작 주소 int max_stu= 0; //관리할 학생 수 printf("최대 관리할 학생 수를 입력하세요.\n"); scanf_s("%d",&max_stu); base = (int *)mallo..

반응형