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