學(xué)生成績(jī)管理系統(tǒng)的程序編寫

#include <stdio.h>
#include<stdlib.h>
#include"1.h"
int main(int argc, char const *argv[])
{
??printf("************************************\n");
??printf("?*??學(xué)生成績(jī)管理系統(tǒng)————幫助菜單???\n");
??printf("************************************\n");
??printf("?*???H = 顯示幫助菜單???????\n");
??printf("?*???T = 成績(jī)錄入????????\n");
??printf("?*???A = 計(jì)算學(xué)生平均分??????\n");
??printf("?*???L = 列出成績(jī)表????????\n");
??printf("?*???P = 按平均成績(jī)由高到低排序???\n");
??printf("?*???S = 按學(xué)號(hào)查詢學(xué)生成績(jī)?????\n");
??printf("?*???B = 按學(xué)號(hào)刪除學(xué)生成績(jī)?????\n");
??printf("?*???D = 按學(xué)號(hào)修改學(xué)生成績(jī)?????\n");
??printf("?*???C = 請(qǐng)屏??????????\n");
??printf("?*???Q = 退出系統(tǒng)?????????\n");
??printf("************************************\n");
??printf("?* Copyright <c> 2011.06.12 By 姓名 \n");
??printf("************************************\n");
??while (1)
??{
????printf("請(qǐng)輸入命令= ");
????char zhl;
????scanf(" %c", &zhl);
????if (zhl != 'T')
??????printf("成績(jī)表為空!請(qǐng)先使用命令T 錄入學(xué)生成績(jī)。\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("請(qǐng)輸入命令= ");
????????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()?//成績(jī)錄入??
{
??int n;
??printf("請(qǐng)輸入學(xué)生人數(shù):");
??scanf("%d", &n);
??printf("請(qǐng)輸入%d名學(xué)生的三門課成績(jī)\n", n);
??printf("學(xué)號(hào) 語(yǔ)文 數(shù)學(xué) 英語(yǔ)\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()?//列出成績(jī)表
{
??int n = 0;
??for (int i = 0; i < 99; i++)
????if (a[i].chinese != '\0')
??????n++;
??printf("學(xué)生成績(jī)?nèi)缦?\n");
??printf("學(xué)號(hào)??語(yǔ)文??數(shù)學(xué)??外語(yǔ)??平均分\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()?//計(jì)算學(xué)生平均分
{
???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("平均分已計(jì)算。請(qǐng)使用命令L查看\n");
}
void jia_P()?//按平均成績(jī)由高到低排序
{
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("完成排序。請(qǐng)使用命令L查看。\n");
}
void jia_S()?//按學(xué)號(hào)查詢學(xué)生成績(jī)
{
??int n = 0;
??for (int i = 0; i < 99; i++)
????if (a[i].chinese != '\0')
??????n++;
??int j=0;
??printf("請(qǐng)輸入要查詢學(xué)生的學(xué)號(hào):");
??scanf("%d", &j);
??for (int i = 0; i < n; i++)
??{
????if (a[i].id == j)
????{
??????printf("學(xué)號(hào)??語(yǔ)文??數(shù)學(xué)??外語(yǔ)??平均分\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("?*??學(xué)生成績(jī)管理系統(tǒng)————幫助菜單???\n");
??printf("************************************\n");
??printf("?*???H = 顯示幫助菜單???????\n");
??printf("?*???T = 成績(jī)錄入????????\n");
??printf("?*???A = 計(jì)算學(xué)生平均分??????\n");
??printf("?*???L = 列出成績(jī)表????????\n");
??printf("?*???P = 按平均成績(jī)由高到低排序???\n");
??printf("?*???S = 按學(xué)號(hào)查詢學(xué)生成績(jī)?????\n");
??printf("?*???B = 按學(xué)號(hào)刪除學(xué)生成績(jī)?????\n");
??printf("?*???D = 按學(xué)號(hào)修改學(xué)生成績(jī)?????\n");
??printf("?*???C = 請(qǐng)屏??????????\n");
??printf("?*???Q = 退出系統(tǒng)?????????\n");
??printf("************************************\n");
??printf("?* Copyright <c> 2011.06.12 By 姓名 \n");
??printf("************************************\n");
}
void jia_B()?//按學(xué)號(hào)刪除學(xué)生成績(jī)
{
??int n = 0;
??for (int i = 0; i < 99; i++)
????if (a[i].chinese != '\0')
??????n++;
??int j;
??printf("請(qǐng)輸入要?jiǎng)h除學(xué)生的學(xué)號(hào):");
??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("學(xué)號(hào)??語(yǔ)文??數(shù)學(xué)??外語(yǔ)??平均分\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()?//按學(xué)號(hào)修改學(xué)生成績(jī)
{
??int n = 0;
??for (int i = 0; i < 99; i++)
????if (a[i].chinese != '\0')
??????n++;
??int j;
??printf("請(qǐng)輸入要修改學(xué)生的學(xué)號(hào):");
??scanf("%d", &j);
??for (int i = 0; i < n; i++)
??{
????if (a[i].id == n)
????{
??????printf(" 語(yǔ)文 數(shù)學(xué) 英語(yǔ)\n");
??????scanf("%f %f %f", &a[i].chinese, &a[i].math, &a[i].english);
??????printf("學(xué)號(hào)??語(yǔ)文??數(shù)學(xué)??外語(yǔ)?\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