简单学生成绩管理系统

由于笔者能力所限所以只是简易程序,供初学者学习:

#include <stdio.h>
#include <stdlib.h>
#include<string.h>
#define n 100//此处自己更改
void face(void);
void choice(int m,char name[][20],double math[],double english[],double Clanguage[]);
void input(char name[][20],double math[],double english[],double Clanguage[]);
void ouput(char name[][20],double math[],double english[],double Clanguage[]);
void sort_ouput(char name[][20],double math[],double english[],double Clanguage[]);
void find_my(char name[][20],double math[],double english[],double Clanguage[]);
void jige(char name[][20],double math[],double english[],double Clanguage[]);
void averange(char name[][20],double math[],double english[],double Clanguage[]);

int main()
{
    char name[n][20];
    double math[n],english[n],Clanguage[n];
    face();
    int m;
    while(1){
        scanf("%d",&m);
        if(m==0)
            break;
        else
            choice(m,name,math,english,Clanguage);
    }
    return 0;
}

void face()
{
    printf("欢迎光临学生成绩管理系统,很高兴能为你服务\n");
    puts("*************************************************");
    puts("The menu is as follows:");
    puts("学生姓名与各科成绩的输入,请输入1来获得帮助");
    puts("学生姓名与各科成绩的输出,请输入2来获得帮助");
    puts("按学生总成绩从低到高排序并输出,请输入3来获得帮助");
    puts("按学生姓名来查找学生成绩,请输入4来获得帮助");
    puts("输出及格的学生姓名和成绩,请输入5来获得帮助");
    puts("计算学生平均成绩并且输出,请输入6来获得帮助");
    printf("说明:成绩以百分制,及格分数为\n每科分数都达到六十分来计算\n");
    printf("输入输出格式为:Name Math English Clanguage\n");
    puts("请输入0来关闭学生成绩管理系统 $*([email protected])*$ thank you");
}

void choice(int m,char name[][20],double math[],double english[],double Clanguage[])
{
    switch(m)
    {
        case 1:input(name,math,english,Clanguage);break;
        case 2:ouput(name,math,english,Clanguage);break;
        case 3:sort_ouput(name,math,english,Clanguage);break;
        case 4:find_my(name,math,english,Clanguage);break;
        case 5:jige(name,math,english,Clanguage);break;
        case 6:averange(name,math,english,Clanguage);break;
    }
}

void input(char name[n][20],double math[],double english[],double Clanguage[])
{
    int i;
    for(i=0;i<n;i++){
        scanf("%s %lf %lf %lf",&name[i],&math[i],&english[i],&Clanguage[i]);
    }
}

void ouput(char name[n][20],double math[],double english[],double Clanguage[])
{
    int i;
    printf("学生成绩如下:\n");
    for(i=0;i<n;i++){
        printf("%s %.2lf %.2lf %.2lf\n",name[i],math[i],english[i],Clanguage[i]);
    }
}

void sort_ouput(char name[n][20],double math[],double english[],double Clanguage[])
{
    double max[n];
    int i;
    printf("学生成绩排名如下:\n");
    for(i=0;i<n;i++){
        max[i]=math[i]+english[i]+Clanguage[i];
    }
    int j,k;
    double t;
    char change[20];
    for(i=0;i<n-1;i++)
    {
            k=i;
        for(j=i+1;j<n;j++)
        {
            if(max[j]<max[k])
            k=j;
        }
        if(k!=i)
        {
            t=max[i];
            strcpy(change,name[i]);
            max[i]=max[k];
            strcpy(name[i],name[k]);
            max[k]=t;
            strcpy(name[k],change);
        }
    }
    for(i=0;i<n;i++){
        printf("%s %.2f\n",name[i],max[i]);
    }
}

void find_my(char name[][20],double math[],double english[],double Clanguage[])
{
    char names[20];
    printf("请输入你要查找的人的名字:");
    int flag=0;
    scanf("%s",names);

    for(int i=0;i<n;i++){
        if(strcmp(names,name[i])==0){
            printf("他的成绩:Math %.2lf English %.2lf Clanguage %.2lf",math[i],english[i],Clanguage[i]);
            flag=1;
        }
    }
         if(flag==0)
         printf("查无此人,确保正确后输入!\n");
}

void jige(char name[][20],double math[],double english[],double Clanguage[])
{
    printf("及格学生如下:\n");
    int flag=0;
    int i;
    for(i=0;i<n;i++)
    {
      if(math[i]>=60)
        flag+=1;
      if(english[i]>=60)
        flag+=1;
      if(Clanguage[i]>=60)
        flag+=1;
    if(flag==3)
        printf("%s Math%.2lf English%.2lf Clanguage%.2lf",name[i],math[i],english[i],Clanguage[i]);
     else flag=0;
    }
}

