资源预览内容
第1页 / 共34页
第2页 / 共34页
第3页 / 共34页
第4页 / 共34页
第5页 / 共34页
第6页 / 共34页
第7页 / 共34页
第8页 / 共34页
第9页 / 共34页
第10页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
2014级本科C语言程序设计综合实训任务书-指导书编制部门:计算机系 编制人:申时全 编制日期:2014年12月6日项目编号C09项目名称综合应用实训训练对象14软件工程本科(3)(4)学时48课程名称C语言程序设计教 材C语言程序设计项目化教程刘军 主编 实训目标1、掌握选择结构、循环结构程序设计方法;2、掌握一维数组、二维数组应用程序设计方法3、掌握结构体、链表应用。完成一个链表应用程序设计和调试。4、掌握用函数进行模块化程序设计。5、掌握文件读写(二进制格式或文本格式化文件)操作。主要监测点1、基本实训任务:共7个项目。2、扩展实训任务:包括3个题目,从给定内容至少选做1题。实施条件个人计算机, Windows XP或windows7, 安装VC6.0编译开发环境实训内容一、 基本内容:1、 用结构体表示日期,输入一个日期(年、月、日),计算从输入年的1月1日到输入的日期的总天数days并输出。2、 从键盘输入n(2),计算斐波那契数列的前n项并按每行10个数据输出。3、 编写程序,生成并输出杨辉三角形(10行)。4、 从键盘输入两个double类型数据啊,a,b,通过调用函数max_ab实现求a与b的最大值输出,并定义函数max_ab。5、 编写程序从键盘输入10个float类型数存入一维数组a中,求这10个数的平均值,然后用函数aver实现平均值计算,输出这10个数以及平均值,要求数组和元素个数作为参数传递。6、 编写程序,从键盘输入10个int类型数,按从小到大顺序进行排序,然后输出。要求用函数sort()进行排序,用函数input()输入数据,用函数output()输出数据。7、 基于数组存储和函数的一卡通系统设计与实现。8、 基于结构体和文件存储的一卡通系统设计与实现。二、 扩展实训内容(可任选1道完成):1、 基于链表的一卡通系统程序设计。2、 五子棋游戏程序3、 打印日历程序实施步骤与技术要点. 一、基本内容: 1、用结构体表示日期,输入一个日期(年、月、日),计算从输入年的1月1日到输入的日期的总天数days并输出。技术要点:(1) 用结构体存储输入日期,定义结构体和日期变量如下:typedef struct date int yeay; int month; int day;DATE;DATE date;(2) scanf( )函数输入年号date.year,月号date.month,日期date.day,输入语句如下:scanf(%d%d%d,&date.year,&date.month,&date.day);(3) 用下述条件确定是否闰年: year % 4=0 & year %100 !=0 | year % 400=0 由此确定2月份天数days是28天还是29天。(4) 用一维数组m_day12存每月天数:int m_day12=31,28,31,30,31,30,31,31,30,31,30,31;(5) 用for循环计算到输入月份上月底的天数 for (mm=1,days=0;mm2) if (date.year % 400=0 |date.year%4=0 &date%100 !=0) days+; 实施步骤:(1) 运行VC6.0或Visual studio 2012集成环境(2) 建立一个控制台应用项目projection1,建立源文件date.c(3) 根据前述要点编写和输入程序(4) 调试和运行程序,保存结果截图。2、从键盘输入n(2),计算斐波那契数列的前n项并按每行10个数据输出。技术要点:(1) 用变量fib0表示当前计算项的前2项,fib1表示前1项,初始fib0=1,fib=1,用迭代法计算当前项: fib=fib0+fib1; fib0=fib1; fib1=fib;(2) 用for循环输出从第3项开始的项。 实施步骤:(1)运行VC6.0或Visual studio 2012集成环境(2)建立一个控制台应用项目projection2,建立源文件fibo.c(3)根据前述要点编写和输入程序(3) 调试和运行程序,保存结果截图3、 编写程序,生成并输出杨辉三角形(10行)。 技术要点:(1) 用一维数组yh存储一行数据,生成一行就打印一行。(2) 通过已输出的行计算当前要输出的行,计算从行号开始向0移动 for(col=row;col0;col-) yhcol=yhcol+yhcol-1;(3) 核心代码 int yhN=1; for(row=0;row0;col-) yhcol=yhcol+yhcol-1; for(col=0;coly?x:y条件表达式求两个数最大值并返回。double max_ab(double x,double y)return xy?x:y; 实施步骤:(1)运行VC6.0或Visual studio 2012集成环境(2)建立一个控制台应用项目projection4,建立源文件以后maxab.c(3)根据前述要点编写和输入程序(5) 调试和运行程序,保存结果截图5、编写程序从键盘输入10个float类型数存入一维数组a中,求这10个数的平均值,然后用函数aver实现平均值计算,输出这10个数以及平均值,要求数组和元素个数作为参数传递。技术要点:(1) 定义一维数组aN,这里N定义为10(2) 声明函数avar:float aver(float a, int n);(3) 主函数输入10个数据,用for循环语句输入: for (i=0;iN;i+) scanf(%f,&ai);(4)主函数调用函数aver计算并输出平均值 printf(平均值是:%f,aver(a,N);实施步骤:(1)运行VC6.0或Visual studio 2012集成环境(2)建立一个控制台应用项目projection5,建立源文件以后average.c(3)根据前述要点编写和输入程序(5) 调试和运行程序,保存结果截图6、编写程序,从键盘输入10个int类型数,按从小到大顺序进行排序,然后输出。要求用函数sort()进行排序, 用函数input()输入数据,用函数output()输出数据。 技术要点:(1) 主函数定义数组aN,N定义为10(2) 函数声名:void input(int *,int n);void output(int *,int n);void sort(int *,int n);(3) 主函数调用函数实现程序功能。(4) 函数定义void input(int *a,int n) /输入数据的语句void output(int *a,int n) /输出数据的语句void sort(int *a,int n) /排序语句实施步骤:(1)运行VC6.0或Visual studio 2012集成环境(2)建立一个控制台应用项目projection6,建立源文件sort.c(3)根据前述要点编写和输入程序(4)调试和运行程序,保存结果截图 7、基于数组和函数的一卡通系统设计与实现。 技术要点:(1)数据存储定义:在主函数内定义数据存储: char *nameMAXNUM; /持卡人姓名int cnumMAXNUM=0; /存储每个卡的卡号,从1号开始编号int flagMAXNUM=0; /存储每张卡有效条件的值float cmoneyMAXNUM=0; /存储每个卡的每次充值金额float cbalanceMAXNUM=0; /存储每张卡余额 int num=0; /当前卡计数 (2)各模块函数申明: void disp_init(); /显示初始画面模块 int select_menu( ); /显示菜单并输入功能选择void addnew(int *,int *,char *name,float *,float *,int *); /建新卡模块void logout(int *,int *,char *name,float *,float *,int *); /注销模块void modify(int *,int *,char *name,float *,float *,int *); /卡信息修改模块void readcard(int *,int *,char *name,float *,float *,int *);/消费模块void savemoney(int *,int *,char *name,float *,float *,int *); /充值模块void inquiry(int *,int *,char *name,float *,float *,int *);/查询卡信息模块void exitout( ); /退出模块int findcard( int cardnumber,int *,int *); /查询卡号/显示卡信息void dispone(int * cnum,char *pname,float *cmoney,float *cbalance,int index); (3)主函数结构:int main(int args,char *argv)
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号