1.任务描述 写一个命令行交互式 C 语言程序。该程序需要实现下述菜单功能: 1、数据存储。 你需要将⼀系列的学生期末考试信息进行存储(学生人数不会超过 100)。每个学生的信息包括:姓名(例如 Liuyumeng) ;学号(12 位数字组成,开头 4 位为 2021、2020、2019);C 语言成绩(一个大于等于零的整数); GPA 等级(A+, A, B+, B, C+, C, D, F );班级排名(成绩相同需并列)。其中,姓名,学号,成绩为输入数据,其余数据需要你计算。 同时,你需要添加⼀些维护数据库的功能: prime(id): 返回某个学生的成绩是否为素数 coprime(id, id):返回某两个学生的成绩是否互质/互素 3、数据分析 根据 GPA 对学生成绩进行考情分析:A+多少⼈,A 多少⼈,以此类推。

时间: 2024-02-21 11:02:26 浏览: 16
好的,根据您的要求,我可以给您提供大致的程序框架,您可以在此基础上进行修改和完善。以下是程序框架: ```c #include <stdio.h> #include <stdlib.h> #include <string.h> // 定义学生结构体 typedef struct { char name[20]; // 姓名 char id[13]; // 学号 int score; // 成绩 char grade; // GPA等级 int rank; // 班级排名 } Student; // 定义链表节点结构体 typedef struct Node { Student data; // 学生信息 struct Node* next; // 指向下一个节点的指针 } Node; // 定义链表指针类型 typedef Node* List; // 初始化链表 void initList(List* plist); // 在链表末尾添加节点 void addNode(List* plist, Student stu); // 查询某个学生的成绩是否为素数 void prime(List list, char* id); // 查询某两个学生的成绩是否互质/互素 void coprime(List list, char* id1, char* id2); // 根据 GPA 对学生成绩进行考情分析 void analyzeGPA(List list); int main() { List list; initList(&list); int choice; do { printf("1. 数据存储\n"); printf("2. 查询学生成绩是否为素数\n"); printf("3. 查询学生成绩是否互质/互素\n"); printf("4. 根据 GPA 进行考情分析\n"); printf("5. 退出程序\n"); printf("请选择操作:"); scanf("%d", &choice); switch (choice) { case 1: // 数据存储 break; case 2: // 查询学生成绩是否为素数 break; case 3: // 查询学生成绩是否互质/互素 break; case 4: // 根据 GPA 进行考情分析 break; case 5: // 退出程序 break; default: printf("输入有误,请重新选择!\n"); break; } } while (choice != 5); return 0; } void initList(List* plist) { // 初始化链表 } void addNode(List* plist, Student stu) { // 在链表末尾添加节点 } void prime(List list, char* id) { // 查询某个学生的成绩是否为素数 } void coprime(List list, char* id1, char* id2) { // 查询某两个学生的成绩是否互质/互素 } void analyzeGPA(List list) { // 根据 GPA 对学生成绩进行考情分析 } ``` 您可以根据需求进行添加、修改和完善。希望能对您有所帮助!

相关推荐

写一个命令行交互式C语言程序。该程序需要实现下述菜单功能: 1. 数据存储。 你需要将一系列的学生期末考试信息进行存储(学生人数不会超过100)。每个学生的信息包括:姓名 (由first name 和last name 两部分组成,例如Jingyu LI,first_name = "Jingyu" last_name = "LI") ;学号(12位数字组成,开头4位为2022、2021、2020);C语言成绩(一个大于等于零的整数);重 修信息(学号2022………为否,其余为是);GPA等级(A+, A, B+, B, C+, C, D, F );班级排名(成绩相 同需并列)。其中,姓名,学号,成绩为输入数据,其余数据需要你计算。 同时,你需要添加一些维护数据库的功能 Add(name, id, score): 新增一个学生的信息; Delete(id): 根据学号删除某个学生的信息; Search(id):根据学号查找某个学生的信息。 2. 数据处理。 Sort_by_score(): 生成根据分数由高到低顺序排列学生信息的表格 3. 数据加密和解密 char* encrypt(int key): 加密学生成绩并返回 char* decrypt(int key, char *str): 解密学生成绩并返回 加密规则:把所有学生的成绩拼接成一个只包含数字的字符串,然后依据整数key对其进行加密。例 如:数字1被key=5加密之后变成6;数字5被key=5加密之后变成0。单个数字加密之后仍是单个数字。 解密规则与加密规则对称。 4. 数据分析 根据GPA对学生成绩进行考情分析:A+多少人,A多少人,以此类推。GPA等级参考SZTU评分等级。 5. 用户界面 实现一个菜单,以供用户决定要使用哪个功能。

最新推荐

recommend-type

微信小程序wx.request实现后台数据交互功能分析

主要介绍了微信小程序wx.request实现后台数据交互功能,分析微信小程序wx.request在后台数据交互过程中遇到的问题与相关的解决方法,需要的朋友可以参考下
recommend-type

详解微信小程序与内嵌网页交互实现支付功能

上个月,小程序开放了新功能,支持内嵌网页,所以我就开始了小程序内嵌网页之路,之前我只是个小安卓。 内嵌网页中可使用JSSDK 1.3.0提供的接口,可坑就来了,居然不支持支付接口的调用,经过一番研究,总算打通了...
recommend-type

人机交互程序 python实现人机对话

主要为大家详细介绍了人机交互程序,初步实现python人机对话,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
recommend-type

CSAE 53-2020 合作式智能运输系统 车用通信系统应用层及应用数据交互标准(第一阶段)(1)

V2X是汽车、电子、信息通信和...合作式智能运输系统 车用通信系统 应用层及应用数据交互标准(第一阶段) 合作式智能运输系统 cooperative intelligent transportation systems, C-ITS V2X标准法规进展与仿真验证体系
recommend-type

Java与Python之间使用jython工具类实现数据交互

今天小编就为大家分享一篇关于Java与Python之间使用jython工具类实现数据交互,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

【实战演练】MATLAB用遗传算法改进粒子群GA-PSO算法

![MATLAB智能算法合集](https://static.fuxi.netease.com/fuxi-official/web/20221101/83f465753fd49c41536a5640367d4340.jpg) # 2.1 遗传算法的原理和实现 遗传算法(GA)是一种受生物进化过程启发的优化算法。它通过模拟自然选择和遗传机制来搜索最优解。 **2.1.1 遗传算法的编码和解码** 编码是将问题空间中的解表示为二进制字符串或其他数据结构的过程。解码是将编码的解转换为问题空间中的实际解的过程。常见的编码方法包括二进制编码、实数编码和树形编码。 **2.1.2 遗传算法的交叉和
recommend-type

openstack的20种接口有哪些

以下是OpenStack的20种API接口: 1. Identity (Keystone) API 2. Compute (Nova) API 3. Networking (Neutron) API 4. Block Storage (Cinder) API 5. Object Storage (Swift) API 6. Image (Glance) API 7. Telemetry (Ceilometer) API 8. Orchestration (Heat) API 9. Database (Trove) API 10. Bare Metal (Ironic) API 11. DNS
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。