#include <stdio.h>
typedef struct{ //구조체 타입 생성
int i;
char name[10];
char sex[3];
}Student;
void sort(Student *s,int i){ // 구조체 정렬 함수
int j,k;
for(j=0;j<i;j++){
for(k=j;k<i;k++)
if((s+j)->name>(s+k)->name) // s[j]구조체의 이름이 s[k]구조체의 이름보다 뒤에있을경우
swap_S(s+j,s+k);
}
}
void swap_S(Student *s1, Student *s2){ //swap함수
Student tmp;
tmp = *s1;
*s1 = *s2;
*s2 = tmp;
}
int main(void){
FILE *src = fopen(\"input.txt\",\"rt\"); // 미리 만들어둔 텍스트 파일 오픈
FILE *des = fopen(\"output.txt\", \"wt\"); // 정렬해서 입력할 텍스트 파일 오픈
int i,j;
Student s[10];
fscanf(src,\"%d\",&i); // 텍스트파일 읽어오고
for(j=0;j<i;j++)
fscanf(src,\"%d %s %s\",&s[j].i,&s[j].name,&s[j].sex); // 구조체에 파일 입력
sort(s,i); // 구조체를 이름기준으로 정렬시키고
for(j=0;j<i;j++)
fprintf(des,\"%d %s %s\",s[j].i,s[j].name,s[j].sex); // 정렬시킨 구조체를 파일에 입력
return 0;}
대충 이런 코드인데...
막상 실행시켜보면 swap_S함수가
재정의. 기본 형식이 다릅니다.
이런 오류가 뜨면서 실행이 안된단 말야... 어떻게 해결해야되?
이거 알기 힘든 오류이긴 한데 -_-) C/C++는 모든 함수/변수가 사용 전에 정의되는걸 전제로 하는 언어임 ㅇㅇ. 만약 먼저 정의가 안되있다면 그 타입을 int로 가정하는데, 뒤에 오는 함수가 이 타입이 아니니까 저런 오류메세지가 뜸.
도사형 그럼 해결하려면 어떻게 해야되..?
XOROX형 말대로 하니까 됬어 고마워 ㅎㅎ
C는 알아보기가 힘들다.. 자바를 해서 그런가.. 헷갈림 잘몰라 난 C 그냥 혼자공부해서