1 / 14 c 语言实践报告 实 验 报 告 二级学院:信息与工程学院 系别:计算机科学与技术系 专业:信息管理与信息系统 课程名称:高级语言程序设计 班级:姓名: 实验名称: 电话订餐信息处理 实验目的: 题目要求: 一个小饭馆的生意非常红火,要想用餐必须提前一天打电话预订,假设我们是饭馆负责接受 电话预订的服务员,我们需要做些什么呢?首先, 需要准备一张大小适当的白纸,等待顾客的电话。李红最先打进了电话,她预约第 2 天中午 12 点用餐,用餐人数 5 人,服务员在纸上做了如下记录:“李红 12点 5人”;接着,刘娜、汪涵、孙杰和赵君分别来了电话,服务员根据他们的要求做了记录,此时纸上记录的内容是: 2 / 14 李红 12点 5人 刘娜 11点 2人 汪涵 11点 20分 3人 孙杰 10点 30分 5人 赵君 13点 20分 6人 孙杰随后又来电话,将用餐时间推后一个小时,那么记录的内容也应该做相应的修 改。刘娜来用餐以后,可以将其信息从纸上划去 编写程序处理电话订餐的情况 实验步骤: 首先建立结构体类型,然后函数声明,编写主函数,定义函数,调用函数。完成后,对程序进行调试,确定所编写的程序是否能够运行。 实验内容: #include #include #define max 30 struct guest { intnum; char name[40]; char time[20]; int sum; 3 / 14 }guestlink[max]; void insert; void inquire; void change; void dele; void show; void main { inti; int count=0; do {0 printf; printf; printf; printf; printf; printf; scanf; switch { case 1: insert;break; case 2: inquire;break; 4 / 14 case 3: change;break; case 4: dele;break; case 5: show;break; case 6:break; default:printf;break; } }while; } void insert { inti,number; if { printf;return;} printf; scanf; for if { printf;return;}guestlink[i].num=number; printf; scanf; printf; scanf; printf; 5 / 14 scanf; ++; } void inquire { inti,number,flag=1; printf; scanf; for if { printf; printf; printf; flag=0; } if printf; } void change { inti,number,flag=1; printf; scanf; for if { printf; scanf; 6 / 14 printf; scanf; printf; scanf; flag=0; } if printf; } void dele { inti,j,number,flag=1; printf; scanf; for if {for guestlink[j]=guestlink[j+1]; flag=0; --; } ifprintf;} void show { inti; 7 / 14 printf; for { printf; printf; printf; printf; } } 实验结果: 中南大学 本科生课程设计报告 题 目 指导教师 学 院 专业班级 学生学号 学生姓名 全国各省会城市天气情况统计 计算机基础教学实验中心 XX年 9 月 10 日 目 录 课 程 设 计 内 容 概述:………………………………………………………………………………… .1 实践背景知识:……………………………………………………………………………… .1 实 践 内容:………… …………………………………………………………………………… 1 8 / 14 实践目的及意义:………………………………………………………………………… .… 2 设计方案及实现过程:…………………………………………………………………………… ..2 总体设计思路:……………………………………………………………… … … … … … … .2 程序设计流程图:…………………………………………………………… 3 操 作 步 骤 及 设 计 成果:…………………………………………………………………… 3 方法技巧及所遇到的问题:… ………………………………………………………………… ...5 实践方法的归纳总结:…………………………………………………………………… 5 问 题 及 解 决 办法:…………………………………………………………………………… 6 实践的心得与体会:………………………………………………………………………………… 6 9 / 14 课程设计内容概述: 实践背景知识: 计算机技术的发展和广泛应用,正深刻地改变着现有的社会生产方式和生活方式,成为信息社会的重要支柱。信息化社会对人才的培养提出了更高 的要求和标准。掌握和了解计算机技术并具有应用计算机的能力是适应信息化社会的基础。 C 语言是近年来在国内外得到迅速推广应用的一种计算机语言。其功能丰富,表达能力强,使用灵活方便,应用面广,目标程序效率高,可移植性好,既具有高级语言的优点,又具有低级语言的许多特点。因此, C 语言特别适合于编写系统软件。 现在, C语言已不仅为计算机专业工作者所使用,而且为广大计算机爱好者所青睐,许多人已经用它编写应用软件。如今,学习 C 语言已成为众多计算机应用人员和青年学生的迫切要求。 实践内容: 上网查询各省会城市某日最高、最低气温和湿度,将数据以统一格式保存在一个纯文本文件中。编程实现: a.从文件中读取数据,计算全国省会当日的最高气温、湿度的平均值,统计最高气温高于平均值的城市数; b.按湿度升序排序,将排序后的数据存入文件中; 10 / 14 c.计算各城市温差,计算自己所在省的省会城市温差在各省会城市中的排名; d.统计最高气温在 10℃以下、 10℃∽ 20℃、 20℃∽30℃、 30℃以上的城市数,并绘制分布饼图和折线图。 1.要求: A.利用子程序,分模块实现; B.所有数据采用文件形式保存; C.数据的组织可采用数组,也可用结构体数组。 实践目的及意义: 通过对书本知识的自学和理解,掌握用 C 语言编写实用程序和设计自定义用户界面的基本方法,培养利用程序设计技术进行计算机与专业知识的交叉应用,增强综合解决实际问题的能力,掌握多模块结构的程序设计与调试方法以及程序模块间的数据传递方法,建立提出问题、分析问题、解决问题的思维方式,提高自身计算机水平,促进灵活运用所学知识解决问题能力的提高。 设计方案及实现过程: 总体设计思路: 1.将上网查询的数据保存在纯文本文档里,所编写的程序包括一个主函数和四个子函数,主函数主要是定义由文件中各类数据组成的结构体和供运行者选择的分支结构。 2.第一个自定义函数功能为:调用特定的库函数从11 / 14 文件中读取数据,此处应注意已保存文本的格式和函数中定义的数据类型,再采用循环结构将最高温度和湿度值累加求平均值,最高气温高于平均值的城市数目也可通过循环结构计算出来。 3.第二个自定义函数功能为:将文件中各个城市的湿度值读出来 ,采用选择排序或者冒泡排序法将所有数值从小到大排列,再调用 fprintf函数,把排列好的数据存入指定名称的文本文档中。 4. 第三个自定义函数功能为:利用循环结构把各城市最高温与最低温相减,将所得差值定义为一个数组,并显示在屏幕上,然后从第一个城市开始,和长沙市的温差比较,将大于长沙市的城市数目累加,即得出本市的具体排名。 5. 第四个自定义函数功能为:先将各城市的最高气温除十以方便计算,再采用 switch 语句,通过循环结 构读出各温度段的城市数目并累加,把所得结果用饼状图和折线图 显示在屏幕上。 程序设计流程图: 操作步骤及设计成果: 1、定义文件名、文件指针、结构体数组和需要用到的自定义函数,为方便编程过程中的修改,将城市数目定义为宏。 #include 12 / 14 #include #include #define N 34 struct c{char name[15]; int high; int low; int wed;}city[N]; FILE *fp; void f1;void f2;void f3;void f4; 2、编写主函数,利用输出函数输出一些中文提示语句以方便运行时选择。为使运行时界面清晰,还可以用几行*******和 --------符号隔开。 main 设计报告 一, 实验目的: 通过上机实习,熟练掌握循环语句、选择语句、指针以及结构体的运用技巧。在实习中通过实际操作,编写程序,发现问题,最后解决问题,提升对 c语言实用性的理解,在实践中巩固各知识点。 C语言是一种计算机程序设计语言。它既具有高级语言的特点, 又具有汇编语言的特点,上机实习可以帮助我们更好地理解这种结构式的中级语言以及其各式各样的数据类型和高效率的运算程序,为我们进一步学习 C++打下坚实基础。 同时,在实习过程中,通过互相发现问题,共同解决问题,不仅锻炼了我们的合作能力,而 且也让我们发现了一些自己的个人误区以及其他人13 / 14 容易犯的错误,从而在今后的学习中更加谨慎,达到事半功倍的效果;通过询问老师,也让我们养成了不耻下问的好习惯,这将很有利于以后的学习。 闲乐 - 一 个 人 闲 。 不 如 大 家 一 块 儿 乐/retype/zoom/9861aabdfd0a79563c1e72ad?pn=2&x=0&y=0&raww=312&rawh=443&o=jpg_6_0_______&type=pic&aimh=443&md5sum=5742db4fcffa47783d15ae929b606fc2&sign=a5252f8151&zoom=&png=276-8578&jpg=0-25354" target="_blank">点此查看 2,程序: #include int main { int a[11],i,j,t,b,c,temp1,temp2,temp3; //定义一个数组a[11],用以存放学生的成绩 printf; forscanf;//输入10个学生成绩 forfor if {t=a[j];a[j]=a[j+1];a[j+1]=t;} //采用冒泡法,将学生成绩按照从高到低进行排序 printf; forprintf; printf; printf; scanf; //再输入一个学生的成绩 c=a[9]; if//将此成绩按照排序规律插入原学 生成绩数组 a[10]=b; else {for {if {temp1=a[i];a[i]=b; for 14 / 14 {temp2=a[j];a[j]=temp1;temp1=temp2; }break; } } } printf; for printf;printf; for {temp3=a[i];a[i]=a[10-i];a[10-i]=temp3; } printf; for printf;printf;return 0; } 3,运行结 果: //输入 11个学生成绩 //排好序的成绩单进行反序存放 //输出反序存放后的学生成绩数组 2,根据条件进行学生成绩排名 1 Sort1
展开阅读全文