学生成绩管理系统半成品

news/2025/3/19 11:09:06/

        C语言的老师在给我们讲指针的时候,讲的并不深入,她用了一个学生成绩管理系统来引入指针这个东西并给我们讲解,但我觉得她的管理系统功能有一些不足,并且不是很美观,所以说心血来潮,自己也动手写了一个学生成绩管理系统,但很遗憾,目前还是半成品,并且没用结构体和文件(都还没有掌握),所以说是纯纯的半成品,先发出来给大家看看:

#define _CRT_SECURE_NO_WARNINGS
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<windows.h>
#include<stdlib.h>
#define _CRT_SECURE_NO_WARNINGS
void menu(void)
{printf("                                             欢迎使用学生成绩管理系统\n");printf("                                                   1.输出成绩\n");printf("                                                   2.找 极 值\n");printf("                                                   3.进行排序\n");printf("                                                   4.添加成绩\n");printf("                                                   5.........\n");printf("                                                   0.退出系统\n");}
void output(int arr[], int n)
{int i = 0;for (i = 0; i < n; i++){printf("第%d个输入的成绩是%d\n", i + 1, arr[i]);Sleep(500);}
}
void find(int arr[], int n)
{int max, min;max = arr[0];min = arr[0];int i = 0;for (i = 0; i < n; i++){if (arr[i + 1] > max){max = arr[i + 1];}}printf("成绩中的最大值是%d\n", max);for (i = 0; i < n; i++){if (arr[i] < min){min = arr[i];}}printf("成绩中的最小值是%d\n", min);
}
void semenu(void)
{printf("                                 1.升序 2.降序\n");
}
void sort(int arr[], int n)
{output(arr, n);
flag:semenu();int ch;scanf("%d", &ch);switch (ch){case 1:{int i, j;for (i = 0; i < n - 1; i++){for (j = 0; j < n - 1 - i; j++){if (arr[j] > arr[j + 1]){int temp = arr[j + 1];arr[j + 1] = arr[j];arr[j] = temp;}}}for (i = 0; i < n; i++){printf("%d ", arr[i]);}break;}case 2:{int i, j;for (i = 0; i < n - 1; i++){for (j = 0; j < n - 1 - i; j++){if (arr[j] < arr[j + 1]){int temp = arr[j + 1];arr[j + 1] = arr[j];arr[j] = temp;}}}for (i = 0; i < n; i++){printf("%d ", arr[i]);}break;}default:{printf("请重新选择!\n");Sleep(500);goto flag;break;}}}
int main()
{int input;int arr[100] = { 0 };printf("输入你要录入的成绩个数\n");int n;printf("请输入--->\n");scanf("%d", &n);int i = 0;for (i = 0; i < n; i++){scanf("%d", &arr[i]);}Sleep(1000);system("cls");do{menu();printf("请通过输入来选择功能--->");printf("\n");scanf("%d", &input);switch (input){case 1:{system("cls");output(arr, n);printf("按任意键继续--->\n");getch();system("cls");break;}case 2:{system("cls");output(arr, n);printf("\n\n\n");find(arr, n);printf("按任意键继续--->\n");getch();system("cls");break;}case 3:{system("cls");sort(arr, n);printf("按任意键继续--->\n");getch();system("cls");break;}case 4:{printf("还在开发中\n");break;}case 5:{printf(".......\n");break;}case 0:{system("cls");Sleep(2000);printf("系统退出\n");break;}default:{Sleep(1000);system("cls");printf("                                         选择错误,未能识别,请重新选择\n");Sleep(2000);system("cls");}}} while (input);return 0;
}

        大概就是这样,目前只有输入、输出、求极值和排序的功能,等日后功能更完善了我在给大家进行讲解,先展示一下半成品(我的我的)。 


http://www.ppmy.cn/news/1291607.html

相关文章

mac node基本操作

1 查看所有版本 npm view node versions输出 2 查看已经安装的版本 n list3 安装指定版本 sudo -E n 16.0.04 切换版本 sudo n 16.0.05 查看版本 node -v

香橙派5plus从ssd启动Ubuntu

官方接口图 我实际会用到的就几个接口&#xff0c;背面的话就一个M.2固态的位置&#xff1a; 其中WIFI模块的接口应该也可以插2230的固态&#xff0c;不过是pcie2.0的速度&#xff0c;背面的接口则是pcie3.0*4的速度&#xff0c;差距还是挺大的。 开始安装系统 准备工作 一张…

Docker基础扫盲版——看懂瞬间入门

01. Docker简介 Docker - 容器虚拟化技术&#xff0c;解决了运行环境和配置问题的软件容器。环境配置相当麻烦&#xff0c;换一台机器&#xff0c;就要重来一次&#xff0c;费力费时。很多人想到&#xff0c;能不能从根本上解决问题&#xff0c;软件可以带环境安装&#xff1f…

产品手册非常重要,对产品推广的有很大的影响

如今产品手册作为企业传递产品信息的重要媒介&#xff0c;其制作与呈现方式对于产品的推广和销售具有至关重要的影响。一个优秀的产品手册不仅能够帮助消费者更好地了解产品&#xff0c;还能提升品牌形象&#xff0c;进一步推动产品的市场推广。 | 一、产品手册的重要性体现在以…

Redis 分布式锁总结

在一个分布式系统中,由于涉及到多个实例同时对同一个资源加锁的问题,像传统的synchronized、ReentrantLock等单进程情况加锁的api就不再适用,需要使用分布式锁来保证多服务实例之间加锁的安全性。常见的分布式锁的实现方式有zookeeper和redis等。而由于redis分布式锁相对于比…

HarmonyOS创建自定义组件

创建自定义组件 在ArkUI中&#xff0c;UI显示的内容均为组件&#xff0c;由框架直接提供的称为系统组件&#xff0c;由开发者定义的称为自定义组件。在进行 UI 界面开发时&#xff0c;通常不是简单的将系统组件进行组合使用&#xff0c;而是需要考虑代码可复用性、业务逻辑与U…

Mysql 中子查询时order by与group by合用无效的解决办法

存在一个需求&#xff1a; 需要获取某些条件下&#xff0c;在分组后&#xff0c;取最新的记录。 比如有张学生分数表&#xff0c;里面包含了学生一年的所有考试的语数外成绩&#xff0c;我想要获取同学A的最后一次考试成绩。 select * from ( select * from student_score wh…

字符串匹配

KMP算法 因为是由这三位学者发明的&#xff1a;Knuth&#xff0c;Morris和Pratt&#xff0c;所以取了三位学者名字的首字母。所以叫做KMP 写过KMP&#xff0c;一定都写过next数组&#xff0c;next数组就是一个前缀表&#xff0c;前缀表是用来回退的&#xff0c;它记录了模式串…