C语言课程设计报告论文

时间:2024.4.12

东华理工大学长江学院

课程设计报告

课程设计题目学生选修课程系统     

学生学号: 09325208

学生姓名: 

    业:电子信息工程

指导教师:黄笑鹃、刘自强

 

                      20##年 1 月  6


目录

目录... 1

一、设计目的与说明... 2

目的... 2

说明... 2

二、总体设计分析... 2

三、各功能模块分析... 3

3.1浏览模块... 3

3.2选课模块... 3

3.3删除选课模块... 4

3.4浏览自己所选的课程... 4

四、自己负责的功能模块分析... 4

4.1浏览可供选择的课程... 4

4.2选择选修课程... 7

五、结果分析... 9

【程序运行】... 9

【功能上的优点】... 9

【程序的缺点】... 10

六、设计总结... 10

七、致谢... 11


一、设计目的与说明

目的

1.加深对《C语言》课程所学知识的理解,进一步巩固C语言语法规则。学会编制结构清晰、风格良好、数据结构适当的C语言程序,从而具备解决综合性实际问题的能力。

2.通过课程设计,提高自我的动手能力,加强自我的实践体会,对高级C语言这门课程做到理论与实践相结合的学习,真正的掌握所学知识。

说明

假定有n门课程,每门课程都有课程编号,课程名称等信息,学生可按要求(如总学分不得少于60)自由选课。试设计一选修课程系统,使之能提供一下功能:

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

(2) 课程信息和学生信息的录入功能(课程信息有文件保                                                                            存)----输入;

(3) 课程信息浏览功能----输出;

(4) 查询功能(查询相应的选课情况);

(5)删除与修改已选的公选课;

二、总体设计分析

本课程设计主要分为以下四个功能模块:浏览所有课程、选择选修课程、删除所选修课程、浏览自己所选择的课程。

浏览所有课程:浏览本选课系统当中存在的所有可供选修的课程

选择选修课程:在可供选择的课程当中选择自己所要选择的课程

删除选修课程:在自己已经选择的课程当中删除所不需要或选错的课程

浏览自己所选择的课程:浏览自己所有已经选好的课程信息并进行确认

总体功能模块图

三、各功能模块分析

3.1浏览模块

本模块是要对所有的系统当中存在的课程浏览一遍,这样便于下面的选课环节。通过struct classes//可选修科目,int num; //选修课对应的代号,char name[20]; //选修课名称,在相应的函数当中输入相应的课程名称与代号,然后用classes *choice(classes *head)//选课,if (head==NULL) {s=new classes;head=new classes;head->next=p1;}

//第一次选课,在选课前,系统就会输出里面存在的所有课程名称,如果选用的功课已经被选,则会显示出剩下的课程的所有名称。

3.2选课模块

本模块是在浏览系统当中存在的所有课程之后,根据自己的需要,选择相应的课程。通过for(i=0;i<6;i++),if (cla[i].num==p1->num) strcpy(p1->name,cla[i].name);

//找到代号对应的课程,记录到学生已选课程,如果if (j==1) break;//代号对应课程存在,终止循环,else cout<<"输入有误,不存在该代号的科目,重新输入。"<<endl;//代号输入有误,提示重新输入。如果还需要继续选课,则for(n=0;n<5;n++)//继续选课,cout<<"是否继续选课?1/0:";cin>>jud;选课时则是重新上面的操作。

3.3删除选课模块

本模块是为了修改已选择的课程,当自己所选的课程出现错选或是多选时,可以通过本模块来删除多余的课程。通过classes *rechoice(classes *head)//修改已选科目,classes *p1,*p2;p1=p2=new classes;if (head==NULL) //提示还没选择课程,cout<<"还未选择任何科目。"<<endl; if (p1->next->num==p2->num) break;//找到待删结点,p1->next=p1->next->next;//删除该结点。这样就实现了删除已近多选或是错选的课程。

