C언어

C언어 파일 입출력, 구조체

blockjane 2023. 9. 25. 15:57
728x90
반응형
SMALL
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#pragma warning(disable:4996)

int main()
{
	int arr[5][5] = { {0} };
	//1.3개의 폭탄을 수동으로 심습니다.
	//1.1)scanf로 두개의 좌표 값을 입력받고
	//1.2)입력받은 좌표에 폭탄유무 확인
	//2.난수를 사용하여 입력된 갯수만큼 자동으로 폭탄설치
	int boombx = 0;
	int boomby = 0;
	int cnt = 0;

	for (int i = 0; i < 5; i++)
	{
		for (int x = 0; x < 5; x++)
		{
			printf("%d", arr[i][x]);
		}
		printf("\n");
	}

	//3개의 폭탄을 수동으로 심습니다.

	printf("폭탄을 세개 심습니다.좌표를 입력하세요\n");
	for (int i = 0; i < 3; i++)
	{
		scanf("%d %d", &boombx, &boomby);
		

		if (arr[boombx][boomby] == 1)
		{
			printf("해당 좌표값은 이미 있습니다.");
			i--;
		}
		else
		{
			arr[boombx][boomby] = 1;
			
		}
		arr[boombx][boomby] = 1;
	}
	

	
	arr[boombx][boomby] = 1;

	for (int i = 0; i < 5; i++)
	{
		for (int x = 0; x < 5; x++)
		{
			printf("%d", arr[i][x]);
		}
		printf("\n");
	}

	return 0;
}

///////////////////////////////////////////////////
폭탄 세개 랜덤으로 심기

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#pragma warning(disable:4996)

int main()
{
	int arr[5][5] = { {0} };
	//1.3개의 폭탄을 수동으로 심습니다.
	//1.1)scanf로 두개의 좌표 값을 입력받고
	//1.2)입력받은 좌표에 폭탄유무 확인
	//2.난수를 사용하여 입력된 갯수만큼 자동으로 폭탄설치
	int boombx = 0;
	int boomby = 0;
	int cnt = 0;
	srand(time(NULL));
	int random = 0;

	for (int i = 0; i < 5; i++)
	{
		for (int x = 0; x < 5; x++)
		{
			printf("%d", arr[i][x]);
		}
		printf("\n");
	}



	printf("폭탄을 세개를 심습니다.좌표를 입력하세요\n");
	for (int i = 0; i < 3; i++)
	{

		boombx = rand() % 5;
		boomby = rand() % 5;

		if (arr[boombx][boomby] == 1)
		{
			printf("해당 좌표값은 이미 있습니다.");
			i--;
		}
		else
		{
			arr[boombx][boomby] = 1;

		}
		arr[boombx][boomby] = 1;
	}



	arr[boombx][boomby] = 1;

	for (int i = 0; i < 5; i++)
	{
		for (int x = 0; x < 5; x++)
		{
			printf("%d", arr[i][x]);
		}
		printf("\n");
	}



	return 0;
}

////////////////////////////////////////////////////////

#include <stdio.h>
#include <stdlib.h>   //rand()함수 포함 라이브러리
#include <time.h>     //time()함수 포함 라이브러리
#pragma warning (disable:4996)

//1. 3개의 폭탄을 수동으로 심습니다.
//2. scanf로 두개의 좌표 값을 입력받고
//3. 입력받은 좌표에 폭탄유무 확인
//4. 난수를 사용하여 입력된 갯수만큼 자동으로 출력

int main()
{
	int arr[5][5] = { {0} };
	int bbbx = 0;
	int bbby = 0;
	srand(time(NULL));
	int random = 0;


	for (int i = 0; i < 5; i++)
	{
		for (int x = 0; x < 5; x++)
		{
			printf("%d", arr[i][x]);
		}
		printf("\n");
	}


	printf("폭탄을 세개 심습니다.");
	
	for (int i = 0; i < 3; i++)
	{
		bbbx = rand() % 5;
		bbby = rand() % 5;

		if (arr[bbbx][bbby] == 1)
		{
			printf("이미 있는 좌표 값 입니다.");
			i--;
		}
		else
		{
			arr[bbbx][bbby] = 1;
		}
		arr[bbbx][bbby] = 1;

	}

	for (int i = 0; i < 5; i++)
	{
		for (int x = 0; x < 5; x++)
		{
			printf("%d", arr[i][x]);
		}
		printf("\n");
	}

	return 0;
}

//////////////////////////////////

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#pragma warning (disable:4996)

//3개의 폭탄을 랜덤으로 심기

