You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
pq52sx6n8 0b21b631b7
Update README.md
3 months ago
README.md Update README.md 3 months ago
学生成绩管理系统.cpp ADD file via upload 3 months ago

README.md

int main() { funlist L; initlist(&L);

int choice;
char num[20];
char name[10];
int math_score;
int datastruct_score;
int English_score;
int physics_score;
int i;

printf("1.插入学生\n");
printf("2.通过学号查询学生\n");
printf("3.通过姓名查询学生\n");
printf("4.删除学生\n");
printf("5.按平均分排序学生\n");
printf("6.退出\n");

while (1) { 
    printf("请输入操作选项:");
    scanf("%d", &choice);
    switch (choice) {
        case 1: {
            Student e;
            printf("请输入姓名:");
            scanf("%s", name);
            strcpy(e.name, name);
            
            printf("请输入学号:");
            scanf("%s", num);
            strcpy(e.num, num);
            
            printf("请输入高数成绩:");
            scanf("%d", &math_score);
            e.math_score = math_score;
            
            printf("请输入数据结构成绩:");
            scanf("%d", &datastruct_score);
            e.datastruct_score = datastruct_score;
            
            printf("请输入英语成绩:");
            scanf("%d", &English_score);
            e.English_score = English_score;
            
            printf("请输入物理成绩:");
            scanf("%d", &physics_score);
            e.physics_score = physics_score;
            
            printf("请输入想插入的位置(1-%d):\n", L.length + 1);
            scanf("%d", &i);
            
            if (listinsert(&L, i, e)) {
                printf("插入成功\n");
            } else {
                printf("插入失败\n");
            }
            printlist(L);
            break;
        }
        
        case 2: {
            printf("输入想查找的学生学号:");
            scanf("%s", num);
            i = locateelem1(L, num);
            if (i != -1) {
                Student e;
                getelem(L, i, &e);
                printf("找到学生: 学号:%s 姓名:%s 平均分:%.2f\n", 
                       e.num, e.name, e.average);
            } else {
                printf("未找到学号为%s的学生\n", num);
            }
            break;
        }
        
        case 3: {
            printf("输入想查找的学生姓名:");
            scanf("%s", name);
            i = locateelem2(L, name);
            if (i != -1) {
                Student e;
                getelem(L, i, &e);
                printf("找到学生: 学号:%s 姓名:%s 平均分:%.2f\n", 
                       e.num, e.name, e.average);
            } else {
                printf("未找到姓名为%s的学生\n", name);
            }
            break;
        }
        
        case 4: {
            printf("输入想删除的学生位置:");
            scanf("%d", &i);
            if (deleteelem(&L, i)) {
                printf("删除成功\n");
            } else {
                printf("删除失败\n");
            }
            printlist(L);
            break;
        }
        
        case 5: {
            sort_by_average(&L);
            printlist(L);
            break;
        }
        
        case 6: {
            printf("退出系统\n");
            free(L.data); 
            return 0;
        }
        
        default:
            printf("无效选项,请重新输入\n");
    }
}

return 0;

}