3.4浏览自己所选的课程

本模块是对于自己所有已经选好的课程进行浏览,最后进行浏览一遍,观察其时候有误,如有错误,则对其进行修改,如果没错,则对其进行确认。通过void inqury(classes *head)//查询已选科目,if (head==NULL) cout<<"还未选择任何科目。cout<<"已选科目如下:"<<endl;。经过浏览之后如果真确,则cout<<"提交成功!"<<endl;

四、自己负责的功能模块分析

4.1浏览可供选择的课程

源程序:

#include <iostream.h>

#include <string.h>

/**********************************************/

struct classes//可选修科目

{

int num; //选修课对应的代号

char name[20]; //选修课名称

classes *next;

}*s,cla[6]={

{178020,"计算机理论与基础"},

{193030,"高级C语言"},

{101030,"通信原理"},

{260050,"模拟电子技术与基础"},

{269060,"电路基础"},

{314070,"计算机系统结构"}};

//*s为链表尾结点

//cla[]为系统给定选修课程

//这里模拟直接给定选修科目

//实际情况可由系统提供

/**********************************************/

classes *choice(classes *head)//选课

{

int jud;

classes *p1,*p2;

p1=p2=new classes;

if (head==NULL) {s=new classes;head=new classes;head->next=p1;}

//第一次选课

else s->next=p1;//已选了部分科目

cout<<"今年可选选修科目如下:"<<endl;

for(int i=0;i<6;i++)//输出可选科目

运行结果截图:

4.2选择选修课程

源代码:

cout<<cla[i].num<<" "<<cla[i].name<<endl;

}

for(int n=0;n<5;n++)//第一次选择课程

{

int j=0;//用于判定课程代号是否存在

cout<<"请输入选定科目代号:";

cin>>p1->num;

p1->next=NULL;

for(i=0;i<6;i++)

{

if (cla[i].num==p1->num)

{

strcpy(p1->name,cla[i].name);

//找到代号对应的课程,记录到学生已选课程

j=1;break;

}

}

if (j==1) break;//代号对应课程存在,终止循环

else cout<<"输入有误,不存在该代号的科目,重新输入。"<<endl;

//代号输入有误,提示重新输入

}//输入五次有误,终止循环

for(n=0;n<5;n++)//继续选课

{

cout<<"是否继续选课?1/0:";

cin>>jud;

if (jud!=1) break;

p2=p1;

p1=new classes;

for(;;)

{

int j=0;

cout<<"请输入选定科目代号:";

cin>>p1->num;

p1->next=NULL;

for(i=0;i<6;i++)

{

if (cla[i].num==p1->num)

{

strcpy(p1->name,cla[i].name);

j=1;break;

}

}//输入五次有误,终止循环

if (j==1) break;

else cout<<"输入有误,不存在该代号的科目,重新输入。"<<endl;

}

p2->next=p1;

}

s=p1;//将尾结点记录

return head;//返回头结点

运行截图:

五、结果分析

【程序运行】

我所负责的模块的程序运行如上面的截图所示

【功能上的优点】

1.简洁明了的程序菜单。程序主要采用了四个模块组子菜单,相互独立又相互联系,巧妙相接,符合用户的使用习惯与思维。

2.人性化的程序提示语言,程序提示语言较人性化,不仅大多为祈使语句、疑问句,而且提示明确,具有较强的明确的指导作用。程序提示不仅层次分明,提示方式多样,而且提示信息井然有序,更加有利于用户顺利、准确地进行程序的操作。

3.智能化的模块设计。程序的智能化主要体现在减少了许多人工操作。如功能模块操作结束后,均会返回主菜单进行下一模板的运行,并提示是否再进行类似的操作,这样给用户带来了操作的方便,大大提高了学生选课的效率。

