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

学生成绩管理系统半成品

        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.lryc.cn/news/273401.html

相关文章:

  • 国家信息安全水平等级考试NISP二级题目卷⑤(包含答案)
  • 4.快速实现增删改查,模糊查询功能
  • 【Redux】自己动手实现redux和react-redux
  • 代码随想录算法训练营day6|242.有效的字母异位词、349.两个数组的交集、202.快乐数
  • 2024.1.4每日一题
  • C++协程和线程的区别?详细介绍一下C++协程
  • 数字信号处理期末复习——计算大题(一)
  • matlab数值计算函数--ode45
  • Vue3地图选点组件
  • JS之注册事件兼容性解决方案
  • C#中使用as关键字将对象转换为指定类型
  • 【Spring实战】21 Spring Data REST 常用功能详细介绍
  • 05-微服务-RabbitMQ-概述
  • jmeter参数化的三种方式
  • java基础之Java8新特性-Lambda
  • 入门使用mybatis-plus
  • ubuntu安装和配置ssh教程
  • 每天刷两道题——第六天
  • 时间序列平稳性相关检验方法
  • <leetcode修炼>双指针训练-移动零
  • Python初探:从零开始的编程奇妙之旅
  • 算法与数据结构之链表<一>(Java)
  • 目标检测COCO数据集与评价体系mAP
  • 2024最全面且有知识深度的web3开发工具、web3学习项目资源平台
  • Golang - defer关键字 深入剖析
  • 如何在Spring Boot中使用@Scheduled写定时任务判断数据量是否过大,过大则进行分表操作,多张表使用临时视图查询
  • 使用jieba库进行中文分词和去除停用词
  • C语言之分支与循环【附6个练习】
  • 使用通用MCU实现无人机飞行任务的快速二次开发
  • 什么是Selinux