c语言第11次实验内容(结构体、枚举、文件)邹显春.ppt

上传人:b****2 文档编号:2638363 上传时间:2022-11-04 格式:PPT 页数:27 大小:432.50KB
下载 相关 举报
c语言第11次实验内容(结构体、枚举、文件)邹显春.ppt_第1页
第1页 / 共27页
c语言第11次实验内容(结构体、枚举、文件)邹显春.ppt_第2页
第2页 / 共27页
c语言第11次实验内容(结构体、枚举、文件)邹显春.ppt_第3页
第3页 / 共27页
c语言第11次实验内容(结构体、枚举、文件)邹显春.ppt_第4页
第4页 / 共27页
c语言第11次实验内容(结构体、枚举、文件)邹显春.ppt_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

c语言第11次实验内容(结构体、枚举、文件)邹显春.ppt

《c语言第11次实验内容(结构体、枚举、文件)邹显春.ppt》由会员分享,可在线阅读,更多相关《c语言第11次实验内容(结构体、枚举、文件)邹显春.ppt(27页珍藏版)》请在冰豆网上搜索。

c语言第11次实验内容(结构体、枚举、文件)邹显春.ppt

该实验内容依据教材该实验内容依据教材:

C语言程序设计实验教程邹显春、王建国主编高等教育出版社制作人:

邹显春制作人:

邹显春E-Mail:

掌握掌握CC语言程序设计的诀窍语言程序设计的诀窍-重在上机实践重在上机实践!

目标:

目标:

熟练阅读、编写程序熟练阅读、编写程序实验实验1111结构体、枚举类型、结构体、枚举类型、文件类型文件类型(P43P43)说明:

参考程序代码放在备注中,仅供大家对照说明:

参考程序代码放在备注中,仅供大家对照检查,希望同学们本着对自己负责的精神,先独检查,希望同学们本着对自己负责的精神,先独立完成,再看参考答案立完成,再看参考答案一、实验目的一、实验目的1.掌握结构体类型的定义掌握结构体类型的定义2.掌握结构体变量的使用掌握结构体变量的使用3.了解枚举类型的定义及引用了解枚举类型的定义及引用4.掌握文件的使用掌握文件的使用二、实验内容(二、实验内容(P43-45P43-45)2.设计性实验设计性实验,其它题目选做。

,其它题目选做。

温馨提示温馨提示1.验证性实验验证性实验、,按要求进行实验,所需要程,按要求进行实验,所需要程序代码在网络平台的序代码在网络平台的“课程导学课程导学”的的“实验引导实验引导”中中下载。

下载。

三、实验内容示范三、实验内容示范1.验证性实验验证性实验程序填空程序填空a)从从“平台平台”上提供的代码文件上提供的代码文件test2_25.cpp中取代码,中取代码,粘贴到编辑区中粘贴到编辑区中目的:

掌握结构体的定义和内部变量的使用目的:

掌握结构体的定义和内部变量的使用温馨提示:

第一空,如果该结构体元素的年龄大于目前最大值,则应更新最大值第二空,如果该结构体元素的年龄小于目前最小值,则应更新最小值第三空,循环查找结构体数组,把既不是最大也不是最小年龄的元素中的name及age变量输出该程序的功能是在结构体数组中通过比较该程序的功能是在结构体数组中通过比较内部的内部的age变量,来选择满足条件的结构变量,来选择满足条件的结构体元素,最后将相应元素中的体元素,最后将相应元素中的name变量变量显示输出显示输出该程序完成后的显示结果:

该程序完成后的显示结果:

找出了年龄中等的结构体数组元素,并显示出内部的相应变量参考代码见备注程序改错程序改错从从“平台平台”上提供的代码文件上提供的代码文件test2_26.cpp中取代码,粘中取代码,粘贴到编辑区中,首先检查语法错误,然后按照要求设置断贴到编辑区中,首先检查语法错误,然后按照要求设置断点调试点调试目的:

掌握函数调试方法,理解调试中变量值的变化情况目的:

掌握函数调试方法,理解调试中变量值的变化情况该程序编译过程中的错误:

该程序编译过程中的错误:

-Configuration:

test2_26-Win32Debug-Compiling.test2_26.cppD:

vctesttest2_26.cpp(27):

errorC2664:

input:

cannotconvertparameter1fromstructstudenttostructstudent*Nouser-defined-conversionoperatoravailablethatcanperformthisconversion,ortheoperatorcannotbecalled执行cl.exe时出错.test2_26.exe-1error(s),0warning(s)请分析错误代码,找准出错部位温馨提示:

该题目语法上的错误:

input函数定义时接收的第一个参数是结构体指针,而在main函数中使用时传入了一个非指针的变量完成语法错误修改后,请按要求在各代码前设置断点,并开始进行调试温馨提示:

通过调试应该发现的错误:

input函数中通过键盘输入成绩时未使用变量的地址在average函数中设置的累加变量未给出初始值在input和average函数的循环过程中,指向结构体数组的指针未向后移,始终访问数组的第一个元素修改正确后程序运行的结果:

修改正确后程序运行的结果:

