logo资料库

C语言课程设计报告C语言课程设计报告.pdf

第1页 / 共31页
第2页 / 共31页
第3页 / 共31页
第4页 / 共31页
第5页 / 共31页
第6页 / 共31页
第7页 / 共31页
第8页 / 共31页
资料共31页,剩余部分请下载后查看
江 苏 海 洋 大 学 计 算 机 工 程 学 院 课程设计报告 设计名称: 排班系统、班级成绩管理 姓 名: 学 号: 专业班级: 软件工程(嵌入式)192 系 (院): 计算机工程学院 设计时间: 2020.6.22~2020.7.3 设计地点: 学生宿舍 指导教师评语: 成绩: 签名: 年 月 日 https://blog.csdn.net/weixin_45953673
C 语言课程设计报告 第 2 页,共 31 页 1、课程设计目的和要求 在学生学习完《C 语言程序设计》课程后进行的一次全面的综合应用练习。本课程设计强调结构化程序 设计方法,目标主要为: 1. 巩固和加深学生对 C 语言程序设计课程的基本知识的理解和掌握。(与毕业要求 2_1 相对应。) 2. 掌握 C 语言编程和程序调试的基本技能。(与毕业要求 5_2 相对应。) 3. 利用 C 语言进行复杂软件设计的基本思路和方法。(与毕业要求 3 相对应。) 4. 提高运用 C 语言解决实际问题的能力。(与毕业要求 3 相对应)。 5. 阅读本课程及开发环境相关的外文文献资料,会规范地使用程序流程图来描述自己的设计,撰写课程设 计报告。(与毕业要求 10_1、10_3 相对应。) 2、课程设计任务内容: 课程设计一:排班系统 学校实验楼有 7 名保安人员:钱、赵、孙、李、周、吴、陈。由于工作需要进行轮休制度,一星期中每人休息 一天。预先让每一个人选择自己认为合适的休息日。请编制程序,打印轮休的所有可能方案。当然使每个人都 满意,例如每人选择的休息日如下: 钱:星期一、星期六 赵:星期二、星期四 孙:星期三、星期日 李:星期五 周:星期一、星期四、星期六 吴:星期二、星期五 陈:星期三、星期六、星期日 运行结果: Solution: 1 赵 钱 孙 李 周 吴 陈 ============================================================= 星期四 星期一 星期三 星期五 星期六 星期二 星期日 Solution: 2 赵 钱 孙 李 周 吴 陈 ============================================================= 星期四 星期一 星期日 星期五 星期六 星期二 星期三 Solution: 3 赵 钱 孙 李 周 吴 陈 ============================================================= 星期四 星期六 星期三 星期五 星期一 星期二 星期日 Solution: 4 赵 钱 孙 李 周 吴 陈 ============================================================= 星期四 星期六 星期日 星期五 星期一 星期二 星期三 https://blog.csdn.net/weixin_45953673
C 语言课程设计报告 第 3 页,共 31 页 课程设计二:班级成绩管理系统 对一个有 N 个学生的班级,每个学生有 M 门课程。该系统实现对班级成绩的录入、显示、修改、排序、保 存等操作的管理。功能要求: (1)本系统采用一个结构体数组,每个数据的结构应当包括:学号、姓名、M 门课程名称。 (2)本系统显示这样的菜单: 请选择系统功能项: a、成绩录入 b、成绩显示 c、成绩保存 d、成绩排序 e、成绩修改(要求先输入密码) f、成绩统计 1)显示每门课程成绩最高的学生的基本信息 2)显示每门课程的平均成绩 3)显示超过某门课程平均成绩的学生人数 g、退出系统 (3)执行一个具体的功能之后,程序将重新显示菜单。 (4)将学生成绩保存到文件中。 3、软件设计说明(课程设计一) https://blog.csdn.net/weixin_45953673
C 语言课程设计报告 第 4 页,共 31 页 本课设决定采用 DFS 解决问题,此课设的难点并非在于 DFS()函数,DFS 的本质思想就是递归!多做此类题 目,自然对其运用娴熟。难点在于用户输入的为中文,需要对其进行判断。 疫情期间在家无事,对算法进行了学习。对 DFS 总结出了两篇博客: https://blog.csdn.net/weixin_45953673/article/details/105018672 https://blog.csdn.net/weixin_45953673/article/details/105048922 深度优先搜索属于图算法的一种,英文缩写为 DFS 即 Depth First Search.其过程简要来说是对每一个可能的 分支路径深入到不能再深入为止,而且每个节点只能访问一次。 深度优先遍历图的方法是,从图中某顶点 v 出发: (1)访问顶点 v; (2)依次从 v 的未被访问的邻接点出 发,对图进行深度优先遍历;直至图中和 v 有路径相通的顶点都被访问; (3)若此时图中尚有顶点未被访 问,则从一个未被访问的顶点出发,重新进行深度优先遍历,直到图中所有顶点均被访问过为止。 本课设需要提前说明的是:状态矩阵 rest[i][j]值为 0 表示第 i 人并未选择在第 j 天休息。为 1 表示第 i 人选择 在第 j 天休息。为 8 表示第 i 人被安排在第 j 天休息。 模块一:distinguish() void distinguish(){ for(int i=0;i<7;++i){ cout<>choice; for(int k=0;k<7;++k){ if(choice==weekkk[k]){ rest[i][k]=1; choice=""; break; } } if(choice=="") continue; for(int k=0;k<7;++k){ if(choice==week[k]){ rest[i][k]=1; choice=""; break; } } if(choice=="") break; } https://blog.csdn.net/weixin_45953673
C 语言课程设计报告 第 5 页,共 31 页 } } 1. 本模块依据输入的日期后是否有“、”来判断是继续输入此人的信息还是下一人的信息。例如:如果输入为“星 期五”则继续输入此人信息,如果输入是“星期五、”则跳转到下一人。直到七个人信息全部输入完毕。 2. 每次输入后需要对信息进行判断,然后填充状态矩阵。 3. 注意:每次输入完“星期五”或者“星期五、”之后需要输入一个空格! 模块二:judge() bool judge(int x,int y){ for(int i=0;i
C 语言课程设计报告 第 6 页,共 31 页 模块三:show() void show(){ cout<<"Solution: "<
C 语言课程设计报告 第 7 页,共 31 页 2. 因为要打印出所有排班情况,所以需要回溯!即 dfs(person+1);后 rest[person][j]=1;。 模块五:main() int main() { memset(rest,0,sizeof(rest)); cout<<"注意!每次输入完“、”后请输入空格再继续输入!"< #include 开始DFS(person)person==7结束DFS打印排班信息Yj=0rest[person][j]==1&&judge(person,j)rest[person][j]=8DFS(person+1)rest[person][j]=1j++j<7YNYNNhttps://blog.csdn.net/weixin_45953673
C 语言课程设计报告 第 8 页,共 31 页 #include #include using namespace std; int n; int rest[7][7]; string choice; char week[7][10]={"星期日","星期一","星期二","星期三","星期四","星期五","星期六"}; char weekkk[7][15]={"星期日、","星期一、","星期二、","星期三、","星期四、","星期五、","星期六、 "}; char people[7][5]={"赵","钱","孙","李","周","吴","陈"}; void distinguish(){ for(int i=0;i<7;++i){ cout<>choice; for(int k=0;k<7;++k){ if(choice==weekkk[k]){ rest[i][k]=1; choice=""; break; } } if(choice=="") continue; for(int k=0;k<7;++k){ if(choice==week[k]){ rest[i][k]=1; choice=""; https://blog.csdn.net/weixin_45953673
分享到:
收藏