ChatGPT实现用C语言写一个学生成绩管理系统

这篇具有很好参考价值的文章主要介绍了ChatGPT实现用C语言写一个学生成绩管理系统。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

随着ChatGPT爆火,大家都在使用ChatGPT来帮助自己提高效率,对于程序员来说使用它来写代码怎么样呢?今天尝试让ChatGPT,写了一个学生成绩管理系统。

问题是:使用C语言写一个学生成绩管理系统,要求使用链表,实现增删改查功能。

下面是ChatGPT写的代码,用时不到30秒,速度还是很惊人的:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>

//定义链表结构体。
struct student {
    char name[20]; //学生姓名。
    int id; //学生编号。
    float score; //学生成绩。
    struct student *next; //指向下一个结构体的指针。
} *head;

//声明函数。
void add(); //添加学生信息。
void display(); //显示所有学生信息。
void search(); //根据学生姓名或编号查找学生信息。
void modify(); //修改学生信息。
void quit(); //程序退出。

//主函数。
int main() {
    int ch;
    printf("\n\t学生成绩管理系统\n");
    printf("\t==================\n");
    while (1) {
        printf("1. 添加学生信息\n");
        printf("2. 显示所有学生信息\n");
        printf("3. 查找学生信息\n");
        printf("4. 修改学生信息\n");
        printf("5. 退出程序\n");
        printf("请输入选项: ");
        scanf("%d", &ch);
        switch (ch) {
            case 1:
                add();
                break;
            case 2:
                display();
                break;
            case 3:
                search();
                break;
            case 4:
                modify();
                break;
            case 5:
                quit();
                break;
            default:
                printf("无效的选项,请重新输入。\n");
        }
    }
    return 0;
}

//添加学生信息。
void add() {
    struct student *newstudent, *laststudent;
    newstudent = (struct student *) malloc(sizeof(struct student)); //申请新的结构体。
    printf("\n请输入学生姓名: ");
    scanf("%s", newstudent->name);
    printf("请输入学生编号: ");
    scanf("%d", &newstudent->id);
    printf("请输入学生成绩: ");
    scanf("%f", &newstudent->score);
    newstudent->next = NULL;
    if (head == NULL) {
        head = newstudent;
    } else {
        laststudent = head;
        while (laststudent->next != NULL) {
            laststudent = laststudent->next;
        }
        laststudent->next = newstudent;
    }
    printf("\n学生信息已成功添加。\n");
}

//显示所有学生信息。
void display() {
    struct student *displaystudent = head; //定义指向链表结构体的指针。
    if (displaystudent == NULL) {
        printf("\n暂无学生信息。\n");
    } else {
        printf("\n所有学生信息如下:\n");
        while (displaystudent != NULL) {
            printf("====================\n");
            printf("姓名: %s", displaystudent->name);
            printf("编号: %d", displaystudent->id);
            printf("成绩: %.2f", displaystudent->score);
            displaystudent = displaystudent->next;
        }
        printf("====================\n");
    }
}

//根据学生姓名或编号查找学生信息。
void search() {
    struct student *searchstudent = head;
    char searchname[20];
    int searchid;
    printf("\n请选择查找方式:\n");
    printf("1. 根据姓名查找");
    printf("2. 根据编号查找");
    printf("请输入选项: ");
    int ch;
    scanf("%d", &ch);
    switch (ch) {
        case 1:
            printf("\n请输入学生姓名: ");
            scanf("%s", searchname);
            while (searchstudent != NULL) {
                if (strcmp(searchname, searchstudent->name) ==0) {
                    printf("====================\n");
                    printf("姓名: %s", searchstudent->name);
                    printf("编号: %d", searchstudent->id);
                    printf("成绩: %.2f", searchstudent->score);
                    printf("====================\n");
                    return;
                }
                searchstudent = searchstudent->next;
            }
            printf("\n未找到该学生信息。\n");
            break;
        case 2:
            printf("\n请输入学生编号: ");
            scanf("%d", &searchid);
            while (searchstudent != NULL) {
                if (searchid == searchstudent->id) {
                    printf("====================\n");
                    printf("姓名: %s", searchstudent->name);
                    printf("编号: %d", searchstudent->id);
                    printf("成绩: %.2f", searchstudent->score);
                    printf("====================\n");
                    return;
                }
                searchstudent = searchstudent->next;
            }
            printf("\n未找到该学生信息。\n");
            break;
        default:
            printf("\n无效的选项,请重新输入。\n");
    }
}

