国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

C/C++ 學(xué)生選課管理系統(tǒng)(源碼 + 詳解)

這篇具有很好參考價值的文章主要介紹了C/C++ 學(xué)生選課管理系統(tǒng)(源碼 + 詳解)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

?? 作者:Linux猿

?? 簡介:CSDN博客專家??,華為云享專家??,Linux、C/C++、云計算、物聯(lián)網(wǎng)、面試、刷題、算法盡管咨詢我,關(guān)注我,有問題私聊!

?? 關(guān)注專欄:C/C++課程設(shè)計100例?優(yōu)質(zhì)好文持續(xù)更新中……??????

?? 歡迎小伙伴們點贊??、收藏?、留言??


目錄

一、主要功能需求

二、主要設(shè)計思路

三、功能實現(xiàn)

3.1?課程信息瀏覽

3.2?課程信息錄入

3.3?課程信息刪除

3.4?課程信息修改

3.5?選修課程

四、總結(jié)


C/C++ 學(xué)生選課管理系統(tǒng)(源碼 + 詳解)

?本篇文章主要對學(xué)生選課管理系統(tǒng)進行詳細的講解,包括對功能需求、設(shè)計思路、主要功能實現(xiàn)等的講解。

一、主要功能需求

(1)支持課程信息瀏覽;

(2)支持課程信息查詢;

(3)支持課程信息錄入;

(4)支持課程信息刪除;

(5)支持課程信息修改;

(6)支持課程信息寫入文件;

(7)支持選修課程;

(8)支持查看選修課程;

(9)支持刪除選修課程;

(10)支持對選修課程的存儲,支持文件的寫入和讀取。

二、主要設(shè)計思路

學(xué)生選課管理系統(tǒng)主要設(shè)計流程圖如下所示。

C/C++ 學(xué)生選課管理系統(tǒng)(源碼 + 詳解)

如上圖所示,列出了主要功能的程序流程圖。

三、功能實現(xiàn)

這里對主要功能實現(xiàn)進行詳細講解。

3.1?課程信息瀏覽

課程信息瀏覽功能實現(xiàn)對所有選修課程的展示,代碼實現(xiàn)如下所示。

// 瀏覽課程信息
void viewCourse(LinkList *head)
{
    while (true) {
        system("cls");
        int x = sx, y = sy;
        if (head->next == NULL) {
            getCoord(x, ++y); printf("沒有課程信息!");
        } else {
            LinkList *p = head;
            while (p->next != NULL) {
                p = p->next;
                printDivideLine(x - 1, ++y, 40);
                getCoord(x, ++y); printf("課程編號:%s", p->ID);
                getCoord(x, ++y); printf("課程名稱:%s", p->name);
                getCoord(x, ++y); printf("課程性質(zhì):%s", p->property);
                getCoord(x, ++y); printf("實驗或上機學(xué)時:%d", p->experiment_hours);
                getCoord(x, ++y); printf("總學(xué)時:%d", p->hours);
                getCoord(x, ++y); printf("授課學(xué)時:%d", p->teach_hours);
                getCoord(x, ++y); printf("學(xué)分:%d", p->credit);
                getCoord(x, ++y); printf("開課:%s", p->course);
                printDivideLine(x - 1, ++y, 40);
            }
        }
        returnMenu(x, ++y);
        break;
    }
}

選修課程通過鏈表存儲,存儲的課程信息包括:課程編號、課程名稱、課程性質(zhì)、實驗或上機學(xué)時、總學(xué)時、授課學(xué)時、學(xué)分以及開課。?

3.2?課程信息錄入

課程信息錄入功能實現(xiàn)對選修課程信息的添加,代碼實現(xiàn)如下所示。

