跳至主要內容
第一章:C语言和C++课设源码

第一章:C语言和C++课设源码

各大博客大多源码都有着各种bug、无法运行、资源数据库不完整等问题。
我们制作并整理了一些源码如下,均经过检测可用!源码按照指导即可在电脑运行。
源码均为有偿实惠,请须知!

也可以在文末下方联系我快速实惠订做课设!

运行环境:可以运行C、C++的都可以,如DevC++、VS、VC++等

管理系统类

支持快速订做管理系统,C语言 C++ 面向对象 链表 结构体顺序表

C、C++学生信息管理系统


学长敲代码源码C/C++大约 3 分钟约 864 字
C语言2048游戏源代码

C语言2048游戏源代码

代码400行左右,操作十分流畅,完全由C语言实现!

资源包括: 源码 + 报告 + 流程图 (请看下面演示)

 
//操作:上下左右键 
//主函数,新建一个游戏并开始 
int main() {
    int score = new2048();
    printf("游戏结束,最终分数 %d.\n", score);
    return 0;
}
 
int new2048(){
    system("cls"); 
    printf("操作按键:请用上下左右方向键来操作\n");
    //定义游戏面板 
    int board[SIZE][SIZE] = {{0}};
    int c, score, moveScore, gameWon;
    //初始化游戏面板
    initBoard(board);
    //初始化游戏分数 和 胜利标志gameWon=0; 
    score = 0;
    gameWon = 0;
    //canMove判断当前用户还可以继续移动? 
    while (canMove(board) == 1) {
        //打印游戏面板 
        printf("\n"); 
        printBoard(board);
        printf("\n当前分数:%d.\n\n", score);
        
        // 发现游戏中存在2048则说明胜利。 也可删掉这段逻辑让游戏永远继续下去 
        if (gameWon == 0 && boardContains2048(board)) {
            gameWon = 1;
            printf("\n恭喜你胜利了!\n");  
        }
        //获取键盘输入 
        c = getKey();
        
        //moveScore 是获取用户移动的结果,-1表示无效移动。 
        moveScore = 0;
        if (c == 3) {
            moveScore = moveLeft(board);
        } else if (c == 2) {
            moveScore = moveDown(board);
        } else if (c == 1) {
            moveScore = moveUp(board);
        } else if (c == 4) {
            moveScore = moveRight(board);
        }
        //有效移动 
        if (moveScore != -1){
            insertNewNumber(board);
            //加分 
            score = score + moveScore;
        }
        //清屏 
        system("cls");
    }
    printBoard(board);
    return score; 
}

学长敲代码源码C/C++大约 1 分钟约 355 字
C/C++ 家庭财务管理系统 记账 家庭账本

C/C++ 家庭财务管理系统 记账 家庭账本

可以记录收入支出,并将数据保存到文件,下次启动程序自动读取上次保存的数据

有两个版本,一个是C语言,一个是C++,自行选择,VC++、VS、devc++等各编译器均可运行。代码注释齐全,容易理解

代码量350行。

定义结构体如下

//定义 账单 结构体
struct Record {
    char type[15] ; // 收入/支出
    double money ; // 金额
    int time ; // 时间
    char item[15] ; // 类别
    char desc[15] ; // 备注
};

学长敲代码源码C/C++小于 1 分钟约 211 字
C/C++ 仓库库存管理系统源代码

C/C++ 仓库库存管理系统源代码

添加、删除、修改、查找、排序、保存、读入货物功能

添加、删除、修改、查找、排序仓库

添加、查找、排序库存记录,根据货物查询,统计货物总量。

保存文件和读取文件功能

有两个版本,一个是C语言,一个是C++,自行选择,VC++、VS、devc++等各编译器均可运行。代码注释齐全,容易理解,代码量850行。

菜单页:

w

添加货物:


学长敲代码源码C/C++大约 2 分钟约 473 字
C语言校园导航系统

C语言校园导航系统

代码量:380

知识点:图,三维数组等数据结构。采用迪杰斯特拉算法求最短路径、最短时间

里面的学校内容是可以自行修改的,你可以改成城市、你的学校

我们可以加入中间点来查询路径的最快时间和最短路径

void show4(int i,int j, int temp) 
{
    int k=0,a=i,b=j;
    int S;
    double L;
    int h,m,s;
    printf("\n请输入起始时间(hh:mm:ss):");
    scanf("%d:%d:%d",&h,&m,&s);
    if(shortest[i][j][temp]!=Maxedge)
    {
        if(temp == 0)
        printf("从%s到%s的最短路径为:\n",ver[i].name,ver[j].name);
        if(temp == 1)
        printf("从%s到%s的最快时间的路径为:\n",ver[i].name,ver[j].name);
        printf("%s",ver[i].name);
        while(path[i][j][temp]!=0)
        {
            k=path[i][j][temp];
            while(path[i][k][temp]!=0)
        {
            k=path[i][k][temp];
        }
            printf("----%s",ver[k].name);
            i=k;
        }
              printf("----%s;\n",ver[j].name );
              if(temp == 0)
              {
                  printf("最短距离为:%d米。\n",shortest[a][b][temp]);
                S = shortest[a][b][temp] / 1;//(人每秒1米) 
                time(h, m, s, S);
              }
                  if(temp == 1)
                  {
                      printf("最快时间为:%d秒。\n",shortest[a][b][temp]);
                    time(h, m, s, shortest[a][b][temp]);    
                  }
                    
    }
    else
        printf("从%s不能到达%s。",ver[i].name ,ver[j].name );
}

