IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C语言 学生成绩信息管理系统 id name c -> 正文阅读

[C++知识库]C语言 学生成绩信息管理系统 id name c

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include<string.h>
struct Stu
{
    //个学生的信息[学号 姓名 物理 英文 语文 C语言 化学]
    char id[10];
    char name[10];
    double c[5];
    double total;
};

struct Class //教室
{    
    struct Stu s[100]; 
    int n;    //学生人数
};
struct Class c;


void menu()
{
    printf("\n\n\t\t学生成绩管理系统\n\n");
    printf("\t\t1--初次录入学生信息\n");
    printf("\t\t2--增加一名学生的信息\n");    
    printf("\t\t3--学生信息浏览\n");
    printf("\t\t4--按学号查信息\n");
    printf("\t\t5--按姓名查信息\n");
    printf("\t\t6--按总分降序\n");
    printf("\t\t7--按姓名排序\n");
    printf("\t\t8--删除一条记录\n");
    printf("\t\t9--修改一条记录\n");    
    printf("\t\t0--退出\n");
}

void init()
{
    int n,i;
    printf("\n\n输入初次录入学生人数:");    
    scanf("%d",&n);
    for (i = 0; i < n; i++)
    {
        c.s[i].total = 0;
        printf("请输入第%d个学生的信息[学号 姓名 物理 英文 语文 C语言 化学]:\n",i+1);
        scanf("%s%s%lf%lf%lf%lf%lf", c.s[i].id , c.s[i].name, &c.s[i].c[0], &c.s[i].c[1], &c.s[i].c[2], &c.s[i].c[3], &c.s[i].c[4]);
        c.s[i].total += c.s[i].c[0];
        c.s[i].total += c.s[i].c[1];
        c.s[i].total += c.s[i].c[2];
        c.s[i].total += c.s[i].c[3];
        c.s[i].total += c.s[i].c[4];
    }
    c.n = n;
}

void input()
{
    printf("\n\n增加一条新的学生信息:\n");
    printf("请输入一个新的学生的信息[学号 姓名 物理 英文 语文 C语言 化学]:\n");
    c.s[c.n].total = 0;
    scanf("%s%s%lf%lf%lf%lf%lf", c.s[c.n].id, c.s[c.n].name, &c.s[c.n].c[0], &c.s[c.n].c[1], &c.s[c.n].c[2], &c.s[c.n].c[3], &c.s[c.n].c[4]);
    c.s[c.n].total += c.s[c.n].c[0];
    c.s[c.n].total += c.s[c.n].c[1];
    c.s[c.n].total += c.s[c.n].c[2];
    c.s[c.n].total += c.s[c.n].c[3];
    c.s[c.n].total += c.s[c.n].c[4];
    c.n += 1;
}

void printOne(int i)
{
    printf("%s\t%s\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\n", c.s[i].id, c.s[i].name, c.s[i].c[0], c.s[i].c[1], c.s[i].c[2], c.s[i].c[3], c.s[i].c[4], c.s[i].total);
}
void printAll()
{
    int i;
    printf("\n\n学生信息浏览:\n");
    for (i = 0; i < c.n; i++)    
        printOne(i);    
}
void findId()
{
    int i;
    char id[10];
    printf("\n\n请输入学号:");
    scanf("%s",id);
    for (i = 0; i < c.n; i++)    
        if (strcmp(c.s[i].id, id) == 0)
        {
            printf("信息已查到,内容如下:\n");
            printOne(i);
            return;
        }
    printf("信息不存在~!请核实后重新操作。\n");

}

void findName()
{
    int i;
    char name[10];
    printf("\n\n请输入姓名:");
    scanf("%s", name);
    for (i = 0; i < c.n; i++)
        if (strcmp(c.s[i].name, name) == 0)
        {
            printf("信息已查到,内容如下:\n");
            printOne(i);
            return;
        }
    printf("信息不存在~!请核实后重新操作。\n");

}

void sortTotal()
{
    int i, j;
    struct Stu t;
    printf("\n\n总分降序:\n");
    for(i=0;i<c.n-1;i++)
        for (j = 0; j < c.n - i - 1; j++)
            if (c.s[j].total < c.s[j + 1].total)
            {
                t = c.s[j];
                c.s[j] = c.s[j + 1];
                c.s[j + 1] = t;
            }
}

void sortName()
{
    int i, j;
    struct Stu t;
    printf("\n\n姓名排序:\n");
    for (i = 0; i < c.n - 1; i++)
        for (j = 0; j < c.n - i - 1; j++)
            if (strcmp(c.s[j].name, c.s[j + 1].name)>0)
            {
                t = c.s[j];
                c.s[j] = c.s[j + 1];
                c.s[j + 1] = t;
            }
}

void delet()
{
    int i,j;
    char id[10];
    printf("\n\n请输入要删除的学生学号:");
    scanf("%s", id);
    for (i = 0; i < c.n; i++)
        if (strcmp(c.s[i].id, id) == 0)
        {
            printf("信息已查到,内容如下:\n");
            printOne(i);
            break;
        }
    if (i < c.n)
    {
        for (j = i; j < c.n - 1; j++)
            c.s[j] = c.s[j + 1];
        c.n--;
        printf("此学生信息已经被删除~!\n");
    }
    else
        printf("信息不存在~!请核实后重新操作。\n");
}

void edit()
{
    int i;
    char id[10];
    printf("\n\n请输入要修改的学生学号:");
    scanf("%s", id);
    for (i = 0; i < c.n; i++)
        if (strcmp(c.s[i].id, id) == 0)
        {
            printf("信息已查到,内容如下:\n");
            printOne(i);
            break;
        }
    if (i < c.n)
    {
        c.s[i].total = 0;
        printf("请输入学号为%s学生的信息[姓名 物理 英文 语文 C语言 化学]:\n", id);
        scanf("%s%lf%lf%lf%lf%lf",c.s[i].name, &c.s[i].c[0], &c.s[i].c[1], &c.s[i].c[2], &c.s[i].c[3], &c.s[i].c[4]);
        c.s[i].total += c.s[i].c[0];
        c.s[i].total += c.s[i].c[1];
        c.s[i].total += c.s[i].c[2];
        c.s[i].total += c.s[i].c[3];
        c.s[i].total += c.s[i].c[4];
         
        printf("此学生信息已经被修改~!\n");
    }
    else
        printf("信息不存在~!请核实后重新操作。\n");
}
int main()
{
    char key;
    c.n = 0;    
    
    menu();
    printf("选择 (0~9):");
    while (1)
    {
        
        key=getch();
        while (key < '0' || key>'9')
        {              
            printf("\n只能选择0~9\n\n");
            key = getch();             
        }
            
        switch (key)
        {
        case '1': init();  break;
        case '2': input(); break;
        case '3':  printAll(); break;
        case '4':  findId(); break;
        case '5':  findName(); break;
        case '6':  sortTotal(); printAll(); break;
        case '7':  sortName(); printAll(); break;
        case '8':  delet(); break;
        case '9':  edit(); break;
        case '0': return 0; break;
        default:
            printf("只能选择0~9\n\n");
        }
        
        menu();
        printf("选择 (0~9):");
    }
    return 0;
}

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-05-18 17:26:01  更:2022-05-18 17:26:06 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/10 14:27:51-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码