void averange(char name[][20],double math[],double english[],double Clanguage[])
{
    printf("学生平均成绩:\n");
    double aver=0;
    int i=0;
    double m=0,e=0,c=0;
    for(i=0;i<n;i++)
    {
        aver+=math[i]+english[i]+Clanguage[i];
        m+=math[i];
        e+=english[i];
        c+=Clanguage[i];
    }
    printf("个体综合平均:%.4f\n",aver/n);
    printf("Math平均:%.4f\n",m/n);
    printf("English平均:%.4f\n",e/n);
    printf("Clanguage平均:%.4f\n",c/n);
}

原文地址:https://www.cnblogs.com/ZZ34/p/10279086.html

时间: 2024-08-02 13:39:05

简单学生成绩管理系统的相关文章

python简单学生成绩管理系统

#!/usr/bin/env python #manage the grade of student def init(date): date=[[],[],[],[],[]] return date def store(date): ID=raw_input('Please your ID:') name=raw_input('Please your name:') english=raw_input('Please your english:') math=raw_input('Please

[项目记录] 用c语言完成的一个学生成绩管理系统

一.要求: 学生成绩管理系统 某班有最多不超过30人(具体人数由键盘输入)参加期末考试,最多不超过6门(具体门数由键盘输入).使用链表编程实现如下菜单驱动的学生成绩管理系统. 从文件读入每个学生个人信息和成绩信息,可以由键盘输入文件名.读入成功提示读入学生记录的个数,不成功提示相应出错信息. 增量式手动录入每个学生的学号.姓名和各科考试成绩.不考虑中文姓名,但需要考虑重名情况下的处理,学生的学号是唯一的. 计算每门课程的总分和平均分: 计算每个学生的总分和平均分: 按每个学生的总分由高到低排出名

基于WEB的C#学生成绩管理系统

在信息化时代的不断冲击下,学生成绩管理系统与计算机技术的结合,将会是一条提高学生成绩管理系统水平的捷径.使用计算机对学生成绩管理系统的各项基本信息进行管理,比起手工管理来说既方便又简便,而且易于管理.搜索速度快.存储量大等多个优点.将其使用在学生成绩管理系统中,不仅能够提高学生成绩管理系统中管理员的工作效率,而且可以使学生成绩管理系统更加科学与规范.从某些方面上来说,现代学生成绩管理系统的不断标准化促使学生成绩管理系统各方面的管理都逐渐与现代信息处理密切相连,因此应该开发学生成绩管理系统系统将现

《C语言编写 学生成绩管理系统》

/* (程序头部凝视開始)* 程序的版权和版本号声明部分* Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved.* 文件名: 学生成绩管理系统 * 作 者: 刘江波 * 完毕日期: 2012 年 6 月 23 日* 版 本 号: v.623 * 对任务及求解方法的描写叙述部分 * 程序头部的凝视结束 */ #include "stdio.h" #include"string" /*定义学生结构体*/ struc

学生成绩管理系统 1.0(Java+MySql)

真难…… 数据库建立不会,中文编码不会,插入数据不会,删除不会…… Java读入数据不会……数据库连接不会…… 你也好意思说自己是学计算机的啊魂淡…… 我会慢慢写2.0,3.0版的……噗…… src/wenr/entity/Student.java package wenr.entity; /** 数据库定义 CREATE TABLE Student ( sid CHAR(10) PRIMARY KEY, sname CHAR(20) NOT NULL, sc DOUBLE(5,2), sm D

C语言练手自己编写学生成绩管理系统

#include<stdio.h> #include<stdlib.h> /*定义学生结构体*/ struct Student { char ID[20]; char Name[20]; float Mark1; float Mark2; float Mark3; float Avarage; }; /*声明学生数组及学生数量*/ struct Student students[1000]; int num=0; /*计算平均成绩*/ float Avg(struct Studen

java开发的简易学生成绩管理系统

经过1个月的紧张学习和应用,终于做出了这个简易的学生成绩管理系统. 代码如下(仅供参考学习) view包下的菜单 package com.xujulong.www.view: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Scanner; import com.xujulong.www.po.Manager; import

【学生成绩管理系统】 大二c语言作业

几年前写的了,只能在命令行窗口运行,虽然比较挫,还是有一定参考价值... #include <cstdio> #include <conio.h> #include <iostream> #include <process.h> #include <stdlib.h> #include <algorithm> #include <cstring> #include <cmath> #define N 5 con

c++学生成绩管理系统

虽然比较水 =.= 但是写了两节课+一个中午 都是强迫症的锅 http://www.cnblogs.com/wenruo/p/4940182.html #include <cstdio> #include <cstring> #include <iostream> using namespace std; class student // student 类为管理系统的一个节点 { friend class studentMessage; student *next;