C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[21686] Re:[질문]초보적 질문입니다. 한번 봐주세여..^^
정재훈 [] 570 읽음    2002-09-26 09:00
궁금이 님이 쓰신 글 :
: 집에 C++이 안깔려있어여.. 
: 그래서 그냥 손으로 풀어봤는데.. 
: 어순이 말 안되는거 많져? 
: 약간 수정좀 부탁드릴께여.. 

: 구조체를 사용하여 이름, 주소, 학년, 학번을 멤버로 정의하고 구조체 변수를 배열로 선언하여 20명의 자료를 저장할 수 있도록 선언한다. 
: 이 문제를 푼거거든여... 
: 죄송합니다..ㅜ.ㅜ 

: #include < stdio.h > 
: #include < string.h > // strcpy() 

: struct Student 
: { 
: char StudentName[20]; //이름 
: char juso[20]; //주소 
: char hak[10]; //학년 
: char b[10]; //학번 

: }; 

: void main() 
: { 
: // Student 구조체형 변수 선언! 
: Student MyStudent[20] 

: MyStudent[0].name = "옥동자"; 
: MyStudent[0].juso = "여의도"; 
: Mystudent[0].hak = "2학년" 
: Mystudent[0].b = "1번" 
    . 
    .
    .
: for( i=1 ; i<20 ; i++) 
: printf("배열: %c\n" i , MyStudent.StudentName[i]); 
: printf("학생 주소 : %c\n", MyStudent.juso[i]); 
: printf("학생 학년 : %c\n", MyStudent.hak[i]); 
: printf("학생 학번 : %c\n", MyStudent.b[i]); 
: }

수정: MyStudent[0].name = "옥동자"; -> strcpy(MyStudent[0].name, "옥동자");
이런식으로 적으셔야 #include < string.h > // strcpy() 문장을 쓴 의도와 맞겠지요.

MyStudent[0].name = "옥동자";      strcpy(MyStudent[0].name, "옥동자");
MyStudent[0].juso = "여의도";      strcpy(MyStudent[0].juso, "여의도");
Mystudent[0].hak = "2학년"         strcpy(Mystudent[0].hak, "2학년"); 
Mystudent[0].b = "1번"             strcpy(Mystudent[0].b, "1번");

그리고 출력문에서..

: for( i=1 ; i<20 ; i++) 
: printf("배열: %c\n" i , MyStudent.StudentName[i]); 
: printf("학생 주소 : %c\n", MyStudent.juso[i]); 
: printf("학생 학년 : %c\n", MyStudent.hak[i]); 
: printf("학생 학번 : %c\n", MyStudent.b[i]); 

이것을 다음으로

for(int i=0; i<20; i++)
{
   printf("배열: %d %s\n", i , MyStudent.StudentName[i]); 
   printf("학생 주소 : %s\n", MyStudent.juso[i]); 
   printf("학생 학년 : %s\n", MyStudent.hak[i]); 
   printf("학생 학번 : %s\n", MyStudent.b[i]); 
}
for 구문에 전체를 { } 로 감싸줘야 합니다. 아니면 for 다음의 1문장만 반복하게 되죠
i를 출력하려고 했으니, %d (십진수형)가 있어야 겠지요, 또한 출력되는게 문자열이기
때문에 %s (스트링=문자배열) 로 출력기호가 나와야겠지요.
설명이 이해가 되시는지... 그럼 즐프하세요..


+ -

관련 글 리스트
21668 [질문]초보적 질문입니다. 한번 봐주세여..^^ 궁금이 561 2002/09/25
21686     Re:[질문]초보적 질문입니다. 한번 봐주세여..^^ 정재훈 570 2002/09/26
21678     많은 고민을 하게 해 주는 코드군요.. 한걸음씩 열심히 합시다. (내용 무) Step by Steady 538 2002/09/26
21669     자료실(C/C++ Resources)에 C++ 컴파일러가 있습니다. 다운받으신 후 테스트하세요.(냉무) 김백일 574 2002/09/25
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.