以前手敲 1000 行代码,现在 Cursor+AI 自动生成!C 语言项目轻松拿捏

点击👇关注我 学习更多AI知识

大家好,我是予贝

今天介绍一个用AI编程实际接单的项目:C语言学生管理系统

C 语言是一种通用的、高效的编程语言,由丹尼斯·里奇(Dennis Ritchie)于 1972 年在贝尔实验室开发。它最初用于重新实现 Unix 操作系统,并因其简洁性、灵活性和接近硬件的特性成为系统编程和底层开发的经典语言。

主要特点:

结构化编程 :支持函数、循环、条件语句等,代码逻辑清晰。

高效性 :直接操作内存和硬件,适合开发操作系统、驱动等底层软件。

可移植性 :代码经编译后可在不同平台运行(需重新编译)。

中级语言 :兼具高级语言的易读性和汇编语言的底层控制能力。

典型应用:

  • 系统软件:如操作系统(Unix/Linux 内核)、编译器、数据库。

  • 嵌入式系统:家电、汽车电子等资源受限设备。

  • 高性能程序:游戏引擎、图形处理等对效率要求高的场景。

  • 教学:计算机科学课程常用其讲解编程基础。

简单示例:

  
#include <stdio.h>  
int main() {  
    printf("Hello, World!\n"); // 输出文本  
    return 0;  
}

一、环境安装

本次实践我们使用 Dev-C++做为 C 语言和 C++的基础开发环境

1、Dev-C++ 介绍

Dev-C++ 是一款免费的集成开发环境(IDE),主要用于 C 和 C++ 程序的编写、编译和调试。它基于 MinGW/GCC 编译器,支持 Windows 平台,特点是轻量、简单易用,适合初学者学习 C/C++ 编程。

picture.image

VS Code + GCC 和 Visual Studio:对于新手配置麻烦,客户也不会,增加交付成本,不建议使用。

2、Dev-C++安装

本次软件使用 小熊猫 Dev-C++,小熊猫 Dev-C++是 Dev-C++的一个分支,目前停止更新,最后一版于 2021 年 8 月发布

gitee 下载链接:https://gitee.com/royqh1979/Dev-CPP/releases/tag/v6.7.5,进入该链接,选择 10.3.Setup 进行下载

picture.image

下载完成后双击进行安装

picture.image

语言选择简体中文

picture.image

点击我接受

picture.image

全部安装

picture.image

选择合适的安装位置

picture.image

点击完成

picture.image

程序启动后选择简体中文,点击 Next

picture.image

选择自己喜欢的主题,点击 Next

picture.image

进入界面如下所示

picture.image

二、C 语言案例实战

1、学生选课系统 (100)

1.1、需求描述

学生选课系统

假定有 n 门课程,每门课程有课程编号,课程名称,课程性质,学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于 15)自由选课。试设计一个选修课程系统,使之能提供以下功能:

(1)系统以菜单方式工作

(2)课程信息和学生选课信息录入功能(课程信息用文件保存)

(3)课程信息浏览功能

(4)查询功能

(5)按学分查询

(6)某门课程学生选修情况(可选项)

1.2、新建工程

在开始写代码前,需要先创建一个工程目录,打开 Dev-c++,左上角依次点击文件->新建->项目

picture.image

在 Basic 界面选择 Console Application,代表控制台应用,然后选择 C 语言,名称和项目文件夹自己配置即可,配置完成后点击确定

picture.image

创建完成后界面如下图所示,因为 Cursor 下编译 Dev 项目不方便,所以采用 Cursor 写代码,Dev 编译测试的方式完成该项目

picture.image

用 Cursor 打开我们新建的项目目录,Cursor 会自动对我们的目录进行一个代码库索引,并让 Cursor 阅读我们的项目,知道我们项目的进展,接下来就是代码开发工作了

picture.image

1.3、阶段性功能拆分

有很多同学包括我拿到需求后会直接把所有的需求发给 Cursor,让 Cursor 一键生成,然而这样的效果并不是太好,接下来主要介绍一个通用的办法,将需求按照阶段性功能开发拆分,梳理出功能实现的先后顺序,再让 AI 根据阶段进行开发

