【码图】110_4.7 学生管理系统

编写学生管理系统,其中学生的信息有姓名(汉语拼音,最多20个字符,长度21的字符数组),

性别(男 / 女,用1表示男,2表示女,整数)、生日(19850101(年月日),整数)、身高(以m为单位,实数),

还需要处理C语言、微积分两门课的成绩(整数),请编写程序实现功能:

输入学生的人数和每个学生的信息;输出每门课程的总平均成绩、最高分和最低分,以及获得最高分的学生的信息。

需要注意的是某门课程最高分的学生可能不只一人。

输入输出格式要求:

身高输出时保留两位小数,请按照例子中进行输出,请勿输出其他字符

例如:

输入:3 zhangsan 1 19910101 1.85 85 90 lisi 1 19920202 1.56 89 88 wangwu 2 19910303 1.6 89 90回车

#include<stdio.h>

typedef struct stu {

    char name[21];

    int sex;

    long int birth;

    float hight;

    int C;

    int calculus;

};

int main()

{

    stu student[10];

    int N;

    scanf("%d", &N);

    getchar();

    long long int C_average = 0, C_max = 0, C_min = 100, Calculus_average = 0, Calculus_max = 0, Calculus_min = 100;

    int pC_max[100] = {};

    int pCalculus_max[100] = {};

    int count_C_max=0;

    int count_Calculus_max = 0;

    //用来记录谁拿了最高分

    //输入:3 zhangsan 1 19910101 1.85 85 90 lisi 1 19920202 1.56 89 88 wangwu 2 19910303 1.6 89 90回车

    for (int i = 0; i < N; i++)

    {

        char c;

        int j = 0;

       

        while (1)

        {

            c = getchar();

            if (j == 0 && c == ' ') continue;

            else if (c == ' ') break;

            student[i].name[j++] = c;

        }

        student[i].name[j] = '\0';

       

        scanf("%d%d%f%d%d"

            , &student[i].sex, &student[i].birth, &student[i].hight, &student[i].C, &student[i].calculus);

        //计算分数之和

        C_average += student[i].C;

        Calculus_average += student[i].calculus;

        //记录最高分

        if (C_max == student[i].C)   pC_max[count_C_max++] = i;//若同为最高分,记录

        if (C_max < student[i].C)

        {

            C_max = student[i].C;

            pC_max[0] = i;

            count_C_max = 1;

        }

        if (Calculus_max == student[i].calculus)   pCalculus_max[count_Calculus_max++] = i;//若同为最高分,记录

        if (Calculus_max < student[i].calculus)

        {

            Calculus_max = student[i].calculus;

            pCalculus_max[0] = i;

            count_Calculus_max = 1;

        }

        //记录最低分

        if(C_min>student[i].C)  C_min = student[i].C;

        if(Calculus_min>student[i].calculus)  Calculus_min = student[i].calculus;

    }

    //计算平均分

    C_average /= N;

    Calculus_average /= N;

    printf("C_average:%d\n", C_average);

    printf("C_max:%d\n", C_max);

    for (int i = 0; i < count_C_max; i++)

    {

        printf("%s %d %d %.2f %d %d\n",

            student[pC_max[i]].name, student[pC_max[i]].sex, student[pC_max[i]].birth, student[pC_max[i]].hight,

            student[pC_max[i]].C, student[pC_max[i]].calculus);

    }

    printf("C_min:%d\n", C_min);

    printf("Calculus_average:%d\n", Calculus_average);

    printf("Calculus_max:%d\n", Calculus_max);

    for (int i = 0; i < count_Calculus_max; i++)

    {

        printf("%s %d %d %.2f %d %d\n", student[pCalculus_max[i]].name, student[pCalculus_max[i]].sex, student[pCalculus_max[i]].birth, student[pCalculus_max[i]].hight, student[pCalculus_max[i]].C, student[pCalculus_max[i]].calculus);

    }

    printf("Calculus_min:%d\n", Calculus_min);

    //输出:

//C_average : 87回车

//C_max : 89回车

//lisi 1 19920202 1.56 89 88回车

//wangwu 2 19910303 1.60 89 90回车

//C_min : 85回车

//Calculus_average : 89回车

//Calculus_max : 90回车

//zhangsan 1 19910101 1.85 85 90回车

//wangwu 2 19910303 1.60 89 90回车

//Calculus_min : 88回车

}

  • 12
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
大一下程序设计课(c++)做的课程设计。 要求与功能实现: 1)问题描述 住宿学生信息包括:学号、姓名、性别、年龄、班级、用电量、用水量等信 息。教工信息包括职工号、姓名、性别、年龄、工作部门、用电量、用水量等信息。能计算出学生和教工每月所要交的电费和水费。定义一个人员类,实现学生和教工共同的信息和行为。 2)功能要求 (1)添加功能:程序能够添加不同学生和教工的记录,提供选择界面供用 户选择所要添加的类别,要求编号号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。 (2)查询功能:可根据姓名、用水量、用电量信息对已添加的学生或教工 记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。 (3)显示功能:可显示当前系统中所有学生和教工的记录,每条记录占据 一行。 (4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号 的唯一性。 (5)删除功能:主要实现对已添加的学生或教工记录进行删除。如果当前 系统中没有相应的记录,则提示“记录为空!”并返回操作。 (6)统计功能:能根据多种参数进行统计。能统计学生和教工的用水用电 量、所要交纳的电费和水费、未交纳水电费的人员信息等。 (7)保存功能:可将当前系统中各类记录存入文件中,存入方式任意。 (8)读取功能:可将保存在文件中的信息读入到当前系统中,供用户进行 使用。 提示:代码是用vs2008+qt4.7写的。最后一个功能没有实现。有些奇奇怪怪的功能不知从何下手,也没实现。有深入了解或问题的可以私信我。 (第一次写gui,自学的。写得烂,大神轻喷) 配套开发环境在此: vs:http://afanihao.cn/vs.jsp qt:https://share.weiyun.com/8bcbb391c9c31f7dd52678583e8e9e08
学生管理系统PPT毕业论文答辩第一章 绪 论 1.1问题的提出 2 1.2现有系统存在问题的分析 2 1.3系统开发目标与意义 2 1.3.1系统开发目标 2 1.3.2意义 3 1.4可行性分析 3 1.4.1 经济上可行性 3 1.4.2技术上可行性 3 1.4.3运行上可行性 3 第二章 需求分析 2.1 教育系统学生管理现状分析 4 2.1.1 学校工作流程分析 4 2.1.2 学校具体需求分析 4 2.1.3 系统设计思想 4 2.1.4 系统设计分析 4 2.1.5 系统功能分析 5 2.1.6 学生学籍系统的目标 5 2.2 基于B/S结构技术的应用 5 2.2.1 B/S结构技术发展简述 5 2.2.2 动态网站开发技术比较 6 2.2.3 本系统的开发采用Asp.Net---- 一种全新的设计模式 7 2.2.4 面向对象的开发过程 8 2.2.5 开发工具的选择 9 2.2.6 数据库系统选择 10 2.2.7 开发方法的选择 11 2.2.8 开发本系统的意义 12 2.2.9 本文档编写目的 12 2.2.10 定义 12 第三章 学生成绩管理系统概要设计 3.1系统设计图例说明 13 3.2 系统设计业务目标(业务逻辑层) 13 3.2.1系统设计目标概述 13 3.2.2 用户(角色) 13 3.2.3 假定 14 3.3 技术总体目标 15 3.3.1系统技术性能要求 15 3.3.2 精度 16 3.3.3 数据管理能力要求 16 3.3.4 时间特性要求 16 3.3.5 故障处理要求 16 3.3.6 UI要求设计要求 17 3.3.7 开发与运行环境规定 17 第四章 学生成绩管理系统详细 4.1 系统结构 18 4.2 程序逻辑 19 4.2.1系统E-R图 19 4.2.2查询模块流程图 19 4.2.3 维护模块流程图 20 4.2.4系统维护模块流程图 21 4.3 用户/管理员登入系统设计 21 4.4 创建数据库 23 4.5 数据库表逻辑结构设计 26 4.5.1 数据库表介绍 26 4.5.2 数据库表结构及设计 27 4.5.3 数据库库的创建 28 4.6 应用系统结构 32 4.7 主要求程序设计说明 33 4.7.1 管理用户登录模块 33 4.7.2 类设计说明 35 4.7.3 管理功能模块设计 36 第五章 学生成绩管理系统系统测试 5.1 概述 37 5.2 测试方法 37 5.2.1 界面测试 37 5.2.2 功能测试 37 5.2.3 功能测试边界测试\越界测试技术详述 38 5.2.4 状态测试技术 38 5.2.5 竞争条件测试技术 38 5.2.6 负载\压力测试(StressTest) 38 5.3 不同的测试技术区分 39 5.3.1 覆盖测试技术 39 5.3.2 白盒测试和黑盒测试技术 39 5.3.3 手工测试和自动化测试 39 5.4. 软件缺陷的原则 39 第六章 帮助模块设计 6.1 系统导航 40 6.2 帮助 40 第七章 开发技巧和难点 41 第八章 系统编译和发行 41 第九章 结束语 41 附录 42
### 回答1: 用C语言编写一个学生信息管理系统可以分为几个步骤:1. 定义所需的数据结构,如学生的姓名,学号,年级,成绩等;2. 实现增加、查询、修改和删除学生信息的函数;3. 实现学生信息的排序、统计和打印功能;4. 根据需要实现其它功能,如学生搜索、计算最高分等。 ### 回答2: 学生信息管理系统是一个用于管理学生信息的软件程序。通过使用C语言编写一个学生信息管理系统,可以实现以下功能: 1. 添加学生信息:用户可以输入学生的姓名、年龄、性别、学号等信息,并将其保存到系统中。 2. 修改学生信息:用户可以根据学生的学号或姓名来修改已存在的学生信息,包括姓名、年龄、性别等。 3. 删除学生信息:用户可以根据学生的学号或姓名来删除已存在的学生信息,从系统中删除。 4. 查询学生信息:用户可以根据学生的学号或姓名来查询已存在的学生信息,并将查询结果显示出来。 5. 打印学生信息:用户可以选择打印出系统中所有学生的信息,包括姓名、年龄、性别、学号等。 为了实现上述功能,可以使用C语言中的数据结构和函数来组织和操作学生信息。例如,可以使用结构体来定义学生的信息,然后使用链表或数组来保存多个学生的信息。同时,可以定义不同的函数来实现各种操作,比如添加学生信息的函数、修改学生信息的函数、删除学生信息的函数等。 系统的运行界面可以采用命令行方式实现,通过菜单来提供各种功能的选择。用户通过输入相应的数字来选择所需的功能,然后根据提示输入或选择相关信息,系统根据用户的输入执行相应的操作。 学生信息管理系统能够提高学校和教育机构对学生信息的管理效率和准确性。编写这样一个系统不仅能够锻炼C语言的编程能力,还能提升对数据结构和算法的理解和运用。 ### 回答3: 学生信息管理系统是一个用C语言编写的程序,主要用于管理学生的基本信息,包括学号、姓名、性别、年龄、班级等。以下是一个简单的实现方案: 1. 首先,定义一个结构体类型,表示学生的信息,包括学号、姓名、性别、年龄、班级等字段。 2. 创建一个函数来录入学生信息。在函数内部,通过用户输入来获取学生的基本信息,并将其保存到一个数组中。 3. 创建一个函数来显示学生信息。在函数内部,遍历学生信息数组,并将每个学生的具体信息逐一打印到屏幕上。 4. 创建一个函数来搜索学生信息。在函数内部,通过学号或姓名等关键字来查找学生的信息,并将其打印出来。 5. 创建一个函数来修改学生信息。在函数内部,通过学号或姓名等关键字来定位到需要修改的学生,然后根据用户的输入进行修改。 6. 创建一个函数来删除学生信息。在函数内部,通过学号或姓名等关键字来定位到需要删除的学生,并将其从学生信息数组中移除。 7. 创建一个函数来保存学生信息。在函数内部,将学生信息数组保存到文件中,以便下次启动时可以恢复之前的数据。 8. 创建一个函数来加载学生信息。在函数内部,从文件中读取保存的学生信息,以便恢复之前的数据。 通过以上步骤,我们就能实现一个基本的学生信息管理系统。当然,这只是一个简单的实现方案,还可以根据具体需求进行自定义功能的添加和修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值