void addCourse(LinkList *end)
{
    while (true) {
        system("cls");
        int x = sx, y = sy;
        LinkList *in = (LinkList*)malloc(sizeof(LinkList));
        getCoord(x, ++y); printf("請輸入課程編號: ");
        scanf("%s", in->ID);
        getCoord(x, ++y); printf("請輸入課程名稱: ");
        scanf("%s", in->name);
        getCoord(x, ++y); printf("請輸入課程性質(zhì): ");
        scanf("%s", in->property);
        getCoord(x, ++y); printf("請輸入實驗或上機學(xué)時: ");
        scanf("%d",&in->experiment_hours);
        getCoord(x, ++y); printf("請輸入授課學(xué)時: ");
        scanf("%d",&in->teach_hours);
        getCoord(x, ++y); printf("請輸入學(xué)分: ");
        scanf("%d",&in->credit);
        getCoord(x, ++y); printf("請輸入總學(xué)時: ");
        scanf("%d",&in->hours);
        getCoord(x, ++y); printf("請輸入開課: ");
        scanf("%s", in->course);

        end->next = in;
        in->next = NULL;
        end = in;
        char ch = continueMenu(x, y += 2);
        if (ch == 'Q') break;
    }
}

如上述代碼所示,錄入的選修課程信息包括:課程編號、課程名稱、課程性質(zhì)、實驗或上機學(xué)時、授課學(xué)時、學(xué)分以及總學(xué)時。

3.3?課程信息刪除

課程信息刪除功能實現(xiàn)對選修課程信息的刪除,代碼實現(xiàn)如下所示。

void deleteCourse(LinkList *head)
{
    system("cls");
    int x = sx, y = sy;
    LinkList *pre = head;
    LinkList *p = head->next;

    getCoord(x, ++y); printf("請輸入將要刪除的課程編號: ");
    char id[30];
    scanf("%s", id);

    bool flag = false;
    while (p != NULL) {
        if (!strcmp(p->ID, id)) {
            flag = true;
            break;
        }
        pre = p;
        p = p->next;
    }
    if (flag) {
        pre->next = pre->next->next;
        getCoord(x, ++y);  printf("刪除課程信息成功!");
    } else {
        getCoord(x, ++y);  printf("未查找到課程信息!");
    }

    returnMenu(x, ++y);
}

如上代碼所示,根據(jù)課程編號刪除課程信息,因為選課信息是通過鏈表存儲,所以記錄待刪除節(jié)點的前一個節(jié)點,直接執(zhí)行:

pre->next = pre->next->next;

即可。如果課程編號不存在,則輸出“未查找到課程信息!”。?

3.4?課程信息修改

課程信息修改功能實現(xiàn)選修課程信息的修改,代碼實現(xiàn)如下所示。

void modifyCourse(LinkList *head)
{
    system("cls");
    int x = sx, y = sy;
    LinkList *p = head->next;

    getCoord(x, ++y); printf("請輸入將要修改的課程編號: ");
    char id[30];
    scanf("%s", id);

    bool flag = false;
    while (p != NULL) {
        if (!strcmp(p->ID, id)) {
            flag = true;
            break;
        }
        p = p->next;
    }
    if (flag) {
        getCoord(x, ++y); ++y; printf("請輸入要修改的項:");
        getCoord(x, ++y); ++y; printf("1) 課程編號");
        getCoord(x, ++y); ++y; printf("2) 課程名稱");
        getCoord(x, ++y); ++y; printf("3) 課程性質(zhì)");
        getCoord(x, ++y); ++y; printf("4) 實驗或上機學(xué)時");
        getCoord(x, ++y); ++y; printf("5) 授課學(xué)時");
        getCoord(x, ++y); ++y; printf("6) 學(xué)分");
        getCoord(x, ++y); ++y; printf("7) 總學(xué)時");
        getCoord(x, ++y); ++y; printf("8) 開課");
        getCoord(x, ++y); ++y; printf("請輸入:");
        int id;
        scanf("%d", &id);
        switch (id) {
        case 1:
            getCoord(x, ++y); ++y; printf("請輸入課程編號:");
            scanf("%s", p->ID);
            break;
        case 2:
            getCoord(x, ++y); ++y; printf("請輸入課程名稱:");
            scanf("%s", p->name);
            break;
        case 3:
            getCoord(x, ++y); ++y; printf("請輸入課程性質(zhì):");
            scanf("%s", p->property);
            break;
        case 4:
            getCoord(x, ++y); ++y; printf("請輸入實驗或上機學(xué)時:");
            scanf("%d", &p->experiment_hours);
            break;
        case 5:
            getCoord(x, ++y); ++y; printf("請輸入授課學(xué)時:");
            scanf("%d", &p->teach_hours);
            break;
        case 6:
            getCoord(x, ++y); ++y; printf("請輸入學(xué)分:");
            scanf("%d", &p->credit);
            break;
        case 7:
            getCoord(x, ++y); ++y; printf("請輸入總學(xué)時:");
            scanf("%d", &p->hours);
            break;
        case 8:
            getCoord(x, ++y); ++y; printf("請輸入開課:");
            scanf("%s", p->course);
            break;
        }
        getCoord(x, ++y);  printf("修改課程信息成功!");
    } else {
        getCoord(x, ++y);  printf("未查找到課程信息!");
    }
    returnMenu(x, ++y);
}