提示词:

  
你是一位资深架构师,我希望你能分析我提供的需求,然后进行阶段性功能拆分,  
  
# 开发语言  
C语言  
  
# 需求  
学生选课系统  
假定有n门课程,每门课程有课程编号,课程名称,课程性质,学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于15)自由选课。试设计一个选修课程系统,使之能提供以下功能:  
(1)系统以菜单方式工作  
(2)课程信息和学生选课信息录入功能(课程信息用文件保存)  
(3)课程信息浏览功能  
(4)查询功能  
(5)按学分查询  
(6)某门课程学生选修情况(可选项)  
  
# 要求  
- 只需要输出和阶段性功能开发有关的信息,不要其他信息  
- 严格按照我提供的需求,不要自己新造需求  
- 输出保存为develop.md

输出如下:Cursor 一共帮我们分了六个阶段,接下来按照阶段开发即可

  
# 学生选课系统 - 阶段性功能开发规划  
  
## 系统概述  
基于C语言开发的学生选课系统,支持课程信息管理与学生选课操作。  
  
## 阶段一:基础数据结构与存储设计  
1. 设计课程信息结构体  
   - 课程编号  
   - 课程名称  
   - 课程性质  
   - 学时  
   - 授课学时  
   - 实验或上机学时  
   - 学分  
   - 开课学期  
  
2. 设计学生选课信息结构体  
   - 学生学号  
   - 学生姓名  
   - 已选课程列表  
   - 总学分  
  
3. 文件存储设计  
   - 课程信息文件设计  
   - 学生选课信息文件设计  
   - 基础文件操作函数开发  
  
## 阶段二:系统主框架与菜单实现  
1. 主菜单设计与实现  
   - 设计菜单界面  
   - 实现菜单选择与跳转逻辑  
  
2. 初始化系统  
   - 加载现有课程信息  
   - 加载现有学生选课信息  
  
## 阶段三:信息录入功能  
1. 课程信息录入功能  
   - 单个课程信息录入  
   - 课程信息保存到文件  
   - 课程信息输入验证  
  
2. 学生选课信息录入功能  
   - 学生基本信息录入  
   - 选课功能实现(包含学分限制逻辑)  
   - 选课信息保存到文件  
  
## 阶段四:信息浏览功能  
1. 课程信息浏览功能  
   - 全部课程列表展示  
   - 分页展示功能  
   - 按类别浏览(选修、必修等)  
  
## 阶段五:查询功能  
1. 基础查询功能  
   - 按课程编号查询  
   - 按课程名称查询  
  
2. 特定查询功能  
   - 按学分查询课程  
   - 查询某门课程的学生选修情况(可选项)  
  
## 阶段六:系统优化与完善  
1. 功能优化  
   - 错误处理与异常情况处理  
   - 用户输入验证强化  
  
2. 系统测试  
   - 功能测试  
   - 性能测试  
   - 边界条件测试 

1.4、功能开发

1.4.1、阶段一开发

提示词:

  
很好,接下来进行第一阶段的开发,开发完成我提醒我测试

开发完成,点击接受

picture.image

切回到 Dev,点击上方编译运行按钮进行测试

picture.image

效果如下

picture.image

1.4.2、阶段二开发

提示词:

  
很好,接下来帮我进行第二阶段功能的开发

开发完成后测试如下:主页面,子菜单等

picture.image

picture.image

1.4.3、阶段三开发

提示词:

  
很好,接下来帮我进行第三阶段功能的开发

简单测试如下

picture.image

1.4.4、阶段四开发

提示词:

  
很好,接下来帮我进行第四阶段功能的开发

简单测试如下

picture.image

1.4.5、阶段五开发

提示词:

  
很好,接下来帮我进行第五阶段功能的开发

简单测试如下

picture.image

到这一步,程序基本开发完成了

通过本教程,我们系统地学习了如何使用 C 语言开发一个功能完整的学生选课系统。从环境搭建到功能实现,采用了分阶段开发的科学方法,逐步构建了系统的各个模块

picture.image

picture.image

我们坚信AI编程的门槛会变得越来越低,开源了AI编程手册,目前19万字,包含网站,小程序,APP等多种开发案例,希望对大家有帮助,需要的扫码获取

picture.image

0
0
0
0
评论
未登录
暂无评论