//修改学生信息。
void modify() {
    struct student *modifystudent = head;
    char modifyname[20];
    int modifyid;
    printf("\n请选择修改方式:\n");
    printf("1. 根据姓名查找");
    printf("2. 根据编号查找");
    printf("请输入选项: ");
    int ch;
    scanf("%d", &ch);
    switch (ch) {
        case 1:
            printf("\n请输入学生姓名: ");
            scanf("%s", modifyname);
            while (modifystudent != NULL) {
                if (strcmp(modifyname, modifystudent->name) ==0) {
                    printf("\n请输入新的学生成绩: ");
                    scanf("%f", &modifystudent->score);
                    printf("\n学生信息已成功修改。\n");
                    return;
                }
                modifystudent = modifystudent->next;
            }
            printf("\n未找到该学生信息。\n");
            break;
        case 2:
            printf("\n请输入学生编号: ");
            scanf("%d", &modifyid);
            while (modifystudent != NULL) {
                if (modifyid == modifystudent->id) {
                    printf("\n请输入新的学生成绩: ");
                    scanf("%f", &modifystudent->score);
                    printf("\n学生信息已成功修改。\n");
                    return;
                }
                modifystudent = modifystudent->next;
            }
            printf("\n未找到该学生信息。\n");
            break;
        default:
            printf("\n无效的选项,请重新输入。\n");
    }
}

//程序退出。
void quit() {
    struct student *currentstudent = head, *nextstudent;
    while (currentstudent != NULL) {
        nextstudent = currentstudent->next;
        free(currentstudent);
        currentstudent = nextstudent;
    }
    exit(0);
}

那么写的代码怎么样呢,能不能直接运行,我们来看一下。

直接将这段代码复制粘贴到clion里,点击运行,结果如下:


D:\wangc\CLionProjects\demo_10\cmake-build-debug\demo_10.exe

        学生成绩管理系统
    ==================

  1. 添加学生信息

  2. 显示所有学生信息

  3. 查找学生信息

  4. 修改学生信息

  5. 退出程序 请输入选项:1

请输入学生姓名:zhangsan 请输入学生编号:1001 请输入学生成绩:88

学生信息已成功添加。

  1. 添加学生信息

  2. 显示所有学生信息

  3. 查找学生信息

  4. 修改学生信息

  5. 退出程序 请输入选项:1

请输入学生姓名:lisi 请输入学生编号:1002 请输入学生成绩:98

学生信息已成功添加。

  1. 添加学生信息

  2. 显示所有学生信息

  3. 查找学生信息

  4. 修改学生信息

  5. 退出程序 请输入选项:1

请输入学生姓名:wangwu 请输入学生编号:1003 请输入学生成绩:87

学生信息已成功添加。

  1. 添加学生信息

  2. 显示所有学生信息

  3. 查找学生信息

  4. 修改学生信息

  5. 退出程序 请输入选项:2

所有学生信息如下:

姓名: zhangsan编号: 1001成绩: 88.00==================== 姓名: lisi编号: 1002成绩: 98.00==================== 姓名: wangwu编号: 1003成绩: 87.00====================

  1. 添加学生信息

  2. 显示所有学生信息

  3. 查找学生信息

  4. 修改学生信息

  5. 退出程序 请输入选项:3

请选择查找方式:

  1. 根据姓名查找2. 根据编号查找请输入选项:2

请输入学生编号:1002

姓名: lisi编号: 1002成绩: 98.00====================

  1. 添加学生信息

  2. 显示所有学生信息

  3. 查找学生信息

  4. 修改学生信息

  5. 退出程序 请输入选项:4

请选择修改方式:

  1. 根据姓名查找2. 根据编号查找请输入选项:1

请输入学生姓名:zhangsan

请输入新的学生成绩:97

学生信息已成功修改。

  1. 添加学生信息

  2. 显示所有学生信息

  3. 查找学生信息

  4. 修改学生信息

  5. 退出程序 请输入选项:2

所有学生信息如下:

姓名: zhangsan编号: 1001成绩: 97.00==================== 姓名: lisi编号: 1002成绩: 98.00==================== 姓名: wangwu编号: 1003成绩: 87.00====================

  1. 添加学生信息

  2. 显示所有学生信息

  3. 查找学生信息

  4. 修改学生信息

  5. 退出程序 请输入选项:


经过测试发现,ChatGPT写基础代码是没有问题的,可以直接运行,而且运行结果符合预期。文章来源地址https://www.toymoban.com/news/detail-411870.html