学长敲代码源码C/C++大约 1 分钟约 319 字
C语言迷宫的解源码

C语言迷宫的解源码

题目介绍:
用二维数组表示迷宫,1表示通顺路口,2表示搜索过的,0表示障碍路口,采用递归、堆栈的方式求迷宫出路的解并输出。

第一部分使用递归求解
为了数据的简单化,不对路口进行数据结构化,将用一个简单的int类型数组来表示迷宫
因为每一个路口的四个方向相对于当前路口的位移都是一样的,这样可以用一个int类型
二位数据表示四个方向的相对于当前位置的位移,以顺时针东、南,、西、北储存

第一个方法是采用递归的方式求解,通过探测下一个路口的方式来求解。
第二种则用堆栈求解,这里涉及到栈数据结构的使用,栈的基本操作代码略过


学长敲代码源码C/C++大约 3 分钟约 828 字
C语言C++学生成绩管理系统

C语言C++学生成绩管理系统

对学生的信息、学科成绩进行管理,并进行统计。
对信息进行读写文件操作。对于学生数据,会自动保存数据到本地,下次运行自动读取数据

代码460行左右,操作十分流畅,有两个版本,一个是C语言,一个是C++

资源包括: C/C++源码 + 报告

查看信息和统计信息

添加学生


学长敲代码源码C/C++大约 2 分钟约 496 字
C++贪吃蛇源码

C++贪吃蛇源码

贪吃蛇:用户通过WASD来控制蛇移动,随机出现食物,吃到食物可以加分,撞到墙体死亡,撞到自身死亡

采用C++面相对象,代码行数500+,适合期末课设。

w
w
w

学长敲代码源码C/C++小于 1 分钟约 85 字
C++坦克大战源码

C++坦克大战源码

代码量:1450,语言:C++

系统带报告!

其中一个是devc++版本,也可以用visual stdio 运行。

w

截图



部分代码

typedef struct             //这里的出现次序指的是一个AI_tank变量中的次序,游戏共有四个AI_tank变量
{                          //∵设定每个AI_tank每种特殊坦克只出现一次 ∴fast_tank & firm_tank 最多出现次数不超过1
    int fast_tank_order;   //fast_tank出现的次序(在第fast_tank_order次复活出现,从第0次开始),且每个AI_tank只出现一次
    int firm_tank_order;   //firm_tank出现的次序,同上
} LevInfo;                 //关卡信息(准确说是该关出现的坦克信息)
LevInfo level_info [MAX_LEVEL] = {{-1,-1},{3,-1},{-1,3},{2,3},{2,3},{2,3},{2,3},{2,3}};   //初始化,-1代表没有该类型坦克
 
 
typedef struct      //子弹结构体
{
    int x,y;        //子弹坐标,假坐标
    int direction;  //子弹方向变量
    bool exist;     //子弹存在与否的变量,1为存在,0不存在
    bool initial;   //子弹是否处于建立初状态的值,1为处于建立初状态,0为处于非建立初状态
    bool my;        //区分AI子弹与玩家子弹的标记,0为AI子弹,1为玩家(我的)子弹
} Bullet;
Bullet bullet [BULLET_NUM];  //考虑到地图上不太可能同时存在20颗子弹,所以数组元素设置20个
 
 
typedef struct      //坦克结构体
{
    int x,y;        //坦克中心坐标
    int direction;  //坦克方向
    int color;      //颜色参方向数,1到6分别代表不同颜色,具体在PrintTank函数定义有说明
    int model;      //坦克图案模型,值为1,2,3,分别代表不同的坦克图案,0为我的坦克图案,AI不能使用
    int stop;       //只能是AI坦克使用的参数,非0代表坦克停止走动,0为可以走动
    int revive;     //坦克复活次数
    int num;        //AI坦克编号(固定值,为常量,初始化函数中定下)0~3
    int CD;         //发射子弹冷却计时
    bool my;        //是否敌方坦克参数,我的坦克此参数为1,为常量
    bool alive;     //存活为1,不存活为0
}  Tank;
Tank AI_tank[4] , my_tank;  //my_tank为我的坦克,Ai_tank 代表AI坦克


学长敲代码源码C/C++大约 2 分钟约 620 字
C语言C++图书借阅管理系统

C语言C++图书借阅管理系统

有两个版本,一个是C语言,一个是C++,自行选择

代码行 700+,代码+ 报告书 + 详细注释

添加、删除、修改、查询用户信息
添加、删除、修改、查询图书信息
添加借阅记录和还书功能
记录还书日期
记录借书日期和借书天数
判断是否逾期
判断图书库存是否足够
读写数据到文件,下次启动自动读取上次保存的数据

1687070594724

学长敲代码源码C/C++大约 1 分钟约 329 字
2