n阶图G的连通性及欧拉性判别系统-2020大一C++程序设计项目 小学期源码公开

本文介绍了2020年大一C++程序设计项目,用于判断无向图和有向图的连通性、分支、欧拉回路等特性。通过邻接矩阵和DFS算法,实现了图形的输入、连通性判断、弱连通性、单向连通性、强连通性以及欧拉性的检测。项目具有友好的用户交互界面,提供撤回功能,提升用户体验。
摘要由CSDN通过智能技术生成

2020大一C++程序设计项目 小学期源码公开

作者:传扬

文章末尾附加源码

项目设计

1.数据输入和储存
本系统内核采用邻接矩阵,但主界面是通过点和边的关系来进行输入的,这样用户可以直观的把图形输入到计算机里,不需要掌握“离散数学”上的“邻接矩阵”,降低用户使用程序的难度。
2.无向图的连通判断以及分支的输出
程序可以对用户输入的无向图进行连通性判断,倘若该图是连通图,则输出“此图是连通图”,反之输出“此图不是连通图”。
同时,程序要达到用户在选择输出无向图分支后能够清晰的看出图中的每一个分支,即使是连通图,也要把唯一的分支给输出到主界面。
3.有向图连通性判断
弱连通图的判定
判断用户输入的图是否为弱连通图,倘若是弱连通图,则输出“此图是弱连通图”,倘若不是则输出“此图不是弱连通图”。
单向连通图的判定
判断用户输入的图形是否为单向连通图,倘若是单向连通图,则输出“此图是单向连通图”,倘若不是则输出“此图不是单向连通图”。
强连通图的判定
判断用户输入的图形是否为强连通图,倘若是强连通图,则输出“此图是强连通图”,倘若不是则输出“此图不是强连通图”。
4.无向图的欧拉回路判断和输出
程序可以对用户输入的无向图进行欧拉性判断,倘若该图是欧拉图,则告诉用户“此图是欧拉图”,并输出其欧拉回路,否则输出“此图不是欧拉图”
5. 用户体验
为了提高用户的使用体验,本程序设计结构非常完整。无论是输入无向图或有向图,都有撤回上一组输入数据的功能,避免用户误输入而得重启整个程序,并且在判别完有向图后,程序可以返回到主页无缝对无向图进行判定,反之亦然。

项目实现过程

导图
启动程序时,我们便可以看见如下欢迎界面:

在这里插入图片描述

//伪代码
void welcome() {
   
        while (true) {
   
            cout << "-------主页-------" << endl;
            cout << "1.无向图" << endl;
            cout << "2.有向图" << endl;
            cout << "3.退出系统" << endl;
            cout << "请选择您要输入的图形类型:";
            int n;
            cin >> n;
            switch (n) {
   
                case 1: {
   
                    enterUndigraph();
                    break;
                }
                case 2
  • 6
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值