到了这里,关于ChatGPT实现用C语言写一个学生成绩管理系统的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【学生成绩管理系统----C语言】

    还在为期末程序设计而烦恼吗,不要担心,大师帮你安利一波完整的的管理系统代码,对你有帮助记得加关注噢! 文章目录 一、学生成绩管理系统是什么? 二、信息管理的七个模块 1.Step one 2.Step Two  3.Step Three 4.Step four 5.Step five 6.Step Six 7.Next 总结        学生信息管理系统

    2024年02月03日
    浏览(56)
  • JSP设计一个简单的学生成绩管理系统

    XsCjZj.jsp      XsCjZj0.jsp XsCx.jsp     XsWh.jsp XsXq.jsp  XsXg.jsp   XsXg0.jsp XsSc.jsp   XsSc0.jsp  

    2024年02月11日
    浏览(45)
  • 课设——C语言学生成绩管理系统

            相信许多同学在大学期间,学习计算机相关课程的时候,都有一个令人头疼的问题——课程设计。那么本片文章就详细的分享一个用C语言实现一个简单学生成绩管理系统,供同学们学习和参考(文章最后会附上源程序)。 1.建立一张学生成绩表,每个学生包含 学

    2024年02月11日
    浏览(83)
  • 用PHP写一个学生成绩管理系统-基础版

    在开始编写代码前,首先需要在MySQL数据库中创建一个名为student的表,并添加id、name、math、english、science五列,分别用于存储学生ID、姓名、数学成绩、英语成绩和科学成绩的数据。具体SQL命令如下: 接下来,我们使用PHP来实现一个学生成绩管理系统。首先创建一个名为ind

    2024年02月12日
    浏览(82)
  • C语言课程设计-学生成绩管理系统

    需求分析: 1.设计题目:学生成绩管理系统 2.系统功能需求分析:实现对学生各科成绩总分及平均分的排序,和成绩的查找 概要设计 1. 功能模块图 详细设计 1. 流程图 测试结果 :列出所有功能的运行界面,并作文字说明。 1.录入成绩:录入3个人的学号和各科成绩 2.每门课程

    2024年02月11日
    浏览(51)
  • C语言编程学生成绩管理系统

    目录 一、介绍 二、功能 1.录入学生 2.删除学生信息 3.修改学生信息 4.查询学生信息 5.所有学生信息 6.成绩排序  7.退出程序 三、代码 1.主函数 2.头文件 3.函数封装库         利用C语言,运用链表、指针、封装函数等基本知识实现一个学生管理系统。通过在终端对学生信息进

    2024年02月10日
    浏览(54)
  • C语言学生成绩管理系统(综合项目)

    1. 这个代码主要实现以下功能: 2. 用到的主要参数有:     1.整型变量int n;用于储存学生人数和之后的循环判断。     2.字符串char name[][];用于储存姓名。     3.浮点型变量float score[];用于储存成绩。     4.长整型变量long ID[Max];用于储存学号。 3.用到的子函数有: int  Menu(

    2024年02月11日
    浏览(43)
  • 用Java创建一个学生成绩管理系统登陆界面(初级)

    目录 任务与要求 代码部分 部分代码: 完整代码: 使用eclipse.exe创建一个登录界面,如图1所示,当用户名输入“lili”,密码输入“123456”后,弹出主菜单窗体,如图2(a)所示。鼠标箭头在主菜单窗体点“操作菜单”会弹出操作子菜单窗体,如图2(b)所示。鼠标箭头在主菜单

    2024年02月11日
    浏览(43)
  • C语言课程设计_学生成绩管理系统

    设计一个学生成绩排名系统。 1)  具备对成绩的管理功能(添加、删除、排序) 2)  具备对成绩的统计功能(最高分,最低分,平均分,及格率等) 3)  具备按学号、姓名、或课程名查询成绩的功能。 4)学生成绩应该保存在文件中。 备注:成绩记录以下信息:班级,学号,

    2024年02月11日
    浏览(49)
  • 学生成绩管理系统(C语言)(数组结构体)

    学生成绩管理系统 利用结构体、排序查找算法以及模块化程序设计实现如下菜单驱动的学生成绩管理系统: 1) 首次批量输入每个学生的学号、姓名、和各科考试成绩。 2) 增添一个新学生的信息。 3) 增添一门新的学科的信息。 4) 按学生姓名或学号查询、修改、删除学生信

    2024年02月09日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包