#include <stdio.h>
#pragma warning (disable : 4996)
#include <string.h>
#define MAX 30
int count = 0 , menu, s_key, search_h;
void student_info_save();
void student_display();
void memo();
void student_search();
void search_name();
void search_hak();
struct student
{
char name[MAX][100], search_n[100];
int hak[MAX];
int kor[MAX], math[MAX];//학번, 국어,수학 멤버변수지정
}stu;
int main(void)
{
while (menu != 4)
{
printf("============================================\n");//줄일 수 있지만 간결성보다는 확인할 때 편하므로 씀
printf("1.학생정보저장 2.학생검색 3.학생보기 4.종료\n");
printf("============================================\n");
printf("input : ");
scanf("%d", &menu);
switch (menu)
{
case 1: student_info_save();
memo();
break;
case 2: student_search();
break;
case 3: student_display();
break;
case 4: menu = 4;
printf("프로그램 종료\n");
break;
default: printf("잘못된 입력입니다.\n");
break;
}
}
}
/*함수 정의 부 */
void student_info_save()
{
if (count >= MAX)
printf("더이상 저장할 수 없습니다.\a\n");
else
{
printf("이름을 입력해 주세요:");
scanf("%s", stu.name[count]);
printf("학번을 입력해 주세요:");
scanf("%d", &stu.hak[count]);
printf("국어성적을 입력해 주세요:");
scanf("%d", &stu.kor[count]);
printf("영어성적을 입력해 주세요:");
scanf("%d", &stu.math[count]);
printf("저장완료!\n");
count++;
}
}
void student_search()
{
int m; //검색방법 메뉴 변수
printf("1.이름 2.학번\n");
printf("검색할 방법을 선택하세요 : ");
scanf("%d", &m);
if (m == 1)
{
search_name();
}
else if (m == 2)
{
search_hak();
}
printf("<<검색결과>>\n");
printf("이름:%s 학번:%d 국어:%d ", stu.name[s_key], stu.hak[s_key], stu.kor[s_key]);
printf("수학:%d 평균:%lf\n", stu.math[s_key], (stu.kor[s_key] + (float)stu.math[s_key])/2);
}
void search_name()
{
printf("이름 입력:");
scanf("%s", stu.search_n);
for (int i = 0; i<30; i++)
{
if (strcmp(stu.search_n, stu.name[i]) == 0)
{
s_key = i;
break;
}
}
}
void search_hak()
{
printf("학번을 입력:");
scanf("%d", &search_h);
for (int i = 0; i<MAX; i++)
{
if (search_h == stu.hak[i])
{
s_key = i;
break;
}
}
}
void student_display()
{
printf("====================================\n");
for (int i = 0; i<count; i++)
printf("%s\t%d\t%d\t%d%lf\n", stu.name[i], stu.hak[i], stu.kor[i], stu.math[i], (stu.kor[i]+stu.math[i])/2);
printf("====================================\n");
}
void memo()
{
int i;
FILE *fp;
fp = fopen("C Programming TEST.txt", "w");
fprintf(fp, "학번\t\t이름\t국어\t수학\t평균\n");
for (i = 0; i < count; i++)
{
fprintf(fp, "%d\t", stu.hak[i]);
fprintf(fp, "%s\t", stu.name[i]);
fprintf(fp, "%d\t", stu.kor[i]);
fprintf(fp, "%d\t", stu.math[i]);
fprintf(fp, "%lf\n", (float)(stu.kor[i]+stu.math[i])/2);
}fclose(fp);
}
이런식으로 계속 오류가 뜨네요. 위에 올라가서 찾아봐도 분명히 ;가 존재하는데 왜이러는거죠..