(6) 本程序达到了C语言课程设计题目的所有要求。即本程序(1)系统一菜单方式工作(2)课程信息和学生选课信息录入功能(课程信息用文件保存输入(3)课程信息浏览功能与此同时,程序各模块开发设计依据了程序的具体实际的使用情景,而有所改进,使其更具有实用性。

【程序的缺点】

1.程序虽然经过多次精简,但仅仅是形式上、小范围的精简,仍未得到本质上的精简,即未找到更加简单、更加高效、更加合理、更小占用的资源的算法。

2.程序功能仍然不够完善。例如信息表达方式不丰富,比较单一,缺少图片、音乐等元化表达方式。

六、设计总结

1. 通过该系统的课程设计分析,掌握了模块化设计的方法,理解和运用了结构化程序设计的思想和方法,掌握和提高了运用C语言进行程序设计的能力。

2. 对于一个较大的应用程序,我们一般不可能一次就设计出一个很完善的系统。通常要先设计满足基本要求的系统,然后再测试或者在使用的过程中不断完善,慢慢地做成一个功能很完善选修课程管理系统。

3.本次课程设计通过实践让我对C语言有了一个更加深入的理解,对C语言当中的基础知识有有了一个更加全面的认识。

4.本次课程设计是以小组的形式共同完成一个课题,在完成课题过程当中,我们互相协作,共同探讨,加强和锻炼了我们的团队协作精神。

七、致谢

本次课程设计能够顺利的完成首先要感谢我们的指导老师,黄笑鹃与刘自强,在做设计过程当中,他们给予我们耐心的指导与讲解,帮助我们排忧解难,其次要感谢我们队友之间的团结协作,才能够顺利完成本次课程设计。

东华理工大学长江学院

课程设计评分表

学生姓名:             班级:093252          学号:09325208

课程设计题目:学生选修课程系统

class=WordSection2 style='layout-grid:15.6pt'>

第二篇:C语言课程设计论文要求


C语言课程设计论文要求

目录(顶部居中、小二号黑体加粗)(***目录为自动生成***)

论文(设计)题目(居中、小二号黑体加粗)

(空一行)

【内容摘要】(空二格,五号楷体加粗)内容(五号楷体,150-300字)

(空一行)

【关键词】 (空二格,五号楷体加粗)关键词内容(五号楷体、每两个关键词之间空一格,一般3—5个)

(内容摘要是对文章内容的简要概述,一般字数为150至300字;关键词应是文章的关键概念、词组,一般在3至5个,最多不超过8个。 “内容摘要”起首空两格,项目名称用5号楷体加粗,内容用5号楷体,1.5倍行距;“关键词”另起一行,起首空两格,项目名称用5号楷体加粗,内容用5号楷体,词间空一格。)

正文内容:除一、二、三级标题外,文字统一用小4号宋体,每段起首空两格,回行顶格,1.5倍行距;

正文文中标题:

一级标题:标题序号为“一、”,用4号黑体加粗,独占行,末尾不加标点;

二级标题:标题序号为“(一)”,用小4号黑体加粗,独占行,末尾不加标点;

三级标题:标题序号为“1、”,用小4号黑体加粗,若独占行,则末尾不加标点,若不独占行,标题后面须加句号;

四级标题:标题序号为“(1)”,用小4号宋体,其余要求与三级标题相同;

五级标题:标题序号为“①”,用小4号宋体,其余要求与三级标题相同。

注意:每级标题的下一级标题应各自连续编号。

(空一行)

一、(一级标题)(四号黑体加粗)独占行,末尾不加标点

(一)(二级标题)(小四号黑体加粗)独占行,末尾不加标点

1、(三级标题)(小四号黑体加粗)

(1)(四级标题)小四号宋体

(正文内容用小四号宋体、下同)

二、(一级标题)(四号黑体加粗)独占行,末尾不加标点

(空一行)

结语(四号黑体加粗)(根据需要)

结语具体内容(用小四号宋体)

二、打印与装订

毕业论文(设计)统一用A4纸打印,行距1.5倍,页边距上、下、左、右均2.5厘米(设计论文全文应连续页码,从目录开始编写页码,目录为I、II样式,正文1、2、3样式)及左侧装订。装订内容及顺序包括:1、封面;2、目录;3、正文。

更多相关推荐:
《C语言程序设计》课程设计报告(小组)

东莞理工学院《C语言程序设计》课程设计题目:图书信息管理系统院系:电子工程学院专业:电子信息工程年级:20##班别:2班指导教师:##组长:##同组成员:##目录一、目的....................…

c语言课程设计报告

C语言程序设计课程设计学生姓名学号系院专业设计论文题目学生选课系统管理完成日期20xx年6月指导教师目录一实验目的二实验内容三总体设计四详细设计五运行结果六课程设计体会一实验目的1通过课程设计加深对结构化程序设...

C语言课程设计报告

河南理工大学计算机科学与技术学院课程设计报告20XX20XX学年第一学期课程名称C语言课程设计设计题目《小学算术运算测试》学生姓名学号专业班级计算机07-2班指导教师20XX年9月12日目录1.设计任务书21.…

C语言课程设计报告范例

C语言课程设计报告设计题目专业班级学号姓名任课老师时间目录一课程设计题目及所涉及知识点二课程设计思路及设计流程图三课程设计中遇到的难点及解决办法四小结五附录原程序2一课程设计题目及所涉及知识点一课程设计题目1基...

厦门理工学院11级C语言C语言程序设计课程设计报告

C语言程序设计课程设计报告20xx20xx学年第1学期题目专业班级姓名学号指导教师成绩计算机科学与技术系20xx年12月31日目录一课程设计的目的与要求1二方案实现与调试221掷骰子游戏222射击游戏323汽车...

C语言程序设计课程设计报告

C语言程序设计课程设计报告20xx20xx学年第1学期专业计算机科学与技术班级姓名学号指导教师成绩计算机科学与技术系20xx年12月31日目录一课程设计的目的与要求3二方案实现与调试321掷骰子游戏322汽车加...

c语言程序贪吃蛇课程设计报告

山东工商学院信电学院自动111班第一组贪吃蛇课程设计报告高级语言程序设计课程设计报告ExperimentDesigningreporter课程名称高级语言程序设计英文名称CProgramExperimentDe...

C语言课程信息管理系统课程设计报告

《C语言程序设计》课程设计报告专业:班级:姓名:指导教师:二零##年十二月二十六日目录一、设计题目2二、设计目的2三、设计内容23.1需求分析23.2概要设计33.3详细设计63.5编写过程中遇到的问题及解决办…

C语言程序设计第三次(2.5)实验报告

C语言程序设计实验报告专业班级日期11月26日成绩实验组别第327次实验指导教师李开学生姓名学号同组人姓名实验名称数组实验一实验目的1掌握数组的说明初始化和使用2掌握一维数组作为函数参数时实参和形参的用法3掌握...

C语言课程设计报告(约瑟夫环)胡存夫

沈阳航空航天大学课程设计报告课程设计名称C语言课程设计课程设计题目约瑟夫环院系计算机学院专业计算机科学与技术班级3410301学号20xx040103023姓名胡存夫指导教师丁一军沈阳航空航天大学课程设计报告目...

c语言程序设计报告

课程设计报告课程名称C语言程序设计课题名称运动会分数统计系统专业机械设计及其自动化班级1185班学号***姓名**指导教师**20XX年6月22日湖南工程学院课程设计任务书课程名称C语言程序设计课题运动会分数统…

《经典规范C语言程序设计》实验报告(第五章)

高级语言程序设计实验报告班级学号姓名成绩实验日期年月日实验题目实验五数组程序设计实验目的实验内容包括算法说明用文字或流程图说明程序清单运行结果原始数据相应的运行结果和必要的说明123分析与思考调试过程及调试中遇...

c语言程序设计课程设计报告(34篇)