当前位置: 首页 > news >正文

修改学生信息管理系统以及查询

// 修改学生信息实现
void modifyStudent(StudentManager *manager) 
{
if (manager->count == 0) 
{
printf("没有学生信息可修改\n");
return;
}

int id;
printf("请输入要修改的学生学号: ");
scanf("%d", &id);
getchar();  // 清除输入缓冲区

int found = 0;
for (int i = 0; i < manager->count; i++) 
{
if (manager->students[i].id == id) 
{
printf("请输入新姓名: ");
fgets(manager->students[i].name, MAX_NAME_LENGTH, stdin);
manager->students[i].name[strcspn(manager->students[i].name, "\n")] = 0;

printf("请输入新的三门课成绩: ");
scanf("%f %f %f", 
&manager->students[i].scores[0], 
&manager->students[i].scores[1], 
&manager->students[i].scores[2]);

// 重新计算总分和平均分
manager->students[i].total = 0;
for (int j = 0; j < 3; j++) 
{
manager->students[i].total += manager->students[i].scores[j];
}
manager->students[i].average = manager->students[i].total / 3;

found = 1;
printf("学生信息修改成功\n");
break;
}
}

if (!found) 
{
printf("未找到该学号的学生\n");
}
}
//查询学生以及实现

void querryStudent(StudentManager*manager)

{

        if(manager->count=0)

        {

                printf("没有学生信息可查询\n");

return;
}

int id;
printf("请输入要查询的学生学号: ");
scanf("%d", &id);
getchar();  // 清除输入缓冲区

int found = 0;
for (int i = 0; i < manager->count; i++) 
{
if (manager->students[i].id == id) 
{
printf("学号: %d\n", manager->students[i].id);
printf("姓名: %s\n", manager->students[i].name);
printf("成绩: %.1f %.1f %.1f\n", 
manager->students[i].scores[0],
manager->students[i].scores[1],
manager->students[i].scores[2]);
printf("总分: %.1f\n", manager->students[i].total);
printf("平均分: %.1f\n", manager->students[i].average);
found = 1;
break;
}
}

if (!found) 
{
printf("未找到该学号的学生\n");
}
}

// 排序学生实现 (按总分降序)
void sortStudents(StudentManager *manager) 
{
if (manager->count <= 1) 
{
printf("无需排序\n");
return;
}

// 冒泡排序实现
for (int i = 0; i < manager->count - 1; i++) 
{
for (int j = 0; j < manager->count - i - 1; j++) 
{
if (manager->students[j].total < manager->students[j + 1].total) 
{
// 交换两个学生
Student temp = manager->students[j];
manager->students[j] = manager->students[j + 1];
manager->students[j + 1] = temp;
}
}
}

printf("学生已按总分降序排列\n");
}

// 显示所有学生实现
void displayAll(StudentManager *manager) 
{
if (manager->count == 0) 
{
printf("没有学生信息可显示\n");
return;
}

printf("\n所有学生信息:\n");
printf("学号\t姓名\t\t成绩1\t成绩2\t成绩3\t总分\t平均分\n");
for (int i = 0; i < manager->count; i++) 
{
printf("%d\t%-15s%.1f\t%.1f\t%.1f\t%.1f\t%.1f\n", 
manager->students[i].id,
manager->students[i].name,
manager->students[i].scores[0],
manager->students[i].scores[1],
manager->students[i].scores[2],
manager->students[i].total,
manager->students[i].average);
}
}

// 文件保存示例
void saveToFile(StudentManager *manager) 
{
FILE *file = fopen(FILENAME, "wb");
if (file == NULL) 
{
printf("无法打开文件\n");
return;
}

// 写入学生数量
fwrite(&manager->count, sizeof(int), 1, file);
// 写入所有学生数据
fwrite(manager->students, sizeof(Student), manager->count, file);

fclose(file);
}

// 文件读取示例
void loadFromFile(StudentManager *manager) 
{
FILE *file = fopen(FILENAME, "rb");
if (file == NULL) 
{
printf("无法打开文件,将使用空数据\n");
return;
}

// 读取学生数量
fread(&manager->count, sizeof(int), 1, file);
// 读取所有学生数据
fread(manager->students, sizeof(Student), manager->count, file);

fclose(file);

}

http://www.lryc.cn/news/617814.html

相关文章:

  • Ansys Mechanical中的声学分析
  • Nestjs框架: RBAC基于角色的权限控制模型初探
  • java内部类-匿名内部类
  • 适用于高质量核磁共振(NMR)的溶剂推荐
  • Apache ECharts 6 核心技术解密 – Vue3企业级可视化实战指南
  • 每日五个pyecharts可视化图表-line:从入门到精通 (3)
  • 编程技术杂谈4.0
  • SQL复杂查询
  • 论文学习22:UNETR: Transformers for 3D Medical Image Segmentation
  • TCGA数据集下载工具gdc-client下载慢解决方案
  • 掘金数据富矿,永洪科技为山东黄金定制“数智掘金”实战营
  • JavaScript let的使用
  • macos彻底删除vscode
  • 2025年农业工程与环境预防国际会议(ICAEEP 2025)
  • k8s 部署mysql主从集群
  • 用AListLite让安卓手机成为NAS实现文件共享
  • 基于开源模型构建医疗疾病大模型:从理论到实践
  • 2025牛客多校第八场 根号-2进制 个人题解
  • USB 基本描述符
  • TRL - Transformer Reinforcement Learning SFTTrainer 和 SFTConfig
  • AI(2)-神经网络(激活函数)
  • 当生产环境卡成 PPT:Spring Boot 线程 Dump 捉妖指南 - 第544篇
  • 【09-神经网络介绍2】
  • 数据结构-排序(2)
  • 【排序算法】⑦归并排序
  • 用Python从零开始实现神经网络
  • 【08-神经网络介绍】
  • STM32 HAL库 HAL_TIM_OC_Start函数解读
  • maven项目打包成sdk后在别的项目使用
  • 深度解析三大HTTP客户端(Fetch API、Axios 和 Alova)——优劣与选择策略