int main()
{
	int arr[10][10] = { {0} };
	int bbx = 0;
	int bby = 0;

	for (int i = 0; i < 10; i++)
	{
		for (int x = 0; x < 10; x++)
		{
			printf("%d ", arr[i][x]);
		}
		printf("\n\n");
	}

	for (int i = 0; i < 3; i++)
	{
		bbx = rand() % 10;
		bby = rand() % 10;
		
		if (arr[bbx][bby] == 1)
		{
			//printf("이미 있는 좌표입니다.\n");
			i--;
		}
		else
		{
			arr[bbx][bby] = 1;
		}
	}


	for (int i = 0; i < 10; i++)
	{
		for (int x = 0; x < 10; x++)
		{
			printf("%d ", arr[i][x]);
		}
		printf("\n");
	}

	

return 0;

}

///////////////////////////////////////////////////////////////////////

#include <stdio.h>
#pragma warning(disable:4996)

int main()
{
	FILE* fp = fopen("test.txt", "wt");
	/*if (fp=NULL)
	{
		puts("파일오픈 실패!");
		return -1;
	}*/
	fprintf(fp, "%d", 100);
	fputs("testtest", fp);
	fputc('A', fp);
	fputc('B', fp);
	fputc('C', fp);

	fclose(fp);

	return 0;
}

//////////////////////////////////////////////////

#include <stdio.h>
#pragma warning(disable:4996)

int main()
{
	char name[10];
	char sex;
	int age;

	int ret;
	FILE* fp = fopen("friend.txt", "rt");

	while (1)
	{
		ret = fscanf(fp, "%s %c %d", name, &sex, &age);
		if (ret==EOF)
		{
			break;
		}
		printf("%s %c %d\n", name, sex, age);
	}
	return 0;
}

///////////////////////////////////////

#include <stdio.h>
#include <string.h>
#define NAME_LEN 30
#define PID_LEN 15
#pragma warning(disable:4996)

struct __person
{
	char name[NAME_LEN];
	char ID[PID_LEN];
	unsigned int age;
};
typedef struct __person person;

void ShowPersonData(person *ptr)
{
	printf("이름: %s \n", (*ptr).name);
	printf("주민등록번호: %s \n", (*ptr).ID);
	printf("나이: %u \n", ptr->age);
}
int main()
{
	person jongsoo = { "한종수","900218-1012589",20 };
	person sungeun = { "이성은","910218-1012589",19 };

	ShowPersonData(&jongsoo);
	ShowPersonData(&sungeun);

	return 0;
}

///////////////////////////////////////////////////


#include <stdio.h>
#define ARRY_LEN 3
#define NAME_LEN 30
#define PID_LEN 15

typedef struct __person
{
	char name[NAME_LEN];
	char ID[PID_LEN];
	unsigned int age;
}person;

void ShowPersonData(person* ptr);

int main()
{
	int i;
	person personArr[ARRY_LEN] = {
		{"한종수","900218-1012589",20},
		{"이성은","910218-1012589",19},
		{"윤지민","930218-1012589",17}
	};

	for (int i = 0; i < ARRY_LEN; i++)
	
		ShowPersonData(&personArr[i]);
	
	return 0;
}

void ShowPersonData(person* ptr)
{
	printf("이름: %s\n", (*ptr).name);
	printf("주민등록 번호: %s\n", (*ptr).ID);
	printf("나이: %u\n\n", ptr->age);
}

/////////////////////////////////////////////////

#include <stdio.h>
#define PI 3.14

typedef struct __point
{
	double xPos;
	double yPos;
}point;

typedef struct __circle
{
	point center;
	double rad;
}circle;

void ShowCircleInfo(const circle* ptr)
{
	printf("원의 중심:[%g, %g]\n",
		(ptr->center).xPos, (ptr->center).yPos);
	printf("원의 넓이: %g \n",
		(ptr->rad) * (ptr->rad) * PI);
}

int main()
{
	circle cl = {
		{1.1,2.2},
		2.5
	};

	ShowCircleInfo(&cl);
	return 0;
}

//////////////////////////////////////////////////

#include <stdio.h>
#include<stdlib.h>
#pragma warning(disable:4996)

typedef struct
{
	char name[10];
	int age;
}Data1;

int main()
{
	Data1* dt = malloc(sizeof(dt) * 5);
	(*(dt + 1)).age = 10;
	(dt + 1)->age = 10;
	printf("%d", (dt + 1)->age);

	return 0;
}

///////////////////////////////////////////////////
728x90
반응형
LIST