#include<stdio.h>
#include<string.h>
struct student{
char _name[10];
int score[5];
int sum;
};
student student_array[10];
struct sort{
int sort_sum;
char _name[10];
};
sort sort_array[10];
void main(void){
FILE *in_out;
in_out = fopen("in_out.txt","r");
in_out = fopen("in_out.txt","w");
int student_num = 0;
int instruction = 0;
char search_name[10];
int loc = -1;
while(1){
printf("메뉴입력:\n");
printf("<1> 이름/점수 입력, <2> 이름검색/ 점수수정 <3> 저장 <4> 불러오기 <5> 가나다 정렬(이름) <6> 총점 정렬 <7> 종료\n");
scanf("%d",&instruction);
if(instruction == 1){
printf("학생 이름과 그 학생의 5과목의 점수를 차례로 입력하십시오.\n");
printf("예시: 홍길동 10 20 30 40 50\n");
if(student_num<10){
scanf("%s",&student_array[student_num]._name);
for(int j=0;j<5;j++){
scanf("%d",&student_array[student_num].score[j]);
}
printf("성공적으로 입력되었습니다.\n");
student_num++;
}else if(student_num>=10){
printf("오류! 학생수가 10명이므로 더 이상 입력이 불가능합니다.\n");
}
}else if(instruction == 2){
printf("점수를 수정할 학생의 이름을 입력하십시오.\n");
scanf("%s",&search_name);
for(int i=0;i<student_num;i++){
if(!strcmp(search_name,student_array[i]._name)){
loc = i;
}
}
if(loc == -1){
printf("입력하신 학생의 이름이 없습니다.\n");
}else{
printf("수정할 점수를 입력하십시오.\n");
scanf("%d",&student_array[loc].score);
loc = -1;
}
printf("성공적으로 입력되었습니다.\n");
}else if(instruction == 3){
fprintf(in_out,"%d",&student_num);
for(int i=0;i<student_num;i++){
fprintf(in_out,"%s ",student_array[i]._name);
for(int j=0;j<5;j++){
fprintf(in_out,"%d",student_array[i].score[j]);
}
fprintf(in_out,"\n");
}
printf("성공적으로 저장되었습니다.\n");
}else if(instruction == 4){
fscanf(in_out,"%d",&student_num);
for(int i=0;i<student_num;i++){
fscanf(in_out,"%s",student_array[i]._name);
for(int j=0;j<5;j++){
fscanf(in_out,"%d",student_array[i].score[j]);
}
}
printf("성공적으로 불러왔습니다.\n");
printf("학생수 : %d\n",&student_num);
printf("학생이름 과목1 과목2 과목3 과목4 과목5\n");
for(int i=0;i<student_num;i++){
printf("%s",student_array[i]._name);
for(int j=0;j<5;j++){
printf("%d",student_array[i].score[j]);
}
printf("\n");
}
}else if(instruction == 5){
}else if(instruction == 6){
for(int i=0;i<student_num;i++){
int sum = 0;
for(int j=0;j<5;j++){
sum = sum + student_array[i].score[j];
}
student_array[i].sum = sum;
}
if(student_num == 0){
printf("입력된 학생이 없습니다.\n");
}else if(student_num == 1){
printf("학생이름 총점\n");
printf("%s",student_array[0]._name);
printf("%d",student_array[0].sum);
}else if(student_num == 2){
printf("학생이름 총점\n");
if(student_array[0].sum > student_array[1].sum){
printf("%s",student_array[0]._name);
printf("%d",student_array[0].sum);
printf("%s",student_array[1]._name);
printf("%d",student_array[1].sum);
}else{
printf("%s",student_array[1]._name);
printf("%d",student_array[1].sum);
printf("%s",student_array[0]._name);
printf("%d",student_array[0].sum);
}
}else if(student_num > 2){
int max = student_array[0].sum;
int max_loc = 0;
for(int i=1;i<student_num;i++){
if(student_array[i].sum > max){
max = student_array[i].sum;
max_loc = i;
}
}
int min = student_array[0].sum;
for(int i=1;i<student_num;i++){
if(student_array[i].sum < min){
min = student_array[i].sum;
}
}
sort_array[0].sort_sum = max;
for(int i=0;i<10;i++){
sort_array[0]._name[i] = student_array[max_loc]._name[i];
}
int pre_max = max;
for(int i=1;i<student_num;i++){
max = min;
for(int j=0;j<student_num;j++){
if((student_array[j].sum >= min) && (student_array[j].sum < pre_max)){
max = student_array[j].sum;
max_loc = j;
}
}
sort_array[i].sort_sum = max;
for(int j=0;j<10;j++){
sort_array[i]._name[j] = student_array[max_loc]._name[j];
}
pre_max = max;
}
}else if(instruction == 7){
break;
}
}
}
학교과제인데 오류나,,ㅠㅠ 뭐가잘못된거야??
좆밥아 그것도 모르냐 stdio가 아니라 studio에다가 ;이거 않붙치는거다
아 길다
엥 뭔말이야;;ㅠ
엿먹으래요