[완료] C를 공부중입니다. 도움을 주셨으면 합니다.

chwealthy의 이미지

제가 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);
}
}
}

File attachments: 
첨부파일 크기
Plain text icon Test.txt1.73 KB
overcrash의 이미지

내가 직접 컴파일해서 돌려보긴 귀찮고,,,,에러메시지도 안올려놨고....흠......

익명 사용자의 이미지

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);
}
}
}

선언을 했는데도 잘 되지가 않네요 ㅠ
제가 너무 잼병이라 그런지 ㅠ

snowall의 이미지

컴파일 메시지 보니까 Phone 선언할 때 대소문자가 틀렸네요. 근데 그럼 C++에서도 안됐을텐데 어떻게 된건가요...-_-

그리고 위에 익명분이 지적하신대로 for문에서 쓸 때 변수 선언 못합니다.

두가지 고치니까 잘 작동하네요. -_-;;;

피할 수 있을때 즐겨라! http://melotopia.net/b

neocoin의 이미지

보통 이런 글에 답변은 지양하지만... 술김에 추가합니다.

diff

< typedef struct Phone phone;
---
> typedef struct Phone phone; // 전화번호 구조체 재정의 
13,15c13,15
< void PhoneInsert(phone* phone); 
< void Phonesearch(phone* phone);
< void menu();
---
> void menu(); //메뉴
> void PhoneInsert(phone * phone);  //전화번호 입력 함수
> void Phonesearch(Phone * phone);  //전화번호 검색 함수
70c70
< void PhoneInsert(phone *phone)
---
> void PhoneInsert(Phone *phone)
83c83
< void Phonesearch(phone * phone)
---
> void Phonesearch(Phone * phone)
91,92c91
<     int i = 0;
<     for(i=0;i<cnt;i++)
---
>     for(int i=0;i<cnt;i++)
chwealthy의 이미지

======전화번호부==========
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");
요렇게 했는데....이게 잘못된거죠?

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.