#include <stdio.h>
float sumCalc(int *sal, int Cn)
{
int i, sum = 0;
float avg;
for (i = 0; i <= Cn-1; i++)
{
sum += *(sal + i); // sal = &salary *(sal+i)
// sal++;
}
avg = (float)sum / Cn;
return avg;
}
int main()
{
int salary[] = { 1,5 };
int size, i;
char company[30] = "Multi Campus";
float salAvg;
size = sizeof(salary) / sizeof(int);
salAvg = sumCalc(salary, size);
printf("%s ์๊ธํ๊ท : %.2f \n", company, salAvg);
return 0;
}
2์ฐจ์ ๋ฐฐ์ด์ ์ฃผ์ ๊ฐ๋
๋ฐฐ์ด ํฌ์ธํฐ
โถ ์ ์ธ๋ฐฉ๋ฒ : char (
*
arr)[3];
: char ํ์ ์ ์ธ๋ฑ์ค๋ฅผ 3๊ฐ ๊ฐ์ง๊ณ ์๋ ๋ฐฐ์ด"์ ๊ฐ๋ฆฌํค๋ ํฌ์ธํฐ์ ๋๋ค. (4๋ฐ์ดํธ ํ ๋น)
int (*ptr2)[3];
๋ ์ด์ ํฌ๊ธฐ๊ฐ ๊ฐ์์ผ ํจ.int (*ptr3)[2][3];
๋ ํ๊ณผ ์ด์ ํฌ๊ธฐ๊ฐ ๊ฐ์์ผ ํจ.ํฌ์ธํฐ ๋ฐฐ์ด
โถ ์ ์ธ๋ฐฉ๋ฒ : char
*
arr[3];
: char*
arr[3]์ ๋ฉ๋ชจ๋ฆฌ 3๊ณณ์ ๊ฐ๋ฆฌํค๊ณ ์๋ ๋ฐฐ์ด ์ ๋๋ค.
์ง๋ฌธ (sizeof)
*
ptr2[3]; => 4bytex3 =12 byte*
p2)[5] => 4byte ํ ๋น? (char ํ์
์ ์ธ๋ฑ์ค(์ด)๋ฅผ 5๊ฐ ๊ฐ์ง๊ณ ์๋ ๋ฐฐ์ด์ ๊ฐ๋ฆฌํค๋ ํฌ์ธํฐ ํ๋์
ํฌ์ธํฐ)*
p2[5] => 4bytex5=20byte ํ ๋น?(๋ฉ๋ชจ๋ฆฌ 5๊ณณ์ ๊ฐ๋ฆฌํค๋ ํฌ์ธํฐ๋ค์ ๋ฐฐ์ด)[C์ธ์ด] ๋ฐฐ์ดํฌ์ธํฐ, ํฌ์ธํฐ๋ฐฐ์ด ์ ๋ฆฌ (pointer)
https://blockdmask.tistory.com/56
ํฌ์ธํฐ ๋ฐฐ์ด
โถ ์ ์ธ๋ฐฉ๋ฒ : char
*
arr[3];
: char*
arr[3]์ ๋ฉ๋ชจ๋ฆฌ 3๊ณณ์ ๊ฐ๋ฆฌํค๊ณ ์๋ ๋ฐฐ์ด ์ ๋๋ค.
๋ฐฐ์ด ํฌ์ธํฐ
โถ ์ ์ธ๋ฐฉ๋ฒ : char (
*
arr)[3];
: char ํ์ ์ ์ธ๋ฑ์ค๋ฅผ 3๊ฐ ๊ฐ์ง๊ณ ์๋ ๋ฐฐ์ด"์ ๊ฐ๋ฆฌํค๋ ํฌ์ธํฐ์ ๋๋ค.
while(x != 0)์ด๋ผ๊ณ ์ฐ๋ฉด x๊ฐ 0์ด ์๋ ์ ์๋ผ๋ ์ ์ ์ผ๋์ ๋๊ณ x๋ก ์์น์ ์ธ ์์ ์ ์ํํ๋ ๊ฒ์ ๋๋ค. while(x != '\0')์ด๋ผ๊ณ ์ฐ๋ฉด x๋ ๋ฌธ์์ด๊ณ null ๋ฌธ์๋ฅผ ์ฐพ์ ๋๊น์ง ๊ณ์ ์งํํ๋ ค๊ณ ํฉ๋๋ค.
์ฆ๊ฐ์ฐ์ฐ์๊ฐ ์ญ์ฐธ์กฐ์ฐ์ฐ์๋ณด๋ค ์ฐ์ ์์๊ฐ ๋๊ธฐ ๋๋ฌธ์
*ptr++
๋ *(ptr++)
๋ก ํ์ด ์ธ ์ ์์ต๋๋ค.
*ptr++
-> ptr
์ ๋ค์ ์ฃผ์์ ๊ฐptr++
-> ptr
์ ๋ค์ ์ฃผ์.(*ptr)++
->ptr
์ด ๊ฐ๋ฆฌํค๋ ๊ฐ ์ฆ๊ฐ // ์ฒจ์์๋ ๋ฐฐ์ด๋ณ์๋ช
์ ํฌ์ธํฐ ์์์ด๋ค.
// ๋ฐ๋ผ์ ๋ฐฐ์ด ๋ณ์ ์์ ์ ์์ ์ฃผ์๋ฅผ ๋ณ๊ฒฝํ๋ ๊ฒ์ ํ์ฉํ์ง ์๋๋ค.
#include <stdio.h>
int main()
{
char str[20] = " Multi Campus. ";
char* ptr;
ptr = str; // ๋ฐฐ์ด์ ์์์ฃผ์๋ฅผ ํฌ์ธํฐ ๋ณ์์ ๋์
while (*str)
printf("%c ", *str++); // ๋ฐฐ์ด๋ณ์๋ ํฌ์ธํฐ ์์์ด๋ฏ๋ก ์ฃผ์ ๋ณ๊ฒฝ ๋ถ๊ฐ๋ฅ!!
printf("\n\n");
return 0;
}
// C์์ ์ฌ์ฉ๋๋ ๋ฌธ์์ด ์์๋ฅผ ๋ฌธ์์ด ์์ ํฌ์ธํฐ๋ผ๊ณ ํ๋ค.
#include <stdio.h>
#include <string.h>
int main()
{
char str[20] = "Multi Campus.";
char* msg = "Advanced C.";
printf("str : %s, msg: %s\n", str, msg);
strcpy(str, msg);
printf("str : %s, msg: %s\n", str, msg);
return 0;
}
[์ด์์ฒด์ ] ํ๋ก์ธ์ค ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ
https://velog.io/@cchloe2311/%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C-%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4-%EB%A9%94%EB%AA%A8%EB%A6%AC-%EA%B5%AC%EC%A1%B0
ํฌ์ธํฐ๊ฐ ํจ์์ ์ ๋ฌ๋๋ฉด ํจ์๋ ๋งค๊ฐ๋ณ์๋ฅผ ์ด์ฉํ์ฌ ๋ถ๋ชจ ํจ์์ ์ธ์์ ์ ๊ทผ ๊ฐ๋ฅ
// ํฌ์ธํฐ๊ฐ ํจ์์ ์ ๋ฌ๋๋ฉด ํจ์๋ ๋งค๊ฐ๋ณ์๋ฅผ ์ด์ฉํ์ฌ ๋ถ๋ชจ ํจ์์ ์ธ์์ ์ ๊ทผ ๊ฐ๋ฅ
#include <stdio.h>
void swap(int* x, int* y)
{
int tmp;
tmp = *x;
*x = *y;
*y = tmp;
}
int main()
{
int a = 100, b = 200;
printf("main() a: %d, b:%d \n\n", a, b);
swap(&a, &b);
printf("swap() ํจ์ ํธ์ถ ํ main() a: %d, b:%d \n\n", a, b);
return 0;
}
#include <stdio.h>
void func1(int* ptr)
{
int i;
printf("func1() ํฌ์ธํฐ๋ณ์๊ฐ ์ ์ฅํ ์ฃผ์: %p, ํฌ์ธํฐ๋ณ์์ ํฌ๊ธฐ: %d \n\n", ptr, sizeof(ptr));
for (i = 0; i < 5; i++)
*(ptr + i) = *(ptr + i)+50;
}
void main()
{
int i, count[5] = { 100,200,300,400,500 };
printf("count ๋ฐฐ์ด์ ์์ ์ฃผ์: %p, ๋ฐฐ์ด์ ํฌ๊ธฐ: %d \n\n", count, sizeof(count));
func1(count); // ํจ์ ํธ์ถ
printf("count ๋ฐฐ์ด์ ๊ฐ: ");
for (i = 0; i < 5; i++)
printf("%d ,", count[i]);
printf("\n\n");
}
// <9-8>
#include <stdio.h>
#include <string.h>
int main(void)
{
char names[10][20] = { "kim","lee","sin","jo","kim2",
"chae","jin","bak","so","chol" };
int i, j;
char tmp[20];
printf("\n๋ฐฐ์ด ์ด๊ธฐํ\n");
for (j = 0; j < 10; j++)
printf("%5s", names[j]);
printf("\n");
for (i = 0; i < 9; i++)
for (j = 0; j < 9 - i; j++)
if (strcmp(names[j], names[j + 1]) > 0)
{
strcpy(tmp, names[j]);
strcpy(names[j], names[j + 1]);
strcpy(names[j + 1], tmp);
}
printf("\nSorted Result\n");
for (j = 0; j < 10; j++)
printf("%5s", names[j]);
printf("\n");
return 0;
}
#include <stdio.h>
int main(void)
{
int a[3][3]={{13, 4, 30},
{34, 2, 5},
{7, 15, 27}};
int b[3][3], i, j;
printf("a ๋ฐฐ์ด ๋ฆฌ์คํธ \n");
for(i=0;i<3; i++)
{
for(j=0;j<3;j++)
printf("%5d", a[i][j]);
printf("\n");
}
//a ๋ฐฐ์ด์ ์ ์นํ๋ ฌ๋ก ๋ณํํ์ฌ b ๋ฐฐ์ด์ ์ ์ฅ
for(i=0;i<3; i++)
for(j=0;j<3;j++)
b[j][i] = a[i][j];
printf("\n์ ์นํ์ด b ๋ฐฐ์ด ๋ฆฌ์คํธ \n");
for(i=0;i<3; i++)
{
for(j=0;j<3;j++)
printf("%5d", b[i][j]);
printf("\n");
}
}
#include <stdio.h>
int main()
{
int num[7][7] = { 0 }, i, j, k = 0;
// ๊ฐ ์
๋ ฅ
for (i = 0; i < 7; i++)
for (j = 0; j < 7; j++)
{
k++;
if (j < (i + 1))
num[i][j] = k;
}
// ํผ๋ผ๋ฏธ๋ ์ ์ถ๋ ฅ
for (i = 0; i < 7; i++)
{
for (j = 0; j <= i; j++)
printf("%5d", num[i][j]);
printf("\n");
}
return 0;
}
#include<stdio.h>
#define stuSZ 5
int main()
{
int answer[20] = { 1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4 };//1์ฐจ์ ์ซ์ ๋ฐฐ์ด์ด๊ธฐ ๊ฐ
int student[stuSZ][20] = { {1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,1},
{1,1,3,1,1,3,3,4,3,2,3,4,1,2,3,4,3,2,3,1},
{4,3,1,1,1,2,3,4,1,2,2,4,2,2,3,4,4,2,3,2},
{1,2,4,4,1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4},
{4,2,3,4,1,4,3,4,1,1,3,4,1,2,3,1,1,2,3,4} };//2์ฐจ์ ์ซ์ ๋ฐฐ์ด ์ด๊ธฐ ๊ฐ
int i, j, sum = 0;//๋ณ์ ์ ์ธ
for (i = 0; i < stuSZ; i++)//stuSZ=5์ด๊ธฐ ๋๋ฌธ์ 0,1,2,3,4๊น์ง
{
//์ ๋ต์ ๋น๊ตํ์ฌ ์ ์ ์ถ๋ ฅ
int score = 100;
for (int j = 0; j < 20; j++)//0๋ถํฐ19๊น์ง j๋ฅผ ์ฆ๊ฐ
{
if (answer[j] != student[i][j])//answer[j]๊ฐs tudent[i][j]์ ๊ฐ์ง ์๋ค๋ฉด
score -= 5;//์ ์=์ ์-5 ์คํ
}
printf("%d๋ฒ ์ ์ : %d \n", i + 1, score);
}
return 0;
}
//์
๋ ฅ๋ ๋ ์ง์ ์์ผ ๊ตฌํ๊ธฐ
#include<stdio.h>
int dayStartFunc(int year, int mon, int day);
int main()
{
int inputDate, year, month, day;
int dayStart;//๋ฌ์ ๋ ์ง๊ฐ ์์๋๋ ์์ผ
char days[7] [10] = { "์ผ","์","ํ","์","๋ชฉ","๊ธ","ํ " };
printf("๋ ์ง(yyyymmdd) : ");
scanf("%d", &inputDate);//20170305 ์
๋ ฅ
year = inputDate / 10000;//2020 //์
๋ ฅ๋ ๋ ์ง๋ฅผ 10000๋ก ๋๋๋ฉด ๋
๋
month = (inputDate % 10000) / 100; //6 //์
๋ ฅ๋ ๋ ์ง๋ฅผ 10000๋ก ๋๋ ๊ฐ์ 100์ ๋๋๋ฉด ์
day = (inputDate % 10000) % 100;//9 //์
๋ ฅ๋ ๋ ์ง๋ฅผ 10000๋ก ๋๋ ๋๋จธ์ง ๊ฐ์ 100์ ๋๋๋ฉด ์ผ
printf("year: %d, month:%d, day:%d \n", year, month, day);
dayStart = dayStartFunc(year, month, day);
//์
๋ ฅ๋ ๋ ์์ ์ผ์ ๊ณ์ฐํจ์ ํธ์ถ
printf("\n%d๋
%d์ %d์ผ์, %s์์ผ\n", year, month, day, days[dayStart % 7]);//์์ผ์ถ๋ ฅ //7๋ก ๋๋ด์๋ 0์ด๋ฉด ์ผ์์ผ ์๋๋ฉด ๊ธฐ์ค์ผ +1์ ์์ผ์ด ๋์ด
return 0;
} //2020, 6, 9
int dayStartFunc(int year, int mon, int day)
{
//์ค๋
์๋ ๋ ์๋ณ ์ผ์
int yearMonth[] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 }; //๋ฐฐ์ด์ ์ธ
int i, t_day;
t_day = (year - 1) * 365;//2019๋
๊น์ง ์ผ์ //t_day๋ (year - 1) * 365๋ก ๊ณ์ฐ
for (i = 1; i < year; i++)//1~2019๊น์ง ์ค๋
ํ์ธ //i๋ 1๋ถํฐ ๋
๋ ๊น์ง
{
if ((i % 4 == 0 && i % 100 != 0) || (i % 400 == 0)) //๋ง์ฝ i๋ฅผ 4๋ก ๋๋ด์ ๋ ๋๋จธ์ง๊ฐ 0์ด๊ณ 100์ผ๋ก ๋๋ด์๋ ๋๋จธ์ง๊ฐ 0์ด ์๋๊ฑฐ๋ i๋ฅผ 400์ผ๋ก ๋๋ด์๋ ๋๋จธ์ง๊ฐ 0์ด๋ผ๋ฉด
t_day++;//์ค๋
์ 366์ผ์ด๋ฏ๋ก ํ๋ฃจ ๋ํจ
}
for (i = 0; i < mon; i++) //i๋ 0๋ถํฐ ์ ๊น์ง
{
if(((year%4==0&&year%100!=0)||(year%400==0))&&(i==2))//๋
๋๋ฅผ 4๋ก ๋๋ด์๋ ๋๋จธ์ง๊ฐ 0์ด๊ณ 100์ผ๋ก ๋๋ด์๋ 0์ด ์๋๊ฑฐ๋ ๋
๋๋ฅผ 400์ผ๋ก ๋๋ด์๋ ๋๋จธ์ง๊ฐ 0์ด๊ณ i๊ฐ 2์ผ๋
t_day+=29; //t_day=t_day+29
else //๋๋
t_day+=yearMonth[i]; //t_day=t_day+yearMonth[i]๊ณ์ฐ
}
return t_day+day;
//๋
,์ ์ ๊น์ง์ ํฉ๊ณผ ํ์ฌ๋ฌ์ ์ผ์ ๋ํ์ฌ ๋ฐํ
}
#include <stdio.h>
int main()
{
char str[20]; // "C language." ๋ผ๋ ๋ฌธ์์ด์ ์
๋ ฅํ ๋ฌธ์์ด ๋ฐฐ์ด str ์ ์ธ (์ค์ ๋ก ๋์
๋๋ ๋ฌธ์์ด: C language + `\0`)
char* ptr; // ๋ฌธ์์ด์ ๊ฐ๋ฆฌํค๋ ํฌ์ธํฐ ์ ์ธ, ptr = 3000(์์์ ์ฃผ์๊ฐ), *ptr = 'C', ptr++ = 3001(์์์ ์ฃผ์๊ฐ)
int cn = 0;
ptr = str; //๋ฐฐ์ด์ ์์์ฃผ์ ๋์
printf("Input String ? ");
gets(str);
while (*ptr) // while (*ptr != '\0')
ptr++;
ptr--; // '.' ์์น๋ก ํฌ์ธํฐ ์ด๋
while (ptr >= str) // ๋ง์ฝ ptr์ ํ ๋น๋ ์ฃผ์๊ฐ 2999๋ก, str์ ํ ๋น๋ 3000๋ณด๋ค ์์ผ๋ฉด ๋ ์ด์ ๋ฌธ์์ด์ ํธ์ถํ์ง ์์ผ๋ฏ๋ก, ptr์ ํ ๋น๋ ์ฃผ์๋ฒ์ง๋ str์ ํ ๋น๋ ์ฃผ์๋ฒ์ง๋ณด๋ค ์ปค์ผํจ (3000, 3001..)
{
printf("%c ", *ptr--); // ์ญ์ผ๋ก ์ถ๋ ฅ, ํฌ์ธํฐ๋ฅผ ์ฐ์์ ์ข๋ก ์์ง์
cn++; // ์
๋ ฅ๋ ๋ฌธ์์ด์ ๊ธธ์ด๋ฅผ ์
: 11
}
printf("\n\n");
printf("๋ฌธ์์ด์ ํฌ๊ธฐ : %d \n\n", cn); // 11
return 0;
}
#include <stdio.h>
int main()
{
char str[50] = "Multi Campus.";
char *ptr; // *ptr์ ํ ๋น๋ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ๊ฐ์ ์ฐธ์กฐํ `๊ฐ`
ptr = &str; //๋ฐฐ์ด์ ์์์ฃผ์ ๋์
ptr = str;
printf("before : %s \n\n", str);
while (*ptr != '\0') // while(*ptr!='\0') , while (*ptr != 0) //loop util null terminator if found.
// ๋ฌธ์ ๋ฐฐ์ด์ ๊ฐ ์์๊ฐ์ด 0(null) ์ด ์๋๋๊น์ง ๋ฐ๋ณต๋ฌธ ์ํ
{
if (*ptr >= 'A' && *ptr <= 'Z') // 65~90 ๋๋ฌธ์
*ptr = *ptr + 32; // 97~122 ์๋ฌธ์
else if (*ptr >= 'a' && *ptr <= 'z')
*ptr = *ptr - 32;
*(ptr++); // ptr์ ๋ค์ ์ฃผ์์ ๊ฐ
}
printf("after : %s \n", str);
return 0;
}
/*
์ฆ๊ฐ์ฐ์ฐ์๊ฐ ์ญ์ฐธ์กฐ์ฐ์ฐ์๋ณด๋ค ์ฐ์ ์์๊ฐ ๋๊ธฐ ๋๋ฌธ์
*ptr++๋ *(ptr++)๋ก ํ์ด ์ธ ์ ์์ต๋๋ค.
*ptr++ -> ptr์ ๋ค์ ์ฃผ์์ ๊ฐ
ptr++-> ptr์ ๋ค์ ์ฃผ์.
(*ptr)++ ->ptr์ด ๊ฐ๋ฆฌํค๋ ๊ฐ ์ฆ๊ฐ
*/
#include <stdio.h>
void my_Strcat(char* dest, char* source);
int main() {
char strDestination[20] = "king";
char strSource[20] = "dom";
my_Strcat(strDestination, strSource);
printf("Source: %s , Destination: %s\n", strSource, strDestination);
}
void my_Strcat(char* dest, char* source) {
for (; *dest; dest++);
for (; *source; dest++, source++) {
*dest = *source;
}
*dest = '\0';
}
#include <stdio.h>
int main()
{
char str[50]="Multi Campus.", tmp[50];
char *from, *to;
from = str;
to = tmp;
while(*from)
{
*to = *from;
from++, to++;
}
*to = '\0'; //null ๋ฌธ์ ์ถ๊ฐ
printf("str: %s, tmp: %s \n", str, tmp);
return 0;
}
#include <stdio.h>
int main()
{
double dNum[5], dSum = 0.0;
double* ptr; //ํฌ์ธํฐ ๋ณ์ ptr ์ ์ธ
int i, size;
size = sizeof(dNum) / sizeof(double); // ๋ฐฐ์ด ํฌ๊ธฐ ๊ณ์ฐ
ptr = dNum; //ptr์ ์ฐธ์กฐํ ์ฃผ์ ์ ์ฅ
for (i = 0; i < size; i++)
{
printf("%d, ์ค์ ์
๋ ฅ? ", i + 1);
scanf("%lf", &ptr[i]);//&ptr[i] = ptr+1
dSum += ptr[i]; //*(ptr + i) = ptr[i]
/*
*ptr++ -> ptr์ ๋ค์ ์ฃผ์์ ๊ฐ
ptr++-> ptr์ ๋ค์ ์ฃผ์.
(*ptr)++ ->ptr์ด ๊ฐ๋ฆฌํค๋ ๊ฐ ์ฆ๊ฐ
*/
}
printf("\n์
๋ ฅ๋ dNum ๋ฐฐ์ด ๋ฐ์ดํฐ \n");
for (i = 0; i < size; i++)
printf("%.2lf, ", dNum[i]);
printf("\n");
printf("dNum ๋ฐฐ์ด์ ํฉ: %.2lf \n", dSum);
return 0;
}
#include <stdio.h>
#include <string.h>
struct A {
char dept[20];
char name[20];
enum B {manager1 = 1, manager2, manager3, employee1, employee2} position;
int salary;
int sudang;
} emps[10];
int main(void)
{
int i, count;
for(i = 0; i < 10; i++)
{
printf("%d, ๋ถ์ ?(์ข
๋ฃ:end) ", i + 1);
gets(emps[i].dept);
if(!strcmp(emps[i].dept, "end"))
break;
printf(" ์ฑ๋ช
? ");
gets(emps[i].name);
printf(" ์ง๊ธ =>");
do{
printf(" 1:์ฌ์ฅ, 2:๋ถ์ฅ, 3:๊ณผ์ฅ, 4:๋๋ฆฌ, 5:์ฌ์ ? ");
scanf("%d", &emps[i].position);
}while(emps[i].position < 1 || emps[i].position > 5);
printf(" ์๊ธ ? ");
scanf("%d%*c", &emps[i].salary);
if(emps[i].position >= manager2) //์๋น ์ ํ
emps[i].sudang = 70000;
else
emps[i].sudang = 5000;
}
count = i;
printf("----------------------------------------\n");
printf(" ๋ถ์ ์ฑ๋ช
์ง๊ธ ์ค์๋ น์ก \n");
printf("----------------------------------------\n");
// ์ถ๋ ฅ๋ฌธ ์์ฑ
for(int j = 0; j < i; j++)
{
printf("%s, ", emps[j].dept);
printf("%s, ", emps[j].name);
switch(emps[j].position)
{
case 1 :
printf("์ฌ์ฅ, ");
break;
case 2 :
printf("๋ถ์ฅ, ");
break;
case 3 :
printf("๊ณผ์ฅ, ");
break;
case 4 :
printf("๋๋ฆฌ, ");
break;
case 5 :
printf("์ฌ์, ");
break;
}
printf("%8d\n", emps[j].salary + emps[j].sudang);
}
return 0;
}
#include <stdio.h>
int main()
{
struct STUDENT { char name[20]; //ํ์์ด๋ฆ
int score[3]; //๊ณผ๋ชฉ์ ์
int sum; //ํฉ
float avg; //ํ๊ท
};
struct STUDENT std1 = {"ํ๊ธธ๋", 68,89,80};
int i;
for(i=0;i<3;i++)
std1.sum += std1.score[i];
std1.avg = (float) std1.sum/3;
printf("%s, %d, %d, %d, %d, %.2f \n",
std1.name , std1.score[0], std1.score[1], std1.score[2], std1.sum, std1.avg );
return 0;
}
#include <stdio.h>
#include <ctype.h>
struct A_MEMBER { char name[20];
int age;
char gender;
char grade;
char mobTel[15];
char custAddr[100];
};
void heading();
int main()
{
struct A_MEMBER cust;
printf("์ฑ๋ช
? ");
gets(cust.name);
printf("๋์ด ? ");
scanf("%d%*c", &cust.age);
do{
printf("์ฑ๋ณ ? (๋จ:m,์ฌ:w) ");
scanf("%c%*c", &cust.gender);
cust.gender = toupper(cust.gender);
} while(cust.gender!='M' && cust.gender!='W');
do{
printf("ํ์๋ฑ๊ธ ? (A, B, C) ");
scanf("%c%*c", &cust.grade);
cust.grade = toupper(cust.grade);
} while(cust.gender!='A' && cust.grade!='B' && cust.grade!='C');
printf("ํด๋ํฐ ๋ฒํธ ? ");
gets(cust.mobTel);
printf("๊ทผ๋ฌด์ง์ญ ์ฃผ์ ? ");
gets(cust.custAddr);
heading();
printf("%s, %d, %c, %4c, %s, %s \n", cust.name, cust.age,
cust.gender, cust.grade, cust.mobTel, cust.custAddr);
return 0 ;
}
void heading()
{
printf("======================================================\n");
printf("์ฑ๋ช
๋์ด ์ฑ๋ณ ๋ฑ๊ธ ํด๋ํฐ๋ฒํธ ๊ณ ๊ฐ์ฃผ์ \n");
printf("======================================================\n");
}
#include <stdio.h>
#define STU_SZ 5
struct STUDENT { char name[20];
char subject[5][30];
int hakjum_unit[5];
double jumsu[5];
double greade;
};
void heading();
int main()
{
struct STUDENT stu = { "๊น๊ฟ์ด", "C/C++","JAVA","Oracle","์ ์ฐ๊ฐ๋ก ","๊ต์1", 3, 3, 2, 4, 3, 4.5, 3.0, 3.5, 4.0, 3.5, 0.0 };
int i, h_unit_tot=0;
double tmp=0;
for(i=0;i<5;i++)
{
h_unit_tot += stu.hakjum_unit[i]; //์ด ์ด์์๊ฐ
tmp += stu.hakjum_unit[i] * stu.jumsu[i]; //๊ณผ๋ชฉ๋ณ ์ด์๋จ์*ํ์ ์ ํฉ
}
stu.greade = tmp/h_unit_tot; //์ด ํ์
heading();
printf("%5s, ", stu.name );
for(i=0;i<5;i++)
printf("%6s:%d:%.1lf, ", stu.subject[i], stu.hakjum_unit[i], stu.jumsu[i]);
printf("=> %.2lf \n", stu.greade);
return 0;
}
void heading()
{
printf("=======================================================================================\n");
printf("์ฑ๋ช
๊ณผ๋ชฉ ํ์ ๊ณผ๋ชฉ ํ์ ๊ณผ๋ชฉ ํ์ ๊ณผ๋ชฉ ํ์ ๊ณผ๋ชฉ ํ์ ์ดํ์ \n");
printf("=======================================================================================\n");
}
//12-5
#include <stdio.h>
int main()
{
int i;
char Ch = 65, ch = 97, space = 32;
FILE* fp; //ํ์ผํฌ์ธํฐ
//1.์คํธ๋ฆผ ์ฐ๊ฒฐ
fp = fopen("ex05.dat", "wt"); //๋ฌธ์์ด ์์๋ ์ด๋์ธ๊ฐ ์กด์ฌํ๋ ์ฃผ์๋ฅผ ๊ฐ์ ธ์จ๋ค
for (i = 0; i < 26; i++)
{
fputc(Ch, fp);
fputc(ch, fp);
fputc(space, fp);
Ch++;
ch++;
}
}
#include <stdio.h>
#include <stdlib.h>
int main() {
struct TMP {
char name[20];
int age;
int salary;
char mobTel[20];
} tmp;
int i;
FILE* fp = fopen("ex07.dat", "rt");
if (fp == NULL) {
printf("Wrong Access.\n");
exit(1);
}
while (1) {
i = fscanf(fp, "%s %d %d %s", &tmp.name, &tmp.age, &tmp.salary, tmp.mobTel);
if (i == 0 || i == EOF) break;
printf("%s, %d, %d, %s\n", tmp.name, tmp.age, tmp.salary, tmp.mobTel);
}
fclose(fp);
}
#include <stdio.h>
#include <stdlib.h>
#define STU_SZ 3
struct STUDENT { char name[20];
int kor;
int eng;
int mat;
float avg;
};
void heading();
int main()
{
struct STUDENT stu[ STU_SZ] = { {"๊น๊ฟ์ด", 89,96,94},
{"ํ์ก์ด", 53,73,84},
{"๋์ก์ด", 39,90,69} };
int i;
FILE *fp;
for(i=0;i<STU_SZ;i++)
stu[i].avg = (float) (stu[i].kor+stu[i].eng+stu[i].mat) / 3;
heading();
for(i=0;i<STU_SZ;i++)
printf("%s, %3d, %3d, %3d, %7.2f \n", stu[i].name , stu[i].kor, stu[i].eng , stu[i].mat , stu[i].avg);
fp=fopen("Level2_1.txt","wt");
if(fp==NULL)
{
printf("Open Error. \n");
exit(1);
}
for(i=0;i<STU_SZ;i++)
fprintf(fp, "%s %d %d %d %f ", stu[i].name , stu[i].kor, stu[i].eng , stu[i].mat , stu[i].avg);
fclose(fp);
printf("Level2_1.txt ํ์ผ์ ์ฅ. \n");
return 0;
}
void heading()
{
printf("=================================\n");
printf("์ฑ๋ช
๊ตญ์ด ์์ด ์ํ ํ๊ท \n");
printf("=================================\n");
}
#include <stdio.h>
#include <stdlib.h>
struct STUDENT { char name[20];
int kor;
int eng;
int mat;
float avg;
};
void heading();
int main()
{
struct STUDENT stu;
int i, result;
FILE *fp;
fp=fopen("Level2_1.txt","rt");
if(fp==NULL)
{
printf("Open Error. \n");
exit(1);
}
heading();
while(1)
{
result= fscanf(fp, "%s %d %d %d %f ", stu.name , &stu.kor, &stu.eng , &stu.mat , &stu.avg);
if(result != 5)
break;
printf("%s, %3d, %3d, %3d, %7.2f \n", stu.name , stu.kor, stu.eng , stu.mat , stu.avg);
}
return 0;
}
void heading()
{
printf("=================================\n");
printf("์ฑ๋ช
๊ตญ์ด ์์ด ์ํ ํ๊ท \n");
printf("=================================\n");
}