과제로 프로그램을 하나 짜는데요..
주어진 결과를 출력하게끔 해야하네요.. 포인터와 구조체를 사용해야하구요.. 결과물은 다음과 같습니다
---------------------------------------------------
Part: Resistor; Quantity: 300; Price: 0.05;
Part: Capacitor; Quantity: 250; Price: 0.65;
---------------------------------------------------
#include <stdio.h>
#include <string.h>
#include <conio.h>
typedef struct {
char part[20];
int quantity;
float price;
}part_record;
void PrintBin1(part_record a);
void PrintBin2(part_record *p);
int main(void)
{
clrscr();
part_record r, c;
strcpy (r.part, "Resistor");
r.quantity = 300;
r.price = 0.05;
strcpy (c.part, "Capacitor");
c.quantity = 250;
c.price = 0.65;
PrintBin1(r);
PrintBin2(&c);
getch();
return 0;
}
void PrintBin1(part_record a)
{
printf("Part: %s; Quantity : %d; Price: %5.2f\n", a.part, a.quantity, a.price);
}
void PrintBin2(part_record *p)
{
printf("Part: %s; Quantity : %d; Price: %5.2f\n", p, p+20, p+22);
}
--------------------------------------------------------------------
일단 주어진 조건으로 코드를 짜봤는데요..
문제점은 PrintBin2 function에서 c.quantity 값(250)과 c.price 값(0.65)을 불러오질 못하네요..
c.price 값("Capacitor")은 p를 사용해서 제대로 불러왔는데
흐음.. p+20 말고도 이래저래 다 넣어봤지만.. 에휴.. p가 &c.part 받는다면 &c.quantity는 &c.part+20이잖아요.. 그렇담 p+20 이 맏는거 아닌가요?? &c.price도 그렇구.. 조언 좀 부탁드립니다!!!!!!!
그럼 다들 즐거운 주말 보내세요~~ ^^
|