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

网站软件资源2024年新闻摘抄十条

网站软件资源,2024年新闻摘抄十条,广州哪个公司做网站好,有没有专业帮忙做ppt的网站本项目是一个简易的学生信息管理系统,用户可以通过命令行界面完成学生信息的增加、删除、修改、查询、排序和列表展示等功能。数据以txt文件形式存储,实现了数据持久化。项目采用模块化设计,具有较好的可读性和扩展性。适用于初学者学习c语言…

本项目是一个简易的学生信息管理系统,用户可以通过命令行界面完成学生信息的增加、删除、修改、查询、排序和列表展示等功能。数据以txt文件形式存储,实现了数据持久化。项目采用模块化设计,具有较好的可读性和扩展性。适用于初学者学习c语言,也适用于高校学生课程设计,毕业设计参考。

一,开发环境需求

  • 操作系统 :windows, linux

  • 开发环境工具 :qt ,vscode, visual studio

  • 技术要求

    • 语言: C
    • 数据结构: 链表
    • 文件操作: 文件读写操作

二,功能说明

在这里插入图片描述

三,功能实现

  1. 录入学生信息
void addStudent(StudentList *list) {Student newStudent;printf("请输入学生信息:\n");printf("学号: ");scanf("%d", &(newStudent.id));while(getchar() != '\n');printf("姓名: ");fgets(newStudent.name, sizeof(newStudent.name), stdin);newStudent.name[strlen(newStudent.name)-1] = '\0'; // remove the newlineprintf("年龄: ");scanf("%d", &(newStudent.age));while(getchar() != '\n');printf("性别: ");fgets(newStudent.gender, sizeof(newStudent.gender), stdin);newStudent.gender[strlen(newStudent.gender)-1] = '\0';printf("专业: ");fgets(newStudent.major, sizeof(newStudent.major), stdin);newStudent.major[strlen(newStudent.major)-1] = '\0';printf("班级: ");fgets(newStudent.class_name, sizeof(newStudent.class_name), stdin);newStudent.class_name[strlen(newStudent.class_name)-1] = '\0';printf("成绩: ");scanf("%f", &(newStudent.score));// add the new student to the listStudentNode *newNode = (StudentNode*)malloc(sizeof(StudentNode));newNode->data = newStudent;newNode->next = list->head;list->head = newNode;list->count++;printf("学生信息已添加成功!\n");
}

此函数用于添加学生信息。

  1. 删除学生信息
void deleteStudent(StudentList *list) {int id;printf("请输入要删除的学生的学号: ");scanf("%d", &id);StudentNode *current = list->head;StudentNode *previous = NULL;while (current != NULL) {if (current->data.id == id) {if (previous == NULL) {list->head = current->next;} else {previous->next = current->next;}free(current);list->count--;printf("学生信息已删除。\n");return;}previous = current;current = current->next;}printf("未找到该学生的信息。\n");
}

此函数用于删除指定学生信息。

3.s 修改学生信息

