C语言论坛系统[2023-01-03]
论坛系统设计
课程说明
需要提交的内容包括两个部分。
第一部分,对代码功能的讲解。
课设要求最后每个同学录制一个讲解视频,对着自己代码的功能进行讲解。
讲解时,主要涉及一个几个标准步骤:
步骤一:需要打开摄像头,拿出学生证,对准摄像头,表明自己的身份。
步骤二:讲述一下自己哪些功能完成了,哪些功能没有完成。
步骤三:将所有功能,一一操作展示。数据提前准备好,不要有冗长的输入数据的阶段。
同时,整个过程中,要有自己的声音。
视频时长维持在六分钟内,建议使用腾讯会议来录制,因为这个录制生成的文件比较小,方便大家传输给我。
第二部分,提交课程设计报告
需要注意一下问题:
说明1:代码完成度,会严重影响最终成绩。
说明2:缺少代码讲解或者课程设计报告,本次课设不通过。
说明3:代码与报告查重,代码重复率超过15%,报告重复率超过10%,会在最终成绩里有大量扣分。重复率越高,扣分越多。注意,二者是同时扣,而且我们不会区分抄袭者与被抄袭者。不会让大家挂科,但重复率过高,成绩会定格在60分。所以一定注意,想拿高分,绝对不要抄袭。
说明4:代码方面,老师比较喜欢很工整并带一些花哨的界面,大家设计界面时,可以增加一些华而不实的功能,会对分数有所增加。代码布局上,要比较工整,一眼看上去比较舒服的格式,函数名别用拼音,而是用合适的英文单词。。
说明5:报告方面,我比较喜欢页数比较多的报告,所以,不要言简意赅,而是要分析足够详细,正文内容要超过10页,但不要超过30页。不要将代码附后。
报告中,如果出现大段代码(20行以上),将是一个减分项。可以将代码划分为多个很短的代码段进行分析,对每个段进行分析。但不要出现大段大段的连续代码段。
报告的格式,对于分数影响非常大,所以,好的格式是一个很大的加分项,差的格式,是一个极大的减分项,一个混乱的格式,甚至会把报告分数扣到所剩无几。
另外,好的报告,要图文并茂。流程图、各种其他的设计图、合适的表格,以及其他好的展示形式,都是加分项,但每个图表,要求设计好编号和题注,使用自动编号,并且在正文里有引用,比如,如图 1所示,是一个关于图片图例的说明。
C语言课程设计报告撰写要求
1 内容要求
整个报告由四个部分构成:
题目分析
注意,一定不要抄题,否则会让查重率飙升。
设计思路
将一些流程图或者各种结构图列上,对整个过程和实现进行分析。
完成情况
格式见表1,这一部分只有一个表就可以了,但要把截图都贴上。
实现结果
对每个功能,列上结果,并对每个结果进行一定的解释
课设总结
对这次课设的总结,一定不要抄袭,之前有同学抄袭总结导致重复率飙升的情况。
表1 完成情况汇总表
问题 | 内容 | 完成 | 结果截图 |
---|---|---|---|
用户注册 | 用户信息填写 | 已完成 | 此时的截图,是个小图,只要有关键部分就行,其他无关内容不要有,别把这个表格弄得过于臃肿与变形,图不需要图例。如果是以文本展示的,把文本展示截图。 |
用户名重复时错误提示 | 已完成 | ||
密码格式错误提示 | 部分完成 | ||
电话号码格式提示 | 未完成 | ||
邮箱格式提示 | 未完成 | ||
成功注册 | 未完成 | ||
TXT中结果展示 | 未完成 | ||
用户登录 | 基本登录功能 | 已完成 | |
用户名错误提示 | 已完成 | ||
密码错误提示 | 部分完成 | ||
界面显示 | 文件读取功能 | 已完成 | |
界面显示功能 | 已完成 | ||
帖子已阅读提示 | 已完成 | ||
不同用户看到不同显示结果 | 部分完成 | ||
四种排序形式 | 部分完成 | ||
阅读帖子 | 根据帖子编号阅读帖子 | 已完成 | |
阅读帖子后“阅读状态”发生改变 | 已完成 | ||
回帖功能 | 基本回帖功能 | 已完成 | |
回帖时,保存当前系统时间 | 已完成 | ||
删帖功能 | 对自己帖子可以删除 | 已完成 | |
其他人帖子无权删除 | 已完成 | ||
删帖后楼层发生变化 | 已完成 | ||
发帖功能 | 基本发帖功能 | 已完成 | |
查找功能 | 按关键字查找帖子 | 已完成 | |
按用户名查找帖子 | 已完成 |
2 格式要求,报告有格式分数,请大家严格按照该格式要求。
(一) 报告要求按章节划分,其字体、型号按下列规定选用。
1.纸张大小统一为A4。
2.一级标题:1章 简单的题目名( 标题,2号宋体,上下空两行居中,行距为5号宋体单倍行距)。
3.二级标题: 1.1 题目描述 (标题,3号黑体居中,上下空一行,行距为5号宋体单倍行距)。
4.具体内容(5号宋体)。
… … … …
5.流程图图名为小5号宋体,居中。
6.页眉为小5号宋体。
以下章节依次类推。
(二) 报告要设置页眉,奇偶数页的页眉设置不同。具体要求如下:
1.单页: 黑线上部左侧为撰写报告的时间( 年 月)
中间为“算法综合实习课程报告”的字样
右侧为页码(距论文右裁线2cm处 )
2.双页:黑线上部左侧为页码(距报告左裁线2cm处)
中间为专业和姓名。
右侧为撰写论文的时间( 年 月)
单页:
2022.07 C语言课程设计报告 1
双页:
2 专业:XXXX专业 姓名:张三 2022.07
3.要求报告双面打印。
4.报告页码编号要求:从正文开始按顺序编页码,封面不编页码。
3 打印要求
A4纸张双面打印,封面和目录单面。
4 提交内容
(1) 电子版提交
每个同学需要将以下内容打包后提交:
- 报告电子版(docx格式,不要doc格式,也不要PDF格式,我查重时有格式要求,其他格式无法查重)
- 代码电子版(docx格式)
- 对代码功能的讲解的视频文件
(2)纸质版提交
纸质版只提交课程设计报告。纸质版每个班级收集好后,让班长或者学委联系我,我们约个时间,你们把文件捆好交给我。
题目概述
本次课程设计的题目,要求大家设计一个论坛系统。如果对论坛系统不了解的,可以打开百度贴吧,了解一下什么是论坛。
分数以100分制,最后成绩中按对应比例进行折算。
C语言论坛系统
源码
https://pan.baidu.com/s/1pq1Nwwo0hlc_J84F93HM4A?pwd=1111
该论坛系统包括以下几个功能:
(1)用户注册。(15’)
进入用户注册界面后,需要依次填写用户名,密码,电话,邮箱 四项信息,其中,用户名不能与已有用户重复,密码要求最少6位数并且不能只有数字,电话11位且只能为数字,邮箱里必须有个@符号且@不在开头与结尾。如果某项信息格式错误,需要提示如
“用户名输入有误,与已有用户重复,请重新输入!”
“密码输入有误,密码最少6位数并且不能只有数字,请重新输入!”
……
用户信息输入后,信息保存在user.txt中
(2)用户登录 (10’ )
进入用户登录界面后,输入用户名和密码。此时系统会读取user.txt中的信息,如果用户名和密码匹配,则显示登录成功,比如我们输入的用户为abc,如果不存在该用户名,则显示“没有名为abc的用户”,如果有该用户,但密码错误,则显示“密码错误!”
(3)显示界面 (15’ )
我们会显示类似于下面的界面:
要求各项内容严格对齐,其中主题名长度不超过30个字符,一个汉字相当于两个字符。
其中,状态的“+”表示该用户还没有读过这个帖子,“-”表示该用户已经读过这个帖子了。
也就是说,不同用户登录,看到的帖子状态,是不同的,退出登录后,会保存用户对帖子的浏览状态。
显示界面时,程序能够对帖子进行排序设置,大家可以自行设置交互页面格式,要求四种排序形式:按编号排序,按主题名排序,按回复数目排序,按最后回复时间排序。用户可以选择从大到小还是从小到大排序。
大家提前把这个论坛的数据录入,可以随便找个百度贴吧里,找几个帖子作为内容输入
(4)阅读帖子 (15’ )
输入帖子的编号,即可阅读某个帖子。每个帖子格式如下:
[矩形相交]问题讨论帖
------------------------------------------------------------------------------------------
【1楼】 张三 发表时间: 2022-12-06 18:19:46
【问题描述】平面上有两个矩形A和B,其位置是任意的。编程求出其相交部分(如图中阴影部分)的面积。(0≤a,b≤1000)
------------------------------------------------------------------------------------------
【2楼】李四 发表时间: 2022-12-06 20:19:30
这段代码有什么问题?
#include<stdio.h>
int main()
{ int x1, x2, x3, x4, y1, y2, y3, y4;
int max1, min1, max2, min2, max3, min3, max4, min4, max5, min5, max6, min6;
scanf("%d %d %d %d /n %d %d %d %d", &x1, &y1, &x2, &y2, &x3, &y3, &x4, &y4);
}
------------------------------------------------------------------------------------------
【3楼】王五 发表时间: 2022-12-06 22:13:35
斜杠打反了
------------------------------------------------------------------------------------------
【按数字9可以回复当前帖子】
注:数字9可以修改,大家改成自己需要的,比如8,或者字母i等。
用户读完某个帖子后,再进行显示时,帖子状态的“+”会变成“-”。
(5)回帖功能 (10’ )
在阅读某个帖子时,按数字9(可以自己改),进入回帖模式,可以回复当前的帖子。
注意,回帖时,只需要输入一串字符串内容,按回车即可。
但回帖时,系统需要获取当前的时间,因此,大家需要查询一下C语言中获取系统时间的函数,并且转换为规定要求的字符串。
(6)删帖功能 (10’ )
如果某一楼的发帖者为自己,则可以进行删帖。删帖时要输入删帖楼层。如果输入信息有误,则返回提示信息。
删帖后,后面的楼层编号要改变,比如删掉3楼,那4楼会变成3楼,5楼会变成4楼。
(7)发帖功能 (10’ )
进入发帖页面,可以进行发帖:
输入帖子名(长度小于30字符),发帖内容(长度小于200字符),进行发帖。发帖后,系统会自动为帖子分配一个五位数按顺序的编号,并且显示帖子时,会增加一行内容。同样,发帖时要求获取系统时间。
(8)查找功能 (15’)
按关键字查找:输入某个关键字,将所有内容含有该关键字的帖子都列出来。比如输入“阴影”,则会把帖子“[矩形相交]问题讨论帖”找到,因为一楼内容里含有“阴影”两字。
------------------------------------------------------------------------------------------
【帖子名称】:[矩形相交]问题讨论帖
【发表时间】: 2022-12-06 18:19:46
【楼层】:1楼
【内容】平面上有两个矩形A和B,其位置是任意的。编程求出其相交部分(如图中阴影部分)的面积。(0≤a,b≤1000)
------------------------------------------------------------------------------------------
按用户查找。输入某个用户,会把该用户所有的发帖全部找到后单独列出来,显示格式(不需要严格一致):
------------------------------------------------------------------------------------------
【帖子名称】:[矩形相交]问题讨论帖
【发表时间】: 2022-12-06 18:19:46
【楼层】:1楼
【内容】平面上有两个矩形A和B,其位置是任意的。编程求出其相交部分(如图中阴影部分)的面积。(0≤a,b≤1000)
------------------------------------------------------------------------------------------
【帖子名称】:[小数分数转换]讨论帖
【发表时间】: 2022-12-06 18:22:36
【楼层】:1楼
【内容】:【问题描述】从标准输入中输入一个小数,编写程序将其转换成相应的分数显示,即转换为几又几分之几。
------------------------------------------------------------------------------------------
【帖子名称】:[小数分数转换]讨论帖
【发表时间】: 2022-12-06 19:31:32
【楼层】:4楼
【内容】:scanf_s,这个东西在系统中是无法提交过的,修改为scanf
------------------------------------------------------------------------------------------
两种查找,显示格式是相同的。