c语言程序设计的水电费问题,C语言程序设计A综合程序设计.pptx

C语言程序设计A综合程序设计.pptx

C语言程序设计A实验 综合程序设计,桂林电子科技大学 教学实践部 秦兴国 Email ,Outline,实验目的和实验要求 综合程序设计实验要求 实验提示,实验目的和实验要求,利用所学过的C语言编程的基础知识如综合顺序、分支、循环结构和函数,以及数组、指针、结构体和共用体、文件等进行编程,较全面地掌握C语言的知识; 初步掌握输入、输出、查找、排序的编程方法; 逐步掌握C语言编程基本方法和技能。,综合程序设计实验要求-1,综合程序设计实验对应指导书上实验13由同学们在课外完成; 综合程序设计实验内容涉及文件、结构体、指针等概念;对这些概念不熟悉的同学了解相关理论知识或者对照实验指导书中相关内容进行学习; 实验内容为13任选一题,实验内容4不要求;,综合程序设计实验要求-2,提交报告时间为第18周周3;过期未提交者则该次实验为0分; 提交报告时,请将源代码与实验报告分别单独提交; 不要抄袭,报告提交系统有检测抄袭功能;,实验提示水费电费问题-1,题目及要求如实验指导书p69所述 提示 所有输入数据均从文件.dat中读取,注意.dat为文本文件,读取该文件时,应采文本文件格式读取fp “.dat”, “r”; .dat文件第一行分别为水费和电费的单价; 读取文件时应注意文件指针是否已经到达文件尾;,实验提示水费电费问题-2,提示 对于住户地址、水耗、电耗等信息可以采用多种形式进行存储以下列出2种 使用三个数组分别存储住户地址、水耗、电耗 三个数组例如aN, bN, cN的长度分别为总的用户数,可以通过define N 6等宏定义进行定义 使用结构体数组存储住户地址、水耗、电耗 定义的结构体应该至少包含3个成员,例如 struct info int address; int water_consume; int elec_consume; arraryN; 定义长度为N的结构数组,实验提示水费电费问题-3,提示 所编写的程序,应该给出足够的提示信息,以便程序运行者能知道程序的功能,以及程序的状态和完成的工作。 程序编写应该具有扩展性,能针对同一格式的输入数据文件,产生一致的结果。 程序应该能够对明显的数据错误进行检查。 读写文件可考虑使用fscanf、fprintf等文件操作函数。,实验提示学生课程信息管理-1,题目及要求如实验指导书p70所述 提示 函数要自己编写,其功能是从键盘中输入所有学生的课程信息包括学号、姓名、5门课程成绩; 保存键盘输入的学生数据至文件cj.dat中; PrintScore函数要自己编写,其功能是输出每一门课程的成绩表,注意其输出按照学号从小到大的顺序输出; PrintScore函数还负责输出全班成绩的统计信息,具体信息如p70最后5行所述;,实验提示学生课程信息管理-2,提示 学生信息的描述,可以采用与“水电费问题”中关于用户信息描述相类似的做法 定义3个数组用于描述学生的相关信息,例如 char idN20; char nameN20; int scoreN7; 其中N代表学生总数,对于某一个学生的id,姓名可以通过scanf“s”, idi;scanf“s”,namei;进行输入;,实验提示学生课程信息管理-3,提示 score数组则用于存储学生的成绩和总分以及平均分;对于某一个学生而言,其对应scorei开始的数组元素;则scorei0scorei4可用于保存学生的5门课程成绩;scorei5、scorei6则可分别用于保存总分和平均分; 通过这样,则可在每输入完一个学生的成绩后即可算出其总分和平均分,并将其保存至score数组相应元素中,方便后续操作使用; 注意输入成绩应使用类似的格式scanf“d”, ,实验提示学生课程信息管理-4,提示 每门课程成绩表的输出则应采取按学号大小进行排序输出; 由于使用字符数组保存学号信息,因此比较学号大小可以采用strcmp函数,例如 if strcmpidi,idj 0 说明idi对应的学号比idj对应的学号要大 else 说明idi对应的学号比idj对应的学号要小 ,实验提示学生课程信息管理-5,提示 课程成绩表按学号大小进行排序时,可采用简单的排序算法,但应该注意在排序算法中进行元素交换时,不应该只是某2个学生的学号进行交换,而应该包括与这2个学号对应的学生的所有信息都进行交换。,if strcmpidi,idj 0 说明idi对应的学号比idj对应的学号要大 学号对应的位置进行交换 strcpytemp_id, idi;temp_id 是长度为20的char数组 strcpyidi, idj; strcpyidj, temp_id; 姓名对应的位置进行交换 strcpytemp_name,namei; strcpynamei,namej; strcpynamej,temp_name; 课程成绩对应的位置进行交换 for k 0; k 7; k temp_score scoreik;temp_score为int类型 scoreik scorejk; scorejk temp_score; ,实验提示学生课程信息管理-6,提示 所编写的程序,应该给出足够的提示信息,以便程序运行者能知道程序的功能,以及程序的状态和完成的工作。 程序应该能够对明显的数据错误进行检查。,实验提示职工档案管理程序-1,题目及要求如实验指导书p71所述 提示 基本思路与上述两个项目较相似,在熟读上述两个项目提示的前提下,相信对此项目能较准确的把握; 主要还是注意用什么结构或类型描述职工的信息; 保存职工信息时,需要进行按职工号进行排序,思想与项目2中学号排序一致; 查找某一职工档案时,根据姓名查找则可能会使用到strcmp函数;,实验提示职工档案管理程序-2,提示 工资最高和工资最低职工的查找相对较简单; 打印年龄分布则需要统计各年龄段的员工数目,相关操作在以前实验中应该有所涉及,不会则可翻阅实验指导书相关章节内容。 所编写的程序,应该给出足够的提示信息,以便程序运行者能知道程序的功能,以及程序的状态和完成的工作。 程序应该能够对明显的数据错误进行检查。,

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值