<div>제가 공부하면서 주소록 프로그램 하나짜고있는데요 </div> <div>정렬하는쪽 부분공부를 덜해서 파일저장하고 불러오고는 할수있는데....</div> <div>이소스에서 result.txt 로 파일 저장하기 전에 이름순으로 정렬해서 저장하도록 수정좀해주실분있나요 .....</div> <div>구조체배열이여서 어떻게 정렬해야할지 도무지 감이 안잡히네요 .. 어디서 정렬해야할지도</div> <div>부탁좀드리겠습니다.........</div> <div> </div> <div>#include <stdio.h></div> <div>#include <string.h></div> <div>#include <stdlib.h></div> <div> </div> <div> </div> <div> </div> <div>struct person</div> <div>{</div> <div> char name[20];</div> <div> char htel[20];</div> <div> char tel[20];<br /> <br /> char email[40];<br />};</div> <div> </div> <div>struct person data[40];</div> <div>int index;</div> <div> </div> <div>void WriteAddress();//입력</div> <div>void ListAddress();//출력</div> <div>void ModifyAddress();//수정</div> <div>void ModiModifyAddress();//검색</div> <div> </div> <div>void Save()// </div> <div>{</div> <div> FILE *fp;</div> <div> int i;<br /> int j;</div> <div> </div> <div> if((fp = fopen("result.txt" , "w")) == NULL )</div> <div> {</div> <div> printf("파일오픈에러!\n");</div> <div> return ;</div> <div> }</div> <div> </div> <div> for(i=0 ; i < index ; i++)</div> <div> {</div> <div> fprintf(fp,"%s\t%s\t\t%s\t%s\n",data[i].name , data[i].htel , data[i].tel , data[i].email);</div> <div> }</div> <div> fclose(fp);</div> <div> </div> <div> printf("result.txt파일에저장되었습니다\n");</div> <div>}</div> <div> </div> <div>void Load()</div> <div>{</div> <div> FILE *fp;</div> <div> int i;</div> <div> </div> <div> if((fp = fopen("result.txt" , "r")) == NULL ) return ;</div> <div> </div> <div> while( fscanf(fp , "%s %s %s %s", data[index].name , data[index].htel , data[index].tel , data[index].email) != EOF)</div> <div> {</div> <div> index++;</div> <div> }</div> <div> fclose(fp);</div> <div> </div> <div> printf("파일의내용을Loadind 했습니다. \n");</div> <div>}</div> <div> </div> <div>int main()</div> <div>{</div> <div> char x;</div> <div> </div> <div> Load();</div> <div> </div> <div> while(1)</div> <div> {</div> <div> printf("1.주소입력하기 \n");</div> <div> printf("2.입력된주소보기 \n");</div> <div> printf("3.수정하기 \n");</div> <div> printf("4.주소검색하기 \n");</div> <div> printf("5.종료하기 \n");</div> <div> printf("선택: [ ]\b\b\b");</div> <div> scanf("%c", &x);</div> <div> </div> <div> switch (x)</div> <div> {</div> <div> case '1': WriteAddress(); break;</div> <div> case '2': ListAddress(); break;</div> <div> case '3': ModifyAddress(); break;</div> <div> case '4': ModiModifyAddress(); break;</div> <div> case '5': Save(); return 0;</div> <div> }</div> <div> </div> <div> printf("\n");</div> <div> }</div> <div> return 0;</div> <div>}</div> <div> </div> <div>void WriteAddress()// 이름 집전화 핸드폰 이메일 받도록 변경 하고 나머지들도알아서<br />{<br /> if (index < 40)<br /> {</div> <div> printf("이름: "); fflush(stdin); gets( data[index].name );</div> <div> printf("집전화: "); fflush(stdin); gets( data[index].htel );</div> <div> printf("휴대전화: "); fflush(stdin); gets( data[index].tel );<br /> <br /> printf("이메일: "); fflush(stdin); gets( data[index].email );</div> <div> index++;</div> <div> }</div> <div> else</div> <div> {</div> <div> printf("더이상입력불가능\n");</div> <div> }</div> <div>}</div> <div> </div> <div>void ListAddress()</div> <div>{</div> <div> int i;</div> <div> printf("이름\t집전화\t\t\t휴대전화\t\t이메일\n");</div> <div> for(i=0 ; i < index ; i++)</div> <div> {</div> <div> printf("%s\t%s\t\t%s\t%s\n", data[i].name , data[i].htel , data[i].tel , data[i].email);</div> <div> }</div> <div> printf("\n");</div> <div>}</div> <div> </div> <div>void ModifyAddress()</div> <div>{</div> <div> int i;</div> <div> char name[20];</div> <div> printf("수정할이름: ");fflush(stdin);</div> <div> gets( name ) ;</div> <div> </div> <div> for(i=0 ; i < index ; i++)</div> <div> {</div> <div> if( strcmp( name , data[i].name) == 0 )</div> <div> {</div> <div> printf("[ 수정]\n");</div> <div> printf("이름: "); fflush(stdin); gets( data[i].name );</div> <div> printf("집전화: "); fflush(stdin); gets( data[i].htel );</div> <div> printf("휴대전화: "); fflush(stdin); gets( data[i].tel );<br /> <br /> printf("이메일: "); fflush(stdin); gets( data[i].email );<br /> return ;</div> <div> }</div> <div> }</div> <div> </div> <div> printf("검색실패\n");</div> <div>}</div> <div> </div> <div>void ModiModifyAddress()</div> <div>{</div> <div> int i;</div> <div> char name[20];</div> <div> printf("검색할이름: ");fflush(stdin);</div> <div> gets( name ) ;</div> <div> </div> <div> for(i=0 ; i < index ; i++)</div> <div> {</div> <div> if( strcmp( name , data[i].name) == 0 )</div> <div> {</div> <div> printf("%s\t%s\t\t%s\t%s\n", data[i].name , data[i].htel , data[i].tel, data[i].email);</div> <div> }</div> <div> }</div> <div>}<br /></div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.