/*----------------------------------------------------------------------------------------- * Project Name : Report02 - Struct * Programmed by : Young Min Jo * Student Number : 2008060021 * Date : Monday 17 Mar 2014 * (c) Copyright by Department of Computer Education at Chungbuk * National University, Chungbuk, Republic of Korea ------------------------------------------------------------------------------------------*/ #include "stdafx.h" #include #include #define MAX 100 typedef struct{ char name[10]; char address[20]; char major[20]; char tel[20]; int age; int id; int grade; }student; student students[MAX]; int count = 0; /*--------------------------------------- Sorting ----------------------------------------- /* Function : Á¤·Ä ------------------------------------------------------------------------------------------*/ void Sorting(){ student temp; int min; int minindex; for (int i = 0; i < count; i++){ min = students[i].id; minindex = i; for (int j = i + 1; j < count; j++){ if (min > students[j].id){ min = students[j].id; minindex = j; } } temp = students[i]; students[i] = students[minindex]; students[minindex] = temp; } } /*-------------------------------------- Search ------------------------------------------- /* Function : Ž»ö ------------------------------------------------------------------------------------------*/ int Search(int tempid, int count){ for (int i = 0; i < count; i++){ if (students[i].id == tempid){ return i; } } return -1; } /*-------------------------------------- Delete ------------------------------------------- /* Function : »èÁ¦ ------------------------------------------------------------------------------------------*/ void Delete(int tempid){ int index; index = Search(tempid, count); if (index == -1){ printf("ÀÏÄ¡ÇÏ´Â ÇйøÀÌ ¾ø½À´Ï´Ù\n"); } else{ printf("Çйø %d°¡ »èÁ¦ µÇ¾ú½À´Ï´Ù\n", students[index].id); for (int i = index; i < count - 1; i++){ students[i] = students[i + 1]; } count--; } } /*-------------------------------------- Insert ------------------------------------------- /* Function : »ðÀÔ ------------------------------------------------------------------------------------------*/ void Insert(student Data, int count){ students[count] = Data; Sorting(); } /*-------------------------------------- Display ------------------------------------------- /* Function : ÀúÀåµÈ ÀÚ·á Ãâ·Â ------------------------------------------------------------------------------------------*/ void Display(int count){ printf("\n"); printf("********Students List********\n"); for (int i = 0; i < count; i++){ printf("Çйø : %d\n", students[i].id); printf("À̸§ : %s\n", students[i].name); printf("Àü°ø : %s\n", students[i].major); printf("Çгâ : %d\n", students[i].grade); printf("³ªÀÌ : %d\n", students[i].age); printf("ÀüÈ­¹øÈ£ : %s\n", students[i].tel); printf("ÁÖ¼Ò : %s\n", students[i].address); printf("\n"); } printf("\n"); } /*--------------------------------------- Menu -------------------------------------------- /* Function : ¸Þ´º ------------------------------------------------------------------------------------------*/ void Menu(){ printf("1. Search\n"); printf("2. Insert\n"); printf("3. Delete\n"); printf("4. Display\n"); printf("5. Exit\n"); } int _tmain(int argc, _TCHAR* argv[]) { Menu(); int check; int tempid; int index; student Data; while (1){ printf("¸Þ´º ¹øÈ£ : "); scanf("%d", &check); if (check == 1){ printf("ÇйøÀ» ÀÔ·ÂÇϼ¼¿ä : "); scanf("%d", &tempid); index = Search(tempid, count); if (index == -1){ printf("ÀÏÄ¡ÇÏ´Â ÇйøÀÌ ¾ø½À´Ï´Ù\n"); } else{ printf("\n"); printf("********Search Result********\n"); printf("Çйø : %d\n", students[index].id); printf("À̸§ : %s\n", students[index].name); printf("Àü°ø : %s\n", students[index].major); printf("Çгâ : %d\n", students[index].grade); printf("³ªÀÌ : %d\n", students[index].age); printf("ÀüÈ­¹øÈ£ : %s\n", students[index].tel); printf("ÁÖ¼Ò : %s\n", students[index].address); } } else if (check == 2){ printf("Çйø : "); scanf("%d", &Data.id); index = Search(Data.id, count); if (index != -1){ printf("Áߺ¹µÇ´Â ÇйøÀÌ ÀÖ½À´Ï´Ù\n"); continue; } printf("À̸§ : "); scanf("%s", Data.name); printf("Àü°ø : "); scanf("%s", Data.major); printf("Çгâ : "); scanf("%d", &Data.grade); printf("³ªÀÌ : "); scanf("%d", &Data.age); printf("ÁÖ¼Ò : "); scanf("%s", Data.address); printf("ÀüÈ­¹øÈ£ : "); scanf("%s", Data.tel); Insert(Data, count++); } else if (check == 3){ printf("»èÁ¦ÇÒ ÇйøÀ» ÀÔ·ÂÇϼ¼¿ä : "); scanf("%d", &tempid); Delete(tempid); } else if (check == 4){ Display(count); } else if (check == 5){ exit(0); } else{ printf("¸Þ´º¹øÈ£¸¦ À߸ø ÀÔ·ÂÇϼ̽À´Ï´Ù.\n"); } } return 0; }