void modifyStudent(StudentList *list) {int id;printf("请输入要修改的学生的学号: ");scanf("%d", &id);StudentNode *current = list->head;while (current != NULL) {if (current->data.id == id) {printf("请输入新的学生信息:\n");printf("姓名: ");while(getchar() != '\n'); // clear bufferfgets(current->data.name, sizeof(current->data.name), stdin);current->data.name[strlen(current->data.name)-1] = '\0'; // remove newlineprintf("年龄: ");scanf("%d", &(current->data.age));printf("性别: ");while(getchar() != '\n');fgets(current->data.gender, sizeof(current->data.gender), stdin);current->data.gender[strlen(current->data.gender)-1] = '\0';printf("专业: ");while(getchar() != '\n');fgets(current->data.major, sizeof(current->data.major), stdin);current->data.major[strlen(current->data.major)-1] = '\0';printf("班级: ");while(getchar() != '\n');fgets(current->data.class_name, sizeof(current->data.class_name), stdin);current->data.class_name[strlen(current->data.class_name)-1] = '\0';printf("成绩: ");scanf("%f", &(current->data.score));printf("学生信息已修改。\n");return;}current = current->next;}printf("未找到该学生的信息。\n");
}

此函数用于修改指定学生信息。

  1. 查询学生信息
void queryStudent(const StudentList *list) {int id;printf("请输入要查询的学生的学号: ");scanf("%d", &id);StudentNode *current = list->head;while (current != NULL) {if (current->data.id == id) {printf("学号: %d\n", current->data.id);printf("姓名: %s\n", current->data.name);printf("年龄: %d\n", current->data.age);printf("性别: %s\n", current->data.gender);printf("专业: %s\n", current->data.major);printf("班级: %s\n", current->data.class_name);printf("成绩: %.2f\n", current->data.score);return;}current = current->next;}printf("未找到该学生的信息。\n");
}

此函数用于查询指定学生信息。

  1. 对学生信息排序
// 排序学生信息(这里以学号为例,升序排列)
void sortStudents(StudentList *list) {// 使用冒泡排序算法if (list->count < 2) return;StudentNode *i, *j;for (i = list->head; i->next != NULL; i = i->next) {for (j = list->head; j->next != NULL; j = j->next) {if (j->data.id > j->next->data.id) {// 交换数据Student temp = j->data;j->data = j->next->data;j->next->data = temp;}}}printf("学生信息已排序。\n");
}

此函数用于对学生信息进行排序。

  1. 列出所有学生信息
void displayAllStudents(const StudentList *list) {if (!list->head) {printf("没有学生信息可供显示。\n");return;}printf("学号   姓名       年龄 性别 专业                  班级       成绩\n");printf("-----------------------------------------------------------------\n");StudentNode *current = list->head;while (current != NULL) {printf("%-6d %-10s %-4d %-4s %-20s %-10s %.2f\n",current->data.id, current->data.name, current->data.age,current->data.gender, current->data.major, current->data.class_name,current->data.score);current = current->next;}printf("-----------------------------------------------------------------\n");
}

此函数用于显示所有学生的信息。

四,效果图

后续截图添加

五,源码

代码已开源,可访问gitee下载。

六,总结

本项目是一个简单的学生信息管理系统,通过命令行界面与用户交互。主要实现了学生信息的增、删、查、改等功能。项目中主要使用C语言进行开发,并使用链表作为主要数据结构。经过严格的测试和修正,现在可以正常运行并满足基本的需求。

http://www.dinnco.com/news/34101.html

相关文章:

  • 网站建设 客户评价淘宝店铺推广方法
  • 深圳分销网站设计哪家好百度怎么注册自己的店铺
  • 其他公司盗用公司名做网站seo诊断网站
  • 一流本科专业建设点网站设计一个公司网站多少钱
  • 备案号链接工信部网站营销推广的平台
  • 表白链接生成器青岛seo整站优化
  • 大兴做网站公司网站seo李守洪排名大师
  • 网站建设维护招聘要求产品宣传方式有哪些
  • 深圳网站程序开发长沙百度
  • 东阳网站建设怎么选宣传软文是什么意思
  • 减肥网站如何做德兴网站seo
  • 新能源电动汽车电池使用寿命多久seo的培训网站哪里好
  • 服装定制店的前景广州网站优化软件
  • 衡阳购物网站开发案例上海专业seo排名优化
  • 有谁认识做微网站的seo是啥软件
  • 广州自助公司建网站西安优化seo托管
  • 聊城做企业网站百度客服电话4001056
  • 网页设计 网站建设啥意思百度最怕哪个部门去投诉
  • 网站的域名和密码百度地址如何设置门店地址
  • 网站建设公司发展前景手机seo关键词优化
  • 小企业一键做网站网络项目怎么推广
  • 求个网站你知道的站长seo
  • 怎么把在微企点做响应式网站网络营销服务
  • 注册网站模板爱廷玖达泊西汀
  • 建筑案例分析模板网络seo首页
  • 做国际贸易哪个网站好网络营销的优化和推广方式
  • 哪些网站是用python做的怎样免费给自己的公司做网站
  • 建什么类型个人网站比较好社群营销案例
  • 仿做唯品会网站google浏览器下载安装
  • 做游戏网站定位河南新站关键词排名优化外包