C程序设计与训练课程大作业2016
最新吉大16秋《C语言程序设计》在线作业一 满分标准答案
《C语言程序设计》在线作业一满分标准答案《C语言程序设计》在线作业一1:下列关于指针定义的描述中错误的是()。
A:指针是一种变量,用于存放变量的地址。
B:指针变量的类型与它所指向的变量类型一致。
C:指针变量的命名规则与标识符相同。
D:定义指针时,标识符前的‚*‛号表示指针所指向的内容。
正确答案:D2:合法的字符型常数是()。
A:A'B:"A"C:65D:A正确答案:A3:设x,y,z,k都是int型变量,则执行表达式x=(y=4,z=16,k=32)后,x的值为()。
A:4B:16C:32D:52正确答案:C4:正确的用户标识符是()。
A:voidB:c5_b8C:forD:3a正确答案:B5:c语言中int型数-8在内存中的存储形式为()。
A:1111111111111000B:1000000000001000C:0000000000001000D:1111111111110111正确答案:A6:设int a [9],*p=a;则不能表示a [1]地址的表达式为()。
A:p+1B:a+1C:a++D:++p正确答案:C7:设整型变量n的值为2,执行语句‚n+=n-=n*n;‛后,n的值是()。
A:0B:4C:-4D:2正确答案:C8:对于struct ex{int x;float y;char z;}example;则下面的叙述中不正确的是()。
A:struct是结构体类型的关键字B:example是结构体类型名C:x,y,z都是结构体成员名D:struct ex是结构体类型正确答案:B9:设int x=3,y=4,z=5;则值为0的表达式是()。
A:x>y++B:x<=++yC:x!=y+z>y-zD:y%z>=y-z正确答案:A10:一个C语言程序是由()构成。
A:语句B:行号C:数据D:函数正确答案:D11:定义结构体的关键字是()。
C语言程序设计大作业
学年学期:20xx - 20xx 学年 1 学期课程名称:C语言程序设计综合训练课程学分:2分考核形式:大作业任课教师:xx题目:学生成绩统计程序学院:xx学院__________________________________ 专业班级:xx_______________________________________ 学号:_______ 学生姓名:提交日期:目录目录 (2)引言 (3)1. 学生成绩管理系统 (4)1.1系统简介 (4)1.2相关代码及知识点介绍 (4)2. 添加学生成绩功能 (5)3. 查找学生成绩功能 (6)4. 排序学生成绩功能 (7)5. 展示学生成绩功能 (9)6. 删除学生成绩功能 (10)7. 附页代码 (11)引言C语言是一种比较常见的计算机语言,许多大型应用软件都是用C语言编写而成的。
其简洁紧凑,灵活方便,数据结构丰富。
在一定程度上,C语言比汇编语言更实用,具有结构化语句,实现了结构化编程,使程序编写变得更容易、更快捷,可以编写出各种类型的程序。
同时,C语言是一门实践性强的学科,在学习的过程中,利用所学知识,编写一些与生活、学习相关的应用程序来提高程序编写能力,增强学习兴趣。
本次使用C语言设计一个学生成绩管理系统,可以实现学生成绩的添加,查找,排序及展示。
在作业中使用的是函数的模块化设计,将四个程序使用四个函数来实现。
与此同时,增加用户界面的交互,可供用户选择想要的功能,实现增删查排等操作。
1. 学生成绩管理系统1.1系统简介该系统主要实现学生成绩的添加,查找,排序,展示和删除五个功能,添加学生成绩主要有6个输入值组成,其中包括学号,姓名,语文,数学,英语,政治等。
查找学生成绩主要通过学号查询。
对学生成绩进行排序,可以分别通过学号,语文,数学,英语,政治,平均分,总分等进行排序。
第四项功能是对学生成绩以表格的形式进行展示。
删除学生成绩是按照学号对表格中的数据进行删除。
C语言课堂练习册(2016)
《C语言程序设计》练习册院系:班级:学号:姓名:任课教师:计算机学院编制2016年9月目录第1章程序设计和C语言 (1)第3章最简单的C程序设计——顺序程序设计 (2)第4章选择结构程序设计 (4)第5章循环结构程序设计 (8)第6章数组 (13)第7章函数 (20)第8章指针 (28)第9章结构体和共用体 (35)第1章程序设计和C语言一、选择题1、C 语言是在( )语言的基础上产生的。
A. AB. BC. DD. E2、在C 语言中,每个语句必须以( )结束。
A.回车符B. 冒号C. 逗号D. 分号3、标识符和关键字间,要用隔开。
A.回车符B. 冒号C. 空格D. 分号4、用C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( )。
A. 生成可执行目标文件B. 生成目标文件C. 输出运行结果D.自动保存源文件5、下列说法中正确的是( )。
A. 由于C 源程序是高级语言程序,因此一定要在TC 软件中输入B. 由C 源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入C. 由于C 程序是高级语言程序,因此输入后即可执行D. 由于C 程序是高级语言程序,因此它由命令组成6、下列说法中正确的是( )。
A. C 语言程序由主函数和0个或多个函数组成B. C 语言程序由主程序和子程序组成C. C 语言程序由子程序组成D. C 语言程序由过程组成7、下列说法中错误的是( )。
A. 主函数可以分为两个部分:主函数说明部分和主函数体B. 主函数可以调用任何非主函数的其他函数C. 任何非主函数可以调用其他任何非主函数D. 程序可以从任何非主函数开始执行二、填空题1、C 语言只有个关键字和种控制语句。
2、 C 语言是一种“”,既具有的特点又具有的特点;既适合于开发系统软件又适合于编写应用程序。
3、每个源程序有且只有一个函数,系统总是从该函数开始执行C语言程序。
4、在C 语言程序中允许出现的字符集是。
程序设计大作业(C)
学院电子信息学院点,考虑到算法的时间复杂度,采用折半查找算法,最后将程序的运行结果写入对应的文件中。
目录1 摘要 (3)1.1设计题目 (3)1.2设计内容 (3)1.3开发工具 (3)1.4应用平台 (3)2 详细设计 (4)2.1程序结构 (4)2.2主要功能 (4)2.3函数实现 (4)2.4开发日志 (4)3 程序调试及运行 (5)3.1程序运行结果 (5)3.2程序使用说明 (6)3.3程序开发总结 (6)1 摘要1.1 设计题目算法型大作业:编写查找算法的演示程序1.2 设计内容编写程序实现某班期末考试成绩及有关学生信息的查找并将查询结果写入某文件中。
其中输入可来自某文件(比如***.xls)。
注意:编写的程序必须实现以下查找功能:1.输入某同学的学号或姓名(无重名),若存在,则输出该同学的成绩;否则输出“不存在”。
2.统计不及格人数并输出不及格学生的学号和姓名。
3.统计各分数段的人数并将结果输出。
4.插入某位新同学的成绩并查询该同学的序号数,序号数的排列规则是女生在前,男生在后;按姓名汉语拼音的英文顺序(a—z)排列。
5.计算平均分并查询高于平均分和低于平均分的人数,最后输出。
6.删除某同学的信息后,查询成绩排名前5的学生学号和姓名并输出。
7.修改某同学的成绩后,查询该同学的成绩排名并输出。
(以上查询结果不仅要在屏幕上输出,而且要写入文件中保存。
)1.3 开发工具Visual C++ 6.01.4 应用平台Windows 2000/XP/Vista 32位2 详细设计2.1 程序结构2.2 主要功能/*一;借书问题:本问题是一个排列问题,使用穷举的方法求出小明对三人不同的借书方案的总数二;绘制杨辉三角:从杨辉三角形的特点出发而绘制出杨辉三角。
*/2.3 函数实现/*一:借书方案:从5个中取3个进行排列的方法的总数。
首先对五本书从1至5进行编号,然后使用穷举的方法假设三个人分别借这五本书中的一本,当三个人所借的书的编号都不相同时,就是满足题意的一种借阅方法。
C语言程序设计实训教程习题和实验解答
sum=a+b+c;
average=sum/3.0;
printf(“sum=%d,average=%f\n”,sum,average);
}
【实验解答】
1.c=10
2.①程序功能为输入两个数,求两数的差
②c=10
3.#include<stdio.h>
3.运行结果-1,177777,ffff,65535
b=-2
4.编程并上机调试运行
1)设圆半径为r=1.5,求圆周长、面积。要求用scanf函数输入数据,输出时取小数点后两位。
#include <stdio.h>
void main()
{
float r,l,s,v;
scanf("%f",&r);
l=2*3.14*r;
case 8:printf("B\n");break;
case 7:printf("C\n");break;
case 6:printf("D\n");break;
default:printf("E\n");
}
}
}
3)输入四个数,要求按从大到小顺序输出。
#include<stdio.h>
void main()
}
2.由键盘输入3个数,若输入的这3个数可以构成三角形,则计算以这3个数为边长的三角形周长;如果不能,则输出提示错误信息。
#include <stdio.h>
void main()
{
float a,b,c,l;
2016春北交《C语言程序设计》在线作业一
北交《语言程序设计》在线作业一一、单选题(共 15 道试题,共 30 分。
)1. 不合法的八进制数是(). 0. 028. 077. 01正确答案:2. 若有以下定义和语句: int [10]={1,2,3,4,5,6,7,8,9,10},*p=; 则不能表示数组元素的表达式是____。
. *p. [10]. *. [p-]正确答案:3. 下面说法错误的是______。
. 整型变量可以存放字符型数据. 字符型变量可以存放任意整型常量的值. 变量必须限定以后使用. 字符串的长度不等于它占的字节数正确答案:4. 已知int m,n,i=2;执行语句m=-i++;n=++i;后,m和n的值分别是_____。
. -3 4. -2 4. -3 3. -2 3正确答案:5. 若有输入语句snf( "%%%", &x,&y,&z);则不能使x值为5, y值为6, z值为7的输入是______。
. 5,6 ,7<回车>. 5 6 7<回车>. 5 6 <回车> 7<回车>. 5<回车>,6<回车>,7<回车>正确答案:6. 语言源程序文件经过编译程序编译连接之后生成一个后缀为()的文件。
. ”.”. “.oj”. “.x”. “.s”正确答案:7. 语言是_______语言。
. 高级. 中级. 机器. 汇编正确答案:8. 设n=3;则执行 ++n语句后,n的值为_____。
(). 5. 4. 3. 2正确答案:9. 语言程序从min()函数开始执行,所以这个函数要写在____。
. 程序文件的开始. 程序文件的最后. 它所调用的函数的前面. 程序文件的任何位置正确答案:10. 执行以下程序段后, x, y和z的值分别是______。
VC程序设计课程考核大作业
1、设计要求(1)建立一个多文档的应用项目(项目名称为学生姓名拼音首字母缩写),并将视图类设置为表单类视图。
(2)在该表单中采用编辑框和旋转按钮输入点的横、纵坐标值。
(3)对框架窗口进行切分。
(4)使得左边窗格输入点的坐标值后,右边窗格将在该点处显示一个小方块。
若在右边窗格中任意单击鼠标,则相应的小方块移动到当前鼠标位置处,同时左边编辑框的内容也会随之发生改变。
2、设计步骤及部分代码2.1创建表单应用程序,设计表单(1)用MFC AppWizard创建一个多文档应用程序:Qwl,在向导的第六步中选择视图的基类为CformView。
(2)打开表单模板资源,参看下表,调整表单模板大小,并依次添加如下表所示的控件。
表2.1(3)打开MFC ClassWizard的Member Variables标签,在Class name中选择CQwlView,选中所需控件ID号,双击鼠标,依次为下列控件添加成员变量。
表2.22.2添加CQwlDoc和CQwlView类代码(1)在CQwlDoc类中添加public : CPoint m_ptRect;用来记录小方块的位置。
在CQwlDoc类的构造函数中设置初值:m CQwlDoc::CQwlDoc(){m _ptRect.x= m_ptRect.y=0;}(2)为CQwlView添加自定义数据成员:public : BOOL m_bEditOK;在CQwlView构造函数中设置初值:m_bSpinOK=FALSE;(3) 打开MFC ClassWizard的Message Maps标签为IDC_EDIT1和IDC_Edit2添加EN_CHANGE的消息映射,使它们的映射函数名都设为OnChangeEdit,并添加下列代码:void CQwlView::OnChangeEdit(){if (!m_bEditOK)return;//使CEx_RectView类视图初始显示时不执行该函数下面代码。
c语言课程设计大作业
c语言课程设计大作业一、教学目标本课程的教学目标是使学生掌握C语言的基本语法、数据结构和算法,具备使用C语言进行程序设计的能力。
具体目标如下:1.知识目标:学生能够理解并掌握C语言的基本语法、数据结构和常用算法。
2.技能目标:学生能够运用C语言编写简单的程序,解决实际问题。
3.情感态度价值观目标:学生能够体验到编程的乐趣,培养对计算机科学的兴趣。
二、教学内容根据课程目标,本课程的教学内容主要包括C语言的基本语法、数据结构和算法。
具体安排如下:1.C语言的基本语法:包括变量、运算符、控制结构、函数等。
2.数据结构:包括数组、链表、栈、队列、树等。
3.算法:包括排序算法、查找算法、递归算法等。
三、教学方法为了达到课程目标,本课程将采用多种教学方法,如讲授法、讨论法、案例分析法、实验法等。
具体方法如下:1.讲授法:用于讲解C语言的基本语法、数据结构和算法。
2.讨论法:用于引导学生探讨编程问题,培养解决问题的能力。
3.案例分析法:通过分析实际案例,使学生更好地理解C语言的应用。
4.实验法:让学生动手编写程序,提高编程能力。
四、教学资源为了支持教学内容和教学方法的实施,本课程将准备以下教学资源:1.教材:《C语言程序设计》。
2.参考书:提供相关的编程资料和算法教程。
3.多媒体资料:制作课件和教学视频,辅助学生学习。
4.实验设备:提供计算机实验室,让学生进行编程实践。
五、教学评估本课程的评估方式包括平时表现、作业和考试。
具体评估方式如下:1.平时表现:通过学生在课堂上的参与度、提问和讨论,评估其对C语言的理解和应用能力。
2.作业:布置编程作业,评估学生对C语言语法和算法的掌握程度。
3.考试:进行期中和期末考试,评估学生对C语言的整体掌握情况。
评估方式应客观、公正,能够全面反映学生的学习成果。
六、教学安排本课程的教学安排如下:1.教学进度:按照教材的章节顺序进行教学,确保学生掌握C语言的基本语法、数据结构和算法。
vc程序设计大作业
returnm_pRecordset;
}
注意:OnSortnum(void)函数返回处理过的记录集,用于视图类中消息映射函数的接受
}
1.7为了使登录模块在主程序之前调出来,在视图类OnInitialUpdlg.DoModal()!=IDOK)exit(0);
PlaySound(L"sound.wav",NULL,SND_FILENAME|SND_ASYNC);(添加声音文件)
5.4为“修改”按钮添加消息映射函数。主要代码如下(以个人信息修改中学号字段为例:)
CStudentmodify dlg; dlg.m_num = m_num;
if(dlg.DoModal()==IDOK)
{
UpdateData();//用屏幕上的当前值更新控制变量
//利用编辑框中的内容修改记录集
m_pRecordset->PutCollect("number",_variant_t(dlg.m_num));
2.4同样要为这些类添加ADO对象为其成员变量用于程序对数据库的访问。
2.5为了用IDD_DIALOG_INFOSHOW,IDD_DIALOG_SCORESHOW显示数据库中的记录,在视图类中加DisplayRecord1();DisplayRecord2();主要代码如下(以“number”字段为例):
adOpenDynamic,adLockOptimistic,adCmdTable);
1.5添加Isuserok()函数判断输入的用户是否存在于数据库中,代码如下:
_variant_t vuser,vpass;
c程序设计大作业
c程序设计大作业C程序设计大作业C程序设计是一门实践性很强的课程,大作业是检验学生对C语言掌握程度的重要方式。
本次大作业的目的在于通过实际编程练习,加深对C 语言基础语法、数据结构、算法设计和程序调试等方面的理解,同时培养学生的编程思维和解决实际问题的能力。
一、大作业要求1. 题目选择:学生可以从以下题目中任选一题完成:- 学生信息管理系统- 图书馆管理系统- 简易计算器- 字符串处理工具- 图形界面的五子棋游戏2. 功能实现:每个题目都应实现基本功能,例如:- 学生信息管理系统:添加、删除、修改、查询学生信息。
- 图书馆管理系统:图书借阅、归还、查询等。
- 简易计算器:实现基本的加减乘除运算。
- 字符串处理工具:实现字符串的复制、连接、查找、替换等操作。
- 图形界面的五子棋游戏:实现基本的下棋逻辑和胜负判断。
3. 代码规范:代码应遵循良好的编程规范,包括但不限于:- 明确的函数分工,每个函数应有简短的注释说明其功能。
- 变量命名应清晰,避免使用无意义的缩写。
- 代码结构清晰,逻辑性强。
4. 文档编写:提交的作业应包括:- 程序设计说明书:介绍程序的功能、设计思路、实现过程等。
- 源代码:按照题目要求编写的C语言代码。
- 用户手册:简要说明如何使用程序。
5. 提交方式:所有材料应以电子文档形式提交,包括设计说明书、源代码和用户手册。
二、大作业流程1. 选题:学生在教师的指导下选择适合自己能力的题目。
2. 需求分析:明确程序需要实现的功能和性能要求。
3. 设计:设计程序的总体结构和各个模块的详细设计。
4. 编码:根据设计文档编写程序代码。
5. 测试:对编写的程序进行测试,确保功能正确无误。
6. 调试:根据测试结果进行必要的调试,修正程序中的错误。
7. 文档编写:编写程序设计说明书和用户手册。
8. 提交:按照要求提交所有材料。
三、评分标准1. 功能实现:程序是否实现了题目要求的所有功能。
2. 代码质量:代码是否规范、清晰、易读。
(word完整版)C语言程序设计课后习题1-8参考答案
C语言程序设计课后习题1—8参考答案习题1参考答案一、简答题1、冯诺依曼计算机模型有哪几个基本组成部分?各部分的主要功能是什么?答:冯诺依曼计算机模型是由运算器、控制器、存储器、输入设备、输出设备五大功能部件组成的。
运算器又称算术逻辑部件,简称ALU,是计算机用来进行数据运算的部件。
数据运算包括算术运算和逻辑运算。
控制器是计算机的指挥系统,计算机就是在控制器的控制下有条不紊地协调工作的.存储器是计算机中具有记忆能力的部件,用来存放程序和数据.输入设备是用来输入程序和数据的部件。
输出设备正好与输入设备相反,是用来输出结果的部件。
2、简述计算机的工作原理。
答:计算机的工作原理可简单地概括为:各种各样的信息,通过输入设备,进入计算机的存储器,然后送到运算器,运算完毕把结果送到存储器存储,最后通过输出设备显示出来。
整个过程由控制器进行控制。
3、计算机软件系统分为哪几类?答:软件内容丰富,种类繁多,通常根据软件用途将其分为两大类:系统软件和应用软件。
系统软件是指管理、监控、维护计算机正常工作和供用户操作使用计算机的软件。
这类软件一般与具体应用无关,是在系统一级上提供的服务。
系统软件主要包括以下两类:一类是面向计算机本身的软件,如操作系统、诊断程序等。
另一类是面向用户的软件,如各种语言处理程序(像BC、VC等)、实用程序、字处理程序等。
在操作系统的基础上运行。
4、什么叫软件?说明软件与硬件之间的相互关系。
答:软件是指计算机程序及有关程序的技术文档资料。
两者中更为重要的是程序,它是计算机进行数据处理的指令集,也是计算机正常工作最重要的因素。
在不太严格的情况下,认为程序就是软件。
硬件与软件是相互依存的,软件依赖于硬件的物质条件,而硬件则需在软件支配下才能有效地工作.在现代,软件技术变得越来越重要,有了软件,用户面对的将不再是物理计算机,而是一台抽象的逻辑计算机,人们可以不必了解计算机本身,可以采用更加方便、更加有效地手段使用计算机。
c程序课程设计大作业
c程序课程设计大作业一、教学目标本课程的教学目标是使学生掌握C程序设计的基本概念、原理和方法,培养学生运用C语言进行程序设计的能力和创新思维。
具体分解为以下三个方面的目标:1.知识目标:学生需要掌握C程序设计的基本语法、数据类型、运算符、控制结构、函数、数组、指针等基本概念,了解结构体、共用体、位字段、文件操作等高级内容。
2.技能目标:学生需要能够运用C语言编写解决实际问题的程序,具备调试和优化程序的能力,掌握基本的算法设计和分析方法。
3.情感态度价值观目标:培养学生对计算机科学的兴趣和热情,增强学生的自主学习能力和团队合作意识,培养学生勇于探索、创新的精神。
二、教学内容教学内容以教材《C程序设计语言》为基础,结合我国教育部门制定的教学大纲,系统地介绍C程序设计的基本概念、原理和方法。
教学大纲如下:1.C程序设计基本语法:数据类型、运算符、控制结构、函数等。
2.数据结构:数组、指针、结构体、共用体、位字段等。
3.高级编程:文件操作、动态内存分配、预处理指令等。
4.算法设计与分析:基本算法、排序算法、查找算法等。
5.编程实践:培养学生的实际编程能力,完成多个实际项目的开发。
三、教学方法本课程采用多种教学方法,包括讲授法、讨论法、案例分析法、实验法等,以激发学生的学习兴趣和主动性。
1.讲授法:用于讲解基本概念、原理和方法,使学生掌握理论知识。
2.讨论法:学生进行课堂讨论,培养学生的思考能力和表达能力。
3.案例分析法:分析实际案例,使学生学会将理论知识应用于实际问题。
4.实验法:安排实验课,让学生动手实践,培养实际编程能力。
四、教学资源教学资源包括教材、参考书、多媒体资料、实验设备等。
1.教材:《C程序设计语言》作为主要教材,辅以相关参考书供学生自主学习。
2.多媒体资料:制作课件、教学视频等,以直观展示课程内容。
3.实验设备:提供计算机实验室,让学生进行实际编程和调试。
4.在线资源:推荐在线编程平台,让学生随时随地练习编程。
C++程序设计与训练课程大作业(2016)
“C++程序设计与训练”课程大作业(2016)作业题目:简易铁路票务系统作业描述:同学们在平时出门旅行的过程中经常会选择使用铁路这一交通运输方式,对铁路票务系统应该也有所了解。
本次作业希望同学们能够自己设计并实现一套简易的铁路票务系统。
主要功能:旅客可以注册账号、登录系统并管理个人信息,在登录系统之后可以根据自己的需求订票。
这里给出一个标准的订票流程用作参考:(可以不用完全按照这个流程来实现,只需要逻辑清晰、功能完善、用户界面友好即可)1.旅客根据起始车站、到达车站、出行时间等条件查询符合的车次,车次信息需要显示始达车站、始达时间、余票数量等等;2.旅客根据查询结果选择自己满意的车次并进行订票;3.系统确认旅客订票成功,并显示具体的票面信息;4.旅客可以随时查看自己已经预订成功的车票相关信息。
要求:1.列车发车前半小时关闭该趟车的订票功能2.同一位旅客同一车次只能购买一张票3.同一车次的每个座位只能卖给一位旅客,不能出现两人买到相同座位号车票的现象4.用数据库管理、维护车次、车票及旅客账号等信息核心对象1)车次:座位布局:火车通常有两种座位布局,坐铺车厢与卧铺车厢。
为了简化实现,我们假定每一班列车仅有一节车厢,为坐铺车厢或者卧铺车厢中的一种。
坐铺列车一节车厢120个座位,座位号为1~120;卧铺列车一节车厢60个席位,座位号为1上/中/下~20上/中/下。
车次信息:车次信息至少包括:车次编号、列车类别(特快(坐/卧),普快(坐/卧),高铁等)、始发车站、终点车站、发车时间、预计运行时间/预计到达时间、车票价格、余票数量2)普通用户:普通用户账户信息至少包括:账号(用户名)、姓名、性别、身份证号(或者其他有效证件及证件号码)、联系方式、附加信息(学生证等其他信息,可为空)3)票务管理人员:票务管理人员登录系统之后可以维护管理所有车次信息。
管理员登录需要的用户名、密码提前录入在数据库中。
扩展功能(选做):1.车次信息增加途经车站信息(里程及到发时间),如有多个途经车站则根据里程数分段计价。
c语言课程设计大作业
c语言课程设计大作业一、课程目标知识目标:1. 理解C语言中数组、函数、指针等基本概念,掌握其应用方法。
2. 学会运用结构体、文件操作等C语言高级特性进行程序设计。
3. 掌握程序调试与优化的基本方法,提高代码质量。
技能目标:1. 能够根据需求,设计并实现具有实用价值的C语言程序。
2. 培养良好的编程习惯,编写规范、可读性强的代码。
3. 提高问题分析能力,能够针对实际问题设计合适的算法和数据结构。
情感态度价值观目标:1. 培养学生对编程的兴趣和热情,激发自主学习动力。
2. 培养学生面对困难和挑战时,保持积极心态,勇于尝试,善于合作,克服困难。
3. 增强学生的创新意识,鼓励学生敢于发表自己的观点,尊重他人的意见。
课程性质:本课程为C语言课程设计大作业,旨在巩固和拓展学生所学知识,提高实际编程能力。
学生特点:学生已具备一定的C语言基础,对编程有一定兴趣,但在实际应用中可能存在编程思路不清晰、代码规范意识不足等问题。
教学要求:结合学生特点,注重实践,引导学生从实际问题出发,培养解决复杂问题的能力。
教学过程中,注重激发学生兴趣,培养良好的编程习惯,提高团队协作能力。
通过本课程的学习,使学生在知识、技能和情感态度价值观等方面取得具体的学习成果。
二、教学内容1. 复习C语言基础知识:数组、函数、指针、控制结构等。
教材章节:第二章、第三章、第四章内容:数组的应用、函数的定义与调用、指针的概念与用法、程序流程控制。
2. C语言高级特性学习:结构体、文件操作、动态内存分配等。
教材章节:第六章、第七章、第十章内容:结构体的定义与使用、文件读写操作、动态内存分配与释放。
3. 程序设计与实现:根据实际需求,设计并实现具有实用价值的C语言程序。
教材章节:全书内容:综合运用所学知识,进行程序设计、编写代码、调试与优化。
4. 编程规范与调试技巧:培养良好的编程习惯,提高代码质量。
教材章节:附录内容:代码规范、调试方法、性能优化。
1606西南大学大作业《C语言》[0039]A卷
int i_num = 0;//位数
if(inputX >99 && inputX <1000;//拆开数字
int temp_j = 0;//数组下标
int temp_input = inputX;//中间结果
while(1)
{
(2)若有一个复杂问题的求解,若采用模块化程序设计方法,请你简单阐述用C语言编写一个模块化程序的基本过程。(6分)
答:根据模块化程序设计,一个较大的程序一般应分为若干个程序模块,每个模块用于实现一个特定的功能。在C程序中,模块用函数来实现。函数是构成C程序的基本单位,C语言不仅提供了极为丰富的库函数,如scanf(),printf(),sin(),cos()等,另外C语言还允许用户自己定义函数。用户可以把一些完成特定功能的模块编写成一个相对独立的函数,然后通过调用这些函数使程序完成特定的功能,这样就可以较好地实现操作过程的封装性。对用户隐藏各个操作的细节,从而降低程序设计的复杂度,提高程序的可维护性。
结构化程序设计强调程序设计风格和程序结构的规范化,提倡结构清晰。良好的程序设计风格可以使程序结构清晰合理,使程序代码便于维护。著名的“清晰第一,效率第二”的论点已成为当今主导的程序设计风格。
采用结构化程序设计方法的好处是:可以使每个模块功能明确,模块间的关系简单、清晰(即可读性强),每个模块内部的修改尽可能不影响其他模块(即独立性好),同时每个模块的正确性容易验证(即可维护性好)。
错误类型和排除错误的方法
(1)语法错误:这是指程序中含有不符合语法规定的语句,例如关键字或符号书写错误(将printf写成print、将数组元素引用写成a(2)等)、使用了未定义的变量、括号不配对等。含有语法错误的程序是不能通过编译的,因此程序将不能运行。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
“C++程序设计与训练”课程大作业(2016)
作业题目:
简易铁路票务系统
作业描述:
同学们在平时出门旅行的过程中经常会选择使用铁路这一交通运输方式,对铁路票务系统应该也有所了解。
本次作业希望同学们能够自己设计并实现一套简易的铁路票务系统。
主要功能:
旅客可以注册账号、登录系统并管理个人信息,在登录系统之后可以根据自己的需求订票。
这里给出一个标准的订票流程用作参考:
(可以不用完全按照这个流程来实现,只需要逻辑清晰、功能完善、用户界面友好即可)
1.旅客根据起始车站、到达车站、出行时间等条件查询符合的车次,车次信息
需要显示始达车站、始达时间、余票数量等等;
2.旅客根据查询结果选择自己满意的车次并进行订票;
3.系统确认旅客订票成功,并显示具体的票面信息;
4.旅客可以随时查看自己已经预订成功的车票相关信息。
要求:
1.列车发车前半小时关闭该趟车的订票功能
2.同一位旅客同一车次只能购买一张票
3.同一车次的每个座位只能卖给一位旅客,不能出现两人买到相同座位号车票
的现象
4.用数据库管理、维护车次、车票及旅客账号等信息
核心对象
1)车次:
座位布局:
火车通常有两种座位布局,坐铺车厢与卧铺车厢。
为了简化实现,我们假定每一班列车仅有一节车厢,为坐铺车厢或者卧铺车厢中的一种。
坐铺列车一节车厢120个座位,座位号为1~120;卧铺列车一节车厢60个席位,座位号为1上/中/下~20上/中/下。
车次信息:
车次信息至少包括:车次编号、列车类别(特快(坐/卧),普快(坐/卧),高铁等)、始发车站、终点车站、发车时间、预计运行时间/预计到达时间、车票价格、余票数量
2)普通用户:
普通用户账户信息至少包括:账号(用户名)、姓名、性别、身份证号(或者其他有效证件及证件号码)、联系方式、附加信息(学生证等其他信息,可为空)
3)票务管理人员:
票务管理人员登录系统之后可以维护管理所有车次信息。
管理员登录需要的用户名、密码提前录入在数据库中。
扩展功能(选做):
1.车次信息增加途经车站信息(里程及到发时间),如有多个途经车站则根据里
程数分段计价。
2.添加“虚拟的”账户充值功能与支付功能,在用户确认订票之后需要扣除相
应的账户余额才能成功购票,否则提示用户充值;或者余额不足时可以通过在购票付款时选择“其他方式支付”来代替。
3.添加选座功能,旅客可以在图形界面上方便地看到当前车次每个座位票的售
卖情况,并可以选择自己想要的空闲座位。
4.普通用户增加其他旅客信息,可以帮助他人购票。
5.分开实现服务器端与客户端功能,客户端与服务器通过网络连接,经由服务
器端访问数据库。
提示:
●大作业中需要用到“数据库及数据库编程”,这项内容并非本课程的课堂讲授内容,需要
大家自学(借此锻炼大家的自学能力)。
大家可以在百度上搜索“VC数据库编程.pdf”之类的资料进行自学。
●界面开发可以用MFC、QT或其它相关技术,MFC会在课堂上做初步介绍,其它技术
也需要同学们自学。
附录A:大作业要求
1)按题目要求开发具有一定实用价值的应用软件系统,功能不应过于简单,功能设计合理。
2)软件系统应采用面向对象方法进行设计,体现OOP的抽象、封装、继承、多态等设计思想和关键技术,要求充分运用课程中所学C++的面向对象的知识,如类、类的初始化、类的继承和组合、虚函数和模板等,采用“类”对软件功能及结构进行合理抽象,并用组合或继承建立类之间的关联关系。
以单纯的C语言写出的面向过程的程序是不能得分的。
3)程序功能完整正确,程序结构良好,代码整洁规范。
代码中应该有合理的注释,如对于类,应该有类的功能说明、类的成员变量说明、类的成员函数说明、成员函数中关键代码说明等。
4)开发语言应采用C++,对于学过C#的同学,可以采用C#(但不推荐)。
5)界面开发可以采用MFC、QT或其它类库,也可以用C#(前提是学过C#),不作限制。
6)开发环境尽量统一用VS2012。
7)数据库建议用Access或MySQL。
8)大作业的具体要求参见“附录B:大作业评分标准”和“C++大作业项目报告模板(2016).docx”。
9)大作业要求两人一组共同完成,但每人需提交自己的项目报告(具体要求见模板,提交电子版即可),说清楚自己(本人)的工作内容。
项目报告的字数没有要求,但其质量和水平直接决定了自己(本人)大作业的得分。
10)最终需要提交可以运行的源代码(含注释说明)、可执行程序、项目报告,大作业重点考查对课堂知识的掌握情况和运用能力,合理应用的知识点越多,程序功能越强大,得分就越高。
附录B:大作业评分标准
大作业的评分考虑以下内容:
1)程序功能与质量(团体分)
●基本功能正确性:针对所要求的功能要点,程序在各层次上功能正确。
●容错特性:非法输入及操作不影响程序的正常运行并能提示用户。
●设计合理性:充分运用OOP方法,且抽象数据类型的设计和实现具有合理性,符合OOP
的原则。
●代码规范与可读性:代码符合编程规范,具有较好的可读性。
●界面易用性及美观性:界面易用且美观。
●扩展功能:实现了基本功能之外的扩展功能将酌情加分。
2)项目报告(个人分)
●项目报告以个人为单位提交(即每人要提交自己的工作报告,不是按组提交),具体要
求见项目报告模板。
●基于项目报告将得出“个人工作百分比”和“个人工作质量分”,大作业总分大体计算如
下:
大作业总分团体分分组人数个人工作百分比个人工作质量分
⨯⨯
=+
●注意:这种情况下,即便团体分很高,如果个人的工作量或工作价值太小,也可能得到
很低的分数。
3)抄袭检查及抽查答辩(工作独立性确认)
●评分过程中将采用技术手段和人工方法对程序代码和项目报告进行比对,如果发现并确
认程序代码或项目报告存在故意抄袭情况,大作业记0分。
●大作业提交后,将按一定比例进行抽查答辩(无需PPT,以回答问题为主)。
一般情况
下,抽查答辩既不加分也不扣分,但如果通过抽查答辩确认相关工作并非独立完成,则会相应扣分或记0分。
4)分组情况(惩罚及奖励分)
●大作业需要2人一组按组完成,请大家自行分组。
●无法自行分组的,可由助教安排分组,但因为不鼓励这种方式,被安排分组的同学将有
象征性惩罚扣分(扣课程总成绩1-2分),被安排插入新同学的小组有可能酌情加分。
●如果选课总人数为单数,将由助教安排一个3人小组,此种情况不扣分。
5)提交时间(惩罚分)
●迟交作业每迟交1天扣课程总成绩1分,超过最终时间底线的大作业记0分。
●如有其他改动(如提交日期),以网络学堂通知为准。