?如上代碼所示,實現(xiàn)了對已有選課信息的修改。首先,需要輸入課程編號,根據(jù)課程編號在選修課程列表中進行查找,如果找到對應(yīng)選修課程信息,展示可以修改的內(nèi)容,選擇后修改對應(yīng)的內(nèi)容。否則,如果查找不到對應(yīng)課程,則輸出“未查找到課程信息!”。

3.5?選修課程

選修課程功能實現(xiàn)對選修課程的選擇,代碼實現(xiàn)如下所示。

void chooseCourse(LinkList *head)
{
    while (true) {
        system("cls");
        int x = sx, y = sy;
        getCoord(x, ++y); printf("請輸入課程編號: ");
        char id[30];
        scanf("%s", id);
        bool flag = false;
        LinkList *p = head->next;
        while (p != NULL) {
            if (!strcmp(p->ID, id)) {
                flag = true;
                break;
            }
        }
        if (flag) {
            getCoord(x, ++y); printf("選修課程成功!");
            printCourse(p, x, ++y);
            addCourseToFile(p);
        } else {
            getCoord(x, ++y); printf("未查詢到課程信息!");
        }
        y += 8;
        char ch = continueMenu(x, ++y);
        if (ch == 'Q') break;
    }
}

如上代碼所示,選修課程是對在選修課程列表里的課程進行選擇,選修課程是依據(jù)課程編號進行選擇,在選修課程列表中根據(jù)課程編號查找,將其添加到已選課列表里。如果未查詢到選修課程信息,則輸出“未查詢到課程信息”。

四、總結(jié)

本篇文章實現(xiàn)了學(xué)生選課管理系統(tǒng),主要是對學(xué)生選課進行管理,實現(xiàn)了對選課信息的錄入、查詢、瀏覽以及刪除等操作,學(xué)生可以根據(jù)錄入的選課信息選修課程。


?????? 訂閱專欄「C/C++/Java課程設(shè)計100例」后可聯(lián)系作者獲取源碼 ??????


?? 感覺有幫助記得「一鍵三連支持下哦!有問題可在評論區(qū)留言??,感謝大家的一路支持!??猿哥將持續(xù)輸出「優(yōu)質(zhì)文章回饋大家!????????????????文章來源地址http://www.zghlxwxcb.cn/news/detail-501827.html


