프로그래밍기초 연습문제 풀이
01. 학번/이름(문자), 국어/영어/수학/합계(정수), 평균(실수) 형태의 구조체를 선언하고 출력해보기
#include <stdio.h>
struct student
{
int bunho;
char name[10];
int kor;
int eng;
int math;
int sum;
double ave;
};
void main()
{
struct student std1;
std1.bunho = 11;
std1.name = "shim";
std1.kor = 90;
std1.eng = 90;
std1.math = 90;
std1.sum = std1.kor + std1.eng + std1.math;
std1.ave = std1.sum / 3;
printf("---성적표---\n");
printf("---------------------------------------\n");
printf("번호 이름 국어 영어 수학 합계 평균\n");
printf("---------------------------------------\n");
printf("%d %s %d %d %d %d %d %4.1f\n",std1.bunho, std1.name, std1.kor, std1.eng, std1.math, std1.sum, std1.ave);
printf("---------------------------------------\n");
}
02. 학번/이름(문자), 국어/영어/수학/합계(정수), 평균(실수) 형태의 구조체를 선언하고 값을 입력받아 출력해보기#include <stdio.h>
typedef struct
{
char hakbun[8];
char name[10];
int kor, eng, math, sum;
double ave;
}STUDENT;
main()
{
STUDENT std1;
printf("학번="); scanf("%s", &std1. hakbun);
printf("이름="); scanf("%s", &std1. name);
printf("국어="); scanf("%d", &std1. kor);
printf("영어="); scanf("%d", &std1. eng);
printf("수학="); scanf("%d", &std1. math);
std1.sum = std1.kor + std1.eng + std1.math;
std1.ave = std1.sum/ 3.0;
printf("\t\t---성적표---\n");
printf("------------------------------------\n");
printf("\t학번\t이름\t국어\t영어\t수학\t합계\t평균\t\n");
printf("------------------------------------\n");
printf("\t%s\t%s\t%d\t%d\t%d\t%d\t%4.1f\n", std1. hakbun, std1.name, std1.kor, std1.eng, std1.math, std1.sum, std1.ave);
printf("------------------------------------\n");
}
03. 상품명(문자), 수량/단가/금액(정수), 이익금(실수) 형태의 구조체를 선언하고 값을 입력받아 출력해보기
#include <stdio.h>
typedef struct
{
char name[10];
int su, dan, sum;
double ik;
}STUDENT;
main()
{
STUDENT std1;
printf("상품명:"); scanf("%s", &std1. name);
printf("수량:"); scanf("%d", &std1. su);
printf("단가:"); scanf("%d", &std1. dan);
std1.sum = std1.su * std1.dan;
std1.ik = std1.sum*0.1;
printf("\t***매출 일람표***\n");
printf("-------------------------------------\n");
printf("상품명\t수량\t단가\t금액\t이익금\t\n");
printf("-------------------------------------\n");
printf("%s\t%d\t%d\t%d\t%4.1f\n", std1.name, std1.su, std1.dan, std1.sum, std1.ik);
printf("-------------------------------------\n");
}
04. 위의 문제를 구조체배열로 객체를 생성하여 행을 6 회 입력받아 출력해보기
#include <stdio.h>
typedef struct
{
char name[10];
int su, Pdan,Mdan,un,Psum,Msum;
int ik;
double ikz;
}STUDENT;
main()
{
int i;
STUDENT std1[6];
{
for(i=0; i<6; i++)
{
printf("상품명:"); scanf("%s", &std1[i]. name);
printf("수량:"); scanf("%d", &std1[i]. su);
printf("판매단가:"); scanf("%d", &std1[i]. Pdan);
printf("매입단가:"); scanf("%d", &std1[i]. Mdan);
printf("운송료:"); scanf("%d", &std1[i]. un);
printf("\n");
}
}
for(i=0; i<6; i++)
{
std1[i].Psum = std1[i].su * std1[i].Pdan;
std1[i].Msum = std1[i].su * std1[i].Mdan;
std1[i].ik = std1[i].Psum - (std1[i].Msum + std1[i].un);
std1[i].ikz = std1[i].ik/ std1[i].Msum *100;
}
printf("\t<<상품별 판매 이익금 및 이익률표>>\n");
printf("-------------------------------------------------------------------------\n");
printf("상품명\t수량\t판매단가\t매입단가\t운송료\t이익금\t이익률\t\n");
printf("-------------------------------------------------------------------------\n");
for(i=0; i<6; i++)
printf("%s\t%d\t%d\t\t%d\t\t%d\t%d\t%3.2f\n", std1[i].name, std1[i].su, std1[i].Pdan, std1[i].Mdan, std1[i].un, std1[i].ik, std1[i].ikz);
printf("-------------------------------------------------------------------------\n");
}
'학습공간 > C, 프로그래밍기초' 카테고리의 다른 글
[10주차] 파일 입출력, 메모리 관리와 동적 할당 (0) | 2019.11.26 |
---|---|
[8주차] 다차원 배열, 문자와 문자열 처리 함수 (0) | 2019.11.26 |
[7주차] 포인터와 배열 함께 이해하기, 포인터와 함수에 대한 이해 (Call by Value & Call by Reference) (0) | 2019.11.26 |
[6주차] 1차원 배열, 포인터의 이해 (0) | 2019.11.26 |
[5주차] 함수의 정의와 선언 그리고 호출, 지역변수 & 전역변수, 재귀함수의 호출 (0) | 2019.11.26 |