学生成绩管理系统半成品

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

cs 复制代码
#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;
}

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

相关推荐
##echo39 分钟前
嵌入式Linux裸机开发笔记9(IMX6ULL)GPIO 中断实验(1)
linux·c语言·笔记·单片机·嵌入式硬件
扶摇直上——————1 小时前
C专题8:文件操作2
c语言·文件操作
我爱学嵌入式3 小时前
C语言第 9 天学习笔记:数组(二维数组与字符数组)
c语言·笔记·学习
爱装代码的小瓶子10 小时前
数据结构之队列(C语言)
c语言·开发语言·数据结构
快乐飒男12 小时前
哈希表(c语言)
c语言·哈希算法·散列表
aramae13 小时前
大话数据结构之<队列>
c语言·开发语言·数据结构·算法
程序员编程指南15 小时前
Qt 数据库连接池实现与管理
c语言·数据库·c++·qt·oracle
李永奉16 小时前
STM32-定时器的基本定时/计数功能实现配置教程(寄存器版)
c语言·开发语言·stm32·单片机·嵌入式硬件
麦子邪17 小时前
C语言中奇技淫巧04-仅对指定函数启用编译优化
linux·c语言·开发语言
华强笔记18 小时前
C程序内存布局详解
服务器·c语言