学生成绩管理系统的程序编写

#include <stdio.h>
#include<stdlib.h>
#include"1.h"
int main(int argc, char const *argv[])
{
printf("************************************\n");
printf(" * 学生成绩管理系统————帮助菜单 \n");
printf("************************************\n");
printf(" * H = 显示帮助菜单 \n");
printf(" * T = 成绩录入 \n");
printf(" * A = 计算学生平均分 \n");
printf(" * L = 列出成绩表 \n");
printf(" * P = 按平均成绩由高到低排序 \n");
printf(" * S = 按学号查询学生成绩 \n");
printf(" * B = 按学号删除学生成绩 \n");
printf(" * D = 按学号修改学生成绩 \n");
printf(" * C = 请屏 \n");
printf(" * Q = 退出系统 \n");
printf("************************************\n");
printf(" * Copyright <c> 2011.06.12 By 姓名 \n");
printf("************************************\n");
while (1)
{
printf("请输入命令= ");
char zhl;
scanf(" %c", &zhl);
if (zhl != 'T')
printf("成绩表为空!请先使用命令T 录入学生成绩。\n");
else
{
while (1)
{
switch (zhl)
{
case 'H':jia_H();break;
case 'T':jia_T();break;
case 'A':jia_A();break;
case 'L':jia_L();break;
case 'P':jia_P();break;
case 'S':jia_S();break;
case 'B':jia_B();break;
case 'D':jia_D();break;
case 'C':system("clear");break;
case 'Q':exit(0);break;
}
printf("请输入命令= ");
scanf(" %c", &zhl);
while (getchar() != '\n')
;
}
}
}
return 0;
}
#include <stdio.h>
typedef struct a
{
int id;
float chinese;
float math;
float english;
float pingjun;
} stu;
stu a[99];
void jia_T() //成绩录入
{
int n;
printf("请输入学生人数:");
scanf("%d", &n);
printf("请输入%d名学生的三门课成绩\n", n);
printf("学号 语文 数学 英语\n");
for (int i = 0; i < n; i++)
{
a[i].id = i + 1;
printf("%d ", a[i].id);
scanf("%f %f %f", &a[i].chinese, &a[i].math, &a[i].english);
}
}
void jia_L() //列出成绩表
{
int n = 0;
for (int i = 0; i < 99; i++)
if (a[i].chinese != '\0')
n++;
printf("学生成绩如下:\n");
printf("学号 语文 数学 外语 平均分\n");
for (int i = 0; i < n; i++)
{
printf("%d\t%0.1f\t%0.1f\t%0.1f\t%0.1f\t\n", a[i].id, a[i].chinese, a[i].math, a[i].english, a[i].pingjun);
}
}
void jia_A() //计算学生平均分
{
int n = 0;
for (int i = 0; i < 99; i++)
if (a[i].chinese != '\0')
n++;
for (int i = 0; i < n; i++)
{
a[i].pingjun = (a[i].chinese + a[i].math + a[i].english) / 3.0;
}
printf("平均分已计算。请使用命令L查看\n");
}
void jia_P() //按平均成绩由高到低排序
{
int n = 0;
for (int i = 0; i < 99; i++)
if (a[i].chinese != '\0')
n++;
stu temp;
for (int i = 0; i < n - 1; i++)
{
for (int j = 0; j < n - 1 - i; j++)
{
if (a[j].pingjun < a[j + 1].pingjun)
{
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
printf("完成排序。请使用命令L查看。\n");
}
void jia_S() //按学号查询学生成绩
{
int n = 0;
for (int i = 0; i < 99; i++)
if (a[i].chinese != '\0')
n++;
int j=0;
printf("请输入要查询学生的学号:");
scanf("%d", &j);
for (int i = 0; i < n; i++)
{
if (a[i].id == j)
{
printf("学号 语文 数学 外语 平均分\n");
printf("%d\t%0.1f\t%0.1f\t%0.1f\t%0.1f\t\n", a[i].id, a[i].chinese, a[i].math, a[i].english, a[i].pingjun);
}
}
}
void jia_H() //显示帮助菜单
{
printf("************************************\n");
printf(" * 学生成绩管理系统————帮助菜单 \n");
printf("************************************\n");
printf(" * H = 显示帮助菜单 \n");
printf(" * T = 成绩录入 \n");
printf(" * A = 计算学生平均分 \n");
printf(" * L = 列出成绩表 \n");
printf(" * P = 按平均成绩由高到低排序 \n");
printf(" * S = 按学号查询学生成绩 \n");
printf(" * B = 按学号删除学生成绩 \n");
printf(" * D = 按学号修改学生成绩 \n");
printf(" * C = 请屏 \n");
printf(" * Q = 退出系统 \n");
printf("************************************\n");
printf(" * Copyright <c> 2011.06.12 By 姓名 \n");
printf("************************************\n");
}
void jia_B() //按学号删除学生成绩
{
int n = 0;
for (int i = 0; i < 99; i++)
if (a[i].chinese != '\0')
n++;
int j;
printf("请输入要删除学生的学号:");
scanf("%d", &j);
for (int i = 0; i < n; i++)
{
if (a[i].id == n)
{
a[i].chinese=a[i].math=a[i].english=a[i].pingjun=0;
printf("学号 语文 数学 外语 平均分\n");
printf("%d\t%0.1f\t%0.1f\t%0.1f\t%0.1f\t\n", a[i].id, a[i].chinese, a[i].math, a[i].english, a[i].pingjun);
}
}
}
void jia_D() //按学号修改学生成绩
{
int n = 0;
for (int i = 0; i < 99; i++)
if (a[i].chinese != '\0')
n++;
int j;
printf("请输入要修改学生的学号:");
scanf("%d", &j);
for (int i = 0; i < n; i++)
{
if (a[i].id == n)
{
printf(" 语文 数学 英语\n");
scanf("%f %f %f", &a[i].chinese, &a[i].math, &a[i].english);
printf("学号 语文 数学 外语 \n");
printf("%d\t%0.1f\t%0.1f\t%0.1f\t\n", a[i].id, a[i].chinese, a[i].math, a[i].english);
}
}
}
void jia_H();
void jia_T();
void jia_A();
void jia_L();
void jia_P();
void jia_S();
void jia_B();
void jia_D();
CC=gcc
#CC=arm-linux-none-gnueabi-gcc
OBJS=1.o t.o
CFLAGS=-c -g -Wall
1:$(OBJS)
$(CC) $^ -o $@
%.o:%.c
$(CC) $(CFLAGS) $< -o $@
.PHONY:clean
clean:
$(RM) *.o 1