参考代码见备注编写一个程序,要求将编写一个程序,要求将5名学生的学号、姓名、四名学生的学号、姓名、四科成绩(语文、数学、英语、综合)以及平均分放在科成绩(语文、数学、英语、综合)以及平均分放在一个结构体数组中,学生的学号、姓名、和四项成绩一个结构体数组中,学生的学号、姓名、和四项成绩由键盘输入,然后计算出平均分放在结构体对应域中,由键盘输入,然后计算出平均分放在结构体对应域中,最后按如下格式输出最后按如下格式输出5名学生的记录。

名学生的记录。

2.设计性实验设计性实验,其它题目选做。

,其它题目选做。

学号姓名语文数学英语综合平均分1王一心1151301052391472温馨提示:

1首先定义一个结构体数组,结构体内应该有学号、姓名、语文、数学、英语、综合和平均分变量2在主函数中,在循环中使用scanf将以上除平均分外的变量输入,注意scanf中的变量格式3average变量通过将前4门成绩求和后除以5得到4再设置一个循环,按书中格式将结构体数组的每个元素中的每个变量依次输出程序运行的结果:

程序运行的结果:

参考代码见备注编写一个程序,实现将编写一个程序,实现将中中55名学生的所有信息名学生的所有信息存储到磁盘文件上,再从磁盘文件中读出并在屏存储到磁盘文件上,再从磁盘文件中读出并在屏幕上显示幕上显示温馨提示:

结构体数组的操作同,在进行磁盘读写操作时,建议使用二进制方式打开文件,并调用fwrite和fread函数将一个结构体元素一次性写入和读出,结构体数组仍然通过循环进行操作,不要将结构体数组整体读写程序运行显示的结果同程序运行显示的结果同,同时生成了一个名为,同时生成了一个名为stu.dat的文件(文件名程序中自定)的文件(文件名程序中自定)参考代码见备注上图为使用debug命令分析生成的文件,数值区为结构体中数据对应的二进制值(以16进制显示出来),右侧的字符区可以显示部分结构体中的字符串(中文无法正常显示)选做或课后完成温馨提示:

键盘输入字符串并进行相应统计的操作可参考第5次实验(循环结构)的设计性实验;将字符串写入到文件时使用“w”和“r”参数打开文件(注意不要带“b”,否则是二进制读写),并通过fputc和getc函数循环进行写和读的操作,注意写操作循环终止是判断是否写到字符串结束符0,读操作时循环终止的条件是是否读到文件结束字符EOF从键盘上输入一行含有字母、数字、空格和其从键盘上输入一行含有字母、数字、空格和其他字符的字符串,将其写入文件他字符的字符串,将其写入文件string.txtstring.txt中,中,再读出该字符串中的字符,统计其中的字母、数再读出该字符串中的字符,统计其中的字母、数字、空格和其他字符的个数输出字、空格和其他字符的个数输出程序运行的结果:

程序运行的结果:

参考代码见备注程序显示的结果程序生成的string.txt温馨提示:

C语言中的注释为/*和*/括起来的部分(以及VC+中使用/到该行结尾的部分),判断是否读到注释内容方法是连续读入两个字符,如果满足/*(或者/)则进入注释部分,此时再重新写C文件时省略该部分,而把注释内容写到一个新的文件中,直到连续遇到*/(或者是/遇到换行符n),则恢复原字符的写出操作。

最好用一个变量来保存当前所处的状态,表明当前是处于未注释状态还是已处于注释状态,该状态在注释起始和结束时改变,中途一律不变编写一个程序,删除一个编写一个程序,删除一个CC语言源程序中所有语言源程序中所有的注释,并将删除的注释的内容写入一个文件中。

的注释,并将删除的注释的内容写入一个文件中。

程序运行的结果(没有显示内容,但根据程序运行的结果(没有显示内容,但根据source.cpp生生成了成了code.cpp和和annotation.txt):

):

参考代码见备注温馨提示:

用枚举类型实现首先定义枚举类型,包含红、黄、蓝三种再定义该枚举类型的变量两个(小球1、小球2)两重循环,外循环让小球1依次取所有情况,内循环让小球2去所有情况,并判断当小球1不等于小球2时,输出这种组合,注意,让枚举变量依次取各种情况在VC下实现的方法是变量变量=枚举类型枚举类型(int)变量变量+1),相当于让变量增加的作用现有红、黄、蓝三种颜色的球若干个,每次从现有红、黄、蓝三种颜色的球若干个,每次从中取出中取出22个球,编写程序,统计两种不同颜色球的个球,编写程序,统计两种不同颜色球的可能取法,并输出每种排列情况可能取法,并输出每种排列情况程序运行的结果:

程序运行的结果:

参考代码见备注温馨提示:

可用一个字符变量循环从f1.txt中使用fgetc取出值,并使用fputc将其写入到f2.txt中,同时使用putchar将该字符输出,循环结束的条件是取到f1.txt的文件结束符EOF将一个文本文件将一个文本文件f1.txtf1.txt的内容复制到的内容复制到f2.txtf2.txt中,中,并将其内容在屏幕上显示并将其内容在屏幕上显示程序运行的结果:

程序运行的结果:

参考代码见备注同时生成了相同内容的文本文件f2.txt

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 材料科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1