[완료] C를 공부중입니다. 도움을 주셨으면 합니다.
제가 C를 공부중인데....
C도 아직 잘 모르는데 C++작성된 것을 C로 바꾸어 컴파일하니 안되네요.
어떻게 해야될지 잘 모르겠습니다.
도와주세요ㅠ
(내용이 많아서 그런지 짤리네요...그래서 txt파일로 첨부를 했습니다.)
어떻게 해야되는걸까요? ㅠ
#include
#include
#include
struct Phone // 전화번호 정보에 대한 구조체
{
char name[20]; //이름
char phoneNum[20]; //전화번호
};
typedef struct Phone phone; // 전화번호 구조체 재정의
void menu(); //메뉴
void PhoneInsert(phone * phone); //전화번호 입력 함수
void Phonesearch(Phone * phone); //전화번호 검색 함수
int cnt = 0; //전화번호 저장된 배열 길이
int main(void)
{
phone phone[100]; //전화번호 구조체를 myphone[] 배열로 선언
char menuSelect; //메뉴 선택 변수 선언
while(1){
fflush(stdin); //입력 버퍼 제거
menu(); //메뉴 함수 출력
menuSelect = getchar(); //메뉴 입력
switch(menuSelect)
{
case '1':
system("cls");
PhoneInsert(phone); // 전화 번호 입력
system("cls");
break;
case '2':
system("cls");
Phonesearch(phone); // 전화 번호 검색
break;
case '0':
return 0;
break;
default :
printf("잘못 입력 하였습니다.\n\n");
break;
}
}
}
// 메뉴 함수
void menu()
{
printf("1. 전화번호 추가 \n");
printf("2. 이름으로 검색 \n");
printf("0. 종료 \n");
printf("메뉴선택: ");
}
// 전화 번호 입력 함수
void PhoneInsert(Phone *phone)
{
//배열에 다 정보 저장
printf("[전화 번호 추가]\n");
printf("이름 : ");
scanf("%s",phone[cnt].name);
printf("전화번호 : ");
scanf("%s",phone[cnt].phoneNum);
cnt++;
}
//전화번호 검색 함수
void Phonesearch(Phone * phone)
{
char name[20]; //검색 변수 이름 선언
printf("이름 : ");
scanf("%s",name); //검색 이름 입력
//검색 한 이름을 myphone[]배열에서 찾아 출력
for(int i=0;i
{
if(strcmp(phone[i].name, name)==0)
{
printf("%s [%s]\n\n",phone[i].name, phone[i].phoneNum);
}
}
}
첨부 | 파일 크기 |
---|---|
![]() | 1.73 KB |
-_-
내가 직접 컴파일해서 돌려보긴 귀찮고,,,,에러메시지도 안올려놨고....흠......
맨 마지막에 하나 보이네요ㅡ
c에선 for (int i 블라블라 하는 식의 문법이 허용이 안됩니다.
함수 맨 위에 별도로 int i 라고 선언해주고 사용부터 해 보세요
이게 마지막에 짤린거입니다.
for(int i=0 ;i {
if(strcmp(phone[i].name, name)==0)
{
printf("%s [%s]\n\n",phone[i].name, phone[i].phoneNum);
}
}
}
선언을 했는데도 잘 되지가 않네요 ㅠ
제가 너무 잼병이라 그런지 ㅠ
컴파일 메시지 보니까 Phone 선언할 때 대소문자가
컴파일 메시지 보니까 Phone 선언할 때 대소문자가 틀렸네요. 근데 그럼 C++에서도 안됐을텐데 어떻게 된건가요...-_-
그리고 위에 익명분이 지적하신대로 for문에서 쓸 때 변수 선언 못합니다.
두가지 고치니까 잘 작동하네요. -_-;;;
피할 수 있을때 즐겨라! http://melotopia.net/b
술김에 추가합니다. #include
보통 이런 글에 답변은 지양하지만... 술김에 추가합니다.
diff
하나만 더 질문을 합니다. ㅠ
======전화번호부==========
1. 홍길동 [010-000-000]
2. 이명쥐 [010-7171-1829]
========================
======Menu============
1. ..추가 2. ...검색 0.종료
===========================
이런식으로 표시를 하려고 하는데...
이상하게 menu 1에서 새로운 번호를 추가면
위의 전화번번호부에 1. <추가 내용> <- 표시가 되어야되는데
표시가 안되네요?
왜그러죠?
printf("======= Phone book =======\n");
printf("김정일 010-1819-0218\n");
printf("이명박 010-1828-0028\n");
printf("%s %s\n", phone[i].name, phone[i].phoneNum);
printf("==========================\n\n");
요렇게 했는데....이게 잘못된거죠?
댓글 달기