到了這里,關(guān)于C/C++ 學(xué)生選課管理系統(tǒng)(源碼 + 詳解)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 34基于Java的學(xué)生選課系統(tǒng)或?qū)W生課程管理系統(tǒng)

    本系統(tǒng)是基于Java的學(xué)生選課信息管理系統(tǒng),可以有效的對學(xué)生選課信息、學(xué)生個人信息、教師個人信息等等進行管理。 摘要:基于java的學(xué)生課程管理系統(tǒng),基于java的學(xué)生選課系統(tǒng),javaWeb的學(xué)生選課系統(tǒng),學(xué)生成績管理系統(tǒng),課表管理系統(tǒng),學(xué)院管理系統(tǒng),大學(xué)生選課系統(tǒng)

    2024年02月03日
    瀏覽(26)
  • Java+Swing+MySQL實現(xiàn)學(xué)生選課管理系統(tǒng)

    Java+Swing+MySQL實現(xiàn)學(xué)生選課管理系統(tǒng)

    目錄 一、系統(tǒng)介紹 1.運行環(huán)境 2.技術(shù)說明 3.系統(tǒng)功能 4.數(shù)據(jù)庫實體E-R圖設(shè)計 5.數(shù)據(jù)庫表的設(shè)計 二、系統(tǒng)實現(xiàn)? 1.用戶登錄 2.主界面? ?3.數(shù)據(jù)庫連接 4.數(shù)據(jù)查詢 5.查詢課程信息 6.添加學(xué)生信息 7.修改學(xué)生信息 三、部分代碼? 1.ChangePwd.java 2.Login.java 3.Main.java 5.備注 開發(fā)工具:

    2024年02月08日
    瀏覽(27)
  • Python Django的學(xué)生選課管理系統(tǒng),實現(xiàn)多用戶登錄注冊,可選課可評課

    Python Django的學(xué)生選課管理系統(tǒng),實現(xiàn)多用戶登錄注冊,可選課可評課

    學(xué)生選課管理系統(tǒng)是一個基于Python Django開發(fā)的教務(wù)管理系統(tǒng),旨在提供方便快捷的選課服務(wù)和學(xué)籍管理功能。該系統(tǒng)分為教師端和學(xué)生端兩個角色,為教師和學(xué)生提供了不同的功能和權(quán)限。 教師端功能: 教師可以登錄系統(tǒng)后,進行課程管理、成績錄入和學(xué)生管理等操作。具

    2024年01月24日
    瀏覽(37)
  • 【Jsp課設(shè)】3款基于JavaWeb的學(xué)生選課管理系統(tǒng)

    【Jsp課設(shè)】3款基于JavaWeb的學(xué)生選課管理系統(tǒng)

    ?項目介紹:后端采用Jsp+Servlet。前端使用的是Layui的一個網(wǎng)站模板。開發(fā)一個在線的學(xué)生選課管理系統(tǒng),用于課程設(shè)計的使用。 項目類型:JavaWeb源碼? 用戶類型:2個角色(管理員+學(xué)生) 主要技術(shù):Jsp+Servlet+MySQL+Jquery(前端Bootstrap或者Layui) 開發(fā)工具:Eclipse/Idea均可使用,有兩

    2024年02月04日
    瀏覽(21)
  • 【Golang項目實戰(zhàn)】用Go寫一個學(xué)生信息管理系統(tǒng),真的太酷啦| 保姆級詳解,附源碼——建議收藏

    【Golang項目實戰(zhàn)】用Go寫一個學(xué)生信息管理系統(tǒng),真的太酷啦| 保姆級詳解,附源碼——建議收藏

    博主簡介: 努力學(xué)習(xí)的大一在校計算機專業(yè)學(xué)生,熱愛學(xué)習(xí)和創(chuàng)作。目前在學(xué)習(xí)和分享:數(shù)據(jù)結(jié)構(gòu)、Go,Java等相關(guān)知識。 博主主頁: @是瑤瑤子啦 所屬專欄: Go語言核心編程 近期目標: 寫好專欄的每一篇文章 學(xué)習(xí)了Go的基礎(chǔ)語法知識,如何鞏固和提升呢?跟著瑤瑤子寫一個

    2024年02月02日
    瀏覽(25)
  • 【Qt學(xué)生信息管理系統(tǒng)】2.完整版源碼

    ?? 「CSDN主頁」 :傳送門 ?? 「Bilibil首頁」 :傳送門 ?? 「網(wǎng)易云課堂」 :傳送門 ?? 「CSDN學(xué)院」 :傳送門 ?? 「51CTO學(xué)院」 :傳送門 ?? 「本文的內(nèi)容」 :Qt學(xué)生管理系統(tǒng)代碼 ?? 「動動你的小手」 : 點贊 ?? 收藏 ?? 評論 ?? 1.【Qt學(xué)生信息管理系統(tǒng)】1.專欄介紹(

    2023年04月13日
    瀏覽(13)
  • 用Java實現(xiàn)一個學(xué)生管理系統(tǒng)(附源碼)

    用Java實現(xiàn)一個學(xué)生管理系統(tǒng)(附源碼)

    目錄 一、題目要求 ?二、設(shè)計思路 (2)代表課程的類——Course類 (3)具體功能實現(xiàn)類——Function類 (4)測試類——Test類 三、代碼實現(xiàn) (1)Student.java文件 (2)Course.java文件 (3)Function.java文件 (4)Test.java文件 ????????編寫一個學(xué)生成績管理系統(tǒng)。學(xué)生的屬性包括學(xué)

    2024年02月08日
    瀏覽(20)
  • 學(xué)生成績管理系統(tǒng)——C語言版(含源碼)

    學(xué)生成績管理系統(tǒng)——C語言版(含源碼)

    一、開發(fā)環(huán)境 操作系統(tǒng):Ununtu 16 開發(fā)環(huán)境工具:vscode 開發(fā)語言:C語言 二、功能需求 制作學(xué)生管理系統(tǒng) 在系統(tǒng)中能夠?qū)崿F(xiàn) 錄入學(xué)生信息、幫助菜單、列出學(xué)生信息、計算總成績平均值、根據(jù)總成績平均值完成排序、根據(jù)學(xué)號查詢學(xué)生信息、清屏、退出等功能。 三、功能說

    2024年02月08日
    瀏覽(24)
  • 大學(xué)生選修選課系統(tǒng)|基于Springboot的大學(xué)生選修選課系統(tǒng)設(shè)計與實現(xiàn)(源碼+數(shù)據(jù)庫+文檔)

    大學(xué)生選修選課系統(tǒng)|基于Springboot的大學(xué)生選修選課系統(tǒng)設(shè)計與實現(xiàn)(源碼+數(shù)據(jù)庫+文檔)

    大學(xué)生選修選課系統(tǒng)目錄 目錄 基于Springboot的大學(xué)生選修選課系統(tǒng)設(shè)計與實現(xiàn) 一、前言 二、系統(tǒng)功能設(shè)計? 三、系統(tǒng)實現(xiàn)? 1、用戶信息管理 2、 課程信息管理 3、排課信息管理 4、公告信息管理 ?四、數(shù)據(jù)庫設(shè)計 1、實體ER圖 ? 五、核心代碼? ?六、論文參考 七、最新計算機

    2024年03月11日
    瀏覽(24)
  • java畢業(yè)設(shè)計——基于JSP+sqlserver的學(xué)生信息管理系統(tǒng)設(shè)計與實現(xiàn)(畢業(yè)論文+程序源碼)——學(xué)生信息管理系統(tǒng)

    java畢業(yè)設(shè)計——基于JSP+sqlserver的學(xué)生信息管理系統(tǒng)設(shè)計與實現(xiàn)(畢業(yè)論文+程序源碼)——學(xué)生信息管理系統(tǒng)

    大家好,今天給大家介紹基于JSP+sqlserver的學(xué)生信息管理系統(tǒng)設(shè)計與實現(xiàn),文章末尾附有本畢業(yè)設(shè)計的論文和源碼下載地址哦。需要下載開題報告PPT模板及論文答辯PPT模板等的小伙伴,可以進入我的博客主頁查看左側(cè)最下面欄目中的自助下載方法哦 文章目錄: 隨著學(xué)校規(guī)模的

    2024年02月04日
    瀏覽(29)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包