实验3:顺序结构程序设计 实验名称: 顺序结构结构程序设计 实验日期: 年月日 实验报告日期:年月日 实验目的 1、掌握C语言赋值语句的使用。 2、熟练掌握不同数据类型的输入、输出方法。 3、掌握C语言的顺序结构程序设计。 4、掌握C语言程序的调试方法 二、实验环境 安装了Ⅴ isual c++60的计算机系统 实验内容(或实验任务) 1、编写程序用于在屏幕上输出如下所示的字符菜单界面 0N“E:1C语言编程143 Debug\4_3.exe 请输入运算符(+-*/): 提示:此程序需要输出主菜单选择界面,我们用多个 printf函数来实现。主菜单 选择界面中的边框可以在多个 printf语句中输出“|”和“一”拼凑起来。“|” 可以在键盘上找到。 2、编写程序输出如下所示的学生成绩管理系统主菜单选择界面
实验 3:顺序结构程序设计 实验名称: 顺序结构结构程序设计 成绩: 实验日期: 年 月 日 实验报告日期: 年 月 日 一、实验目的 1、掌握 C 语言赋值语句的使用。 2、熟练掌握不同数据类型的输入、输出方法。 3、掌握 C 语言的顺序结构程序设计。 4、掌握 C 语言 程序的调试方法。 二、实验环境 安装了 Visual C++ 6.0 的计算机系统。 三、实验内容(或实验任务) 1、编写程序用于在屏幕上输出如下所示的字符菜单界面。 提示:此程序需要输出主菜单选择界面,我们用多个 printf 函数来实现。主菜单 选择界面中的边框可以在多个 printf 语句中输出“|”和“—”拼凑起来。“|” 和“—” 可以在键盘上找到。 2、编写程序输出如下所示的学生成绩管理系统主菜单选择界面
N“E:C语言编程1321 Debug132.exe 学生成绩管理系统 入学生成绩 234569 浏学生成线 十十十十十十十十晋十十4十十晋十十十十十十十十十十十十十十十十十十 3、根据商品原价和折扣率,计算商品的实际售价(结果精确到小数点后2位 4、根据三角形的三条边,计算三角形的面积。 提示: (1)假设a、b、c分别为三角形三边的长度,求三角形的面积公式为 area=sqrt(s+(sa)*(s-b)*(sc),其中s=(a+b+c)2。 (2)本程序需要用# include包含头文件,此外,因为使用系统库函数中的 求平方根函数sqrt,因此要用# include包含头文件 评分标准 是否能正确编写C程序以实现各题要求(50分) 项目报告中,流程图和算法描述(20分),知识点描述(20分),难点及 解决办法或体会(10分)。 四、实验要求 1、实验前编制程序框图、编写源程序、准备测试数据 2、实验测试数据要求从键盘输入。应尽力追求程序的完美。比如要求输入数据, 应当显示提示字符串,提示用户输入;输出时要求有文字说明 3、在 Visual c++60下完成程序的编辑、编译、运行,获得程序结果。如果结 果有误,应找出原因,并设法更正之
3、根据商品原价和折扣率,计算商品的实际售价(结果精确到小数点后 2 位)。 4、根据三角形的三条边,计算三角形的面积。 提示: (1)假设 a、b、c 分别为三角形三边的长度,求三角形的面积公式为: area=sqrt(s*(s-a)*(s-b)*(s-c)),其中 s=(a+b+c)/2。 (2)本程序需要用#include 包含头文件,此外,因为使用系统库函数中的 求平方根函数 sqrt,因此要用#include 包含头文件。 评分标准: 是否能正确编写 C 程序以实现各题要求(50 分); 项目报告中,流程图和算法描述(20 分),知识点描述(20 分),难点及 解决办法或体会(10 分)。 四、实验要求 1、实验前编制程序框图、编写源程序、准备测试数据。 2、实验测试数据要求从键盘输入。应尽力追求程序的完美。比如要求输入数据, 应当显示提示字符串,提示用户输入;输出时要求有文字说明。 3、在 Visual C++ 6.0 下完成程序的编辑、编译、运行,获得程序结果。如果结 果有误,应找出原因,并设法更正之
4、编制的程序须保存在E:用户目录中。注:用户目录可以用学号或姓名拼音简 五、实验步骤、过程 1、启动操作系统,进入 Windows窗口;切换到用户磁盘,创建、进入用户目录。 (方法、命令与实验1相同) 2、启动Ⅴ isual c++60集成开发环境。(方法与实验1相同) 3、完成4个程序题。(编辑、保存、编译连接、运行程序,步骤与实验1相同) (1)第一步:参照实验1任务2的实现步骤,在当前工作空间“C语言编程”中新 建Win32 Console Application工程,取名为3_1。新建C++ Source file,添加到 工程31中,文件名为31c 第二步:manO函数中的伪代码如下: void maino 在屏幕上输出菜单第一行 在屏幕上输出菜单第二行 在屏幕上输出菜单第三行 在屏幕上输出菜单第四行 在屏幕上输出菜单第五行 在屏幕上输出菜单第六行 第三步:构造对应的C语句,并将伪代码作为注释保留下来。本步骤产生的程 序代码如下: #include void mair printf(("+++++++++++++++++++++++ln") printf("+ 加法 +n") printf("+ 减法 +n")
4、编制的程序须保存在 E:\用户目录中。注:用户目录可以用学号或姓名拼音简 写。 五、实验步骤、过程 1、启动操作系统,进入 Windows 窗口;切换到用户磁盘,创建、进入用户目录。 (方法、命令与实验 1 相同) 2、启动 Visual C++ 6.0 集成开发环境。(方法与实验 1 相同) 3、完成 4 个程序题。(编辑、保存、编译连接、运行程序,步骤与实验 1 相同) (1)第一步:参照实验 1 任务 2 的实现步骤,在当前工作空间“C 语言编程”中新 建 Win32 Console Application 工程,取名为 3_1。新建 C++ Source File,添加到 工程 3_1 中,文件名为 3_1.c。 第二步:main()函数中的伪代码如下: void main() { 在屏幕上输出菜单第一行 在屏幕上输出菜单第二行 在屏幕上输出菜单第三行 在屏幕上输出菜单第四行 在屏幕上输出菜单第五行 在屏幕上输出菜单第六行 } 第三步:构造对应的 C 语句,并将伪代码作为注释保留下来。本步骤产生的程 序代码如下: #include void main() { printf("++++++++++++++++++++++++++++++++++\n"); printf("+ +: 加法 +\n"); printf("+ -: 减法 +\n");
printf("+ 乘法 +n") printf("+ :除法 +n"), printf(("+++++++++++++++++++++++n" 注意:本实验任务中 printf函数的功能是输出双引号中的所有字符。双引号 末尾的字符Ⅶn'是一个转义字符,指的是输出完成它前面的各字符后将光标定位 到下一行的开头处,之后的输出将从此位置开始。 另外,由于在main函数中调用了 printf函数,所以需要在程序开始处用 include来包含头文件 stdio h 第四步:此时实验3任务1基本完成,可以对程序进行编译、连接和执行了。请 记录此时的输出结果。注意通过查看执行结果来实现字符的对齐输出 (2)第一步:参照实验1任务2的实现步骤,在当前工作空间“C语言编程”中新 建Win32 Console Application工程,取名为3_2。新建C++ Source file,添加到 工程32中,文件名为32c。 第二步: maino函数中的伪代码如下: mai 在屏幕上输出菜单第一行 在屏幕上输出菜单第二行 在屏幕上输出菜单第三行 在屏幕上输出菜单第四行 在屏幕上输出菜单第十三行 第三步:构造对应的C语句,将伪代码作为注释保留下来。本步骤产生的代码 略 第四步:此时实验任务2基本完成,可以对程序进行编译、连接和执行。请记录 此时的输出结果。注意通过查看执行结果来实现字符的对齐输出
printf("+ *: 乘法 +\n"); printf("+ /: 除法 +\n"); printf("++++++++++++++++++++++++++++++++++\n"); } 注意:本实验任务中 printf 函数的功能是输出双引号中的所有字符。双引号 末尾的字符'\n'是一个转义字符,指的是输出完成它前面的各字符后将光标定位 到下一行的开头处,之后的输出将从此位置开始。 另外,由于在 main 函数中调用了 printf 函数,所以需要在程序开始处用 #include 来包含头文件 stdio.h。 第四步:此时实验 3 任务 1 基本完成,可以对程序进行编译、连接和执行了。请 记录此时的输出结果。注意通过查看执行结果来实现字符的对齐输出。 (2)第一步:参照实验 1 任务 2 的实现步骤,在当前工作空间“C 语言编程”中新 建 Win32 Console Application 工程,取名为 3_2。新建 C++ Source File,添加到 工程 3_2 中,文件名为 3_2.c。 第二步:main()函数中的伪代码如下: void main() { 在屏幕上输出菜单第一行 在屏幕上输出菜单第二行 在屏幕上输出菜单第三行 在屏幕上输出菜单第四行 ……… 在屏幕上输出菜单第十三行 } 第三步:构造对应的 C 语句,将伪代码作为注释保留下来。本步骤产生的代码 略。 第四步:此时实验任务 2 基本完成,可以对程序进行编译、连接和执行。请记录 此时的输出结果。注意通过查看执行结果来实现字符的对齐输出
由于main函数中调用了 printf函数,故需要在程序开始处用# include来 包含头文件 stdio . h (3)第一步:参照实验1任务2的实现步骤,在当前工作空间“C语言编程”中新 建Win32 Console application工程,取名为3_3。新建C++ Source file,添加到 工程33中,文件名为33c。 第二步:main0函数中的伪代码如下: main 1)定义需要的变量 2喻输出请用户输入价格与折扣的提示信息 3)接收用户从键盘输入的价格与折扣的值 4)根据用户输入的价格与折扣的值计算商品的实际售价 5)输出计算的实际售价 第三步:构造对应的C语句,并将伪代码作为注释保留下来。本步骤产生的代 第四步:此时实验任务3基本完成,可以对程序进行编译、连接和执行了。记录 此时的输入数据及输出结果,注意观察结果是否与预期的一致 (4)第一步:参照实验1任务2的实现步骤,在当前工作空间“C语言编程”中新 建Win32 Console Application工程,取名为34。新建C++ Source file,添加到 工程34中,文件名为34c。 第二步: maino函数中的伪代码如下: void maino 1)定义需要的变量 2)渝输出请用户输入三角形三条边a、b、c的提示信息 3)接收用户从键盘输入的a、b、c的值
由于 main 函数中调用了 printf 函数,故需要在程序开始处用#include 来 包含头文件 stdio.h。 (3)第一步:参照实验 1 任务 2 的实现步骤,在当前工作空间“C 语言编程”中新 建 Win32 Console Application 工程,取名为 3_3。新建 C++ Source File,添加到 工程 3_3 中,文件名为 3_3.c。 第二步:main()函数中的伪代码如下: void main() { 1)定义需要的变量 2)输出请用户输入价格与折扣的提示信息 3)接收用户从键盘输入的价格与折扣的值 4)根据用户输入的价格与折扣的值计算商品的实际售价 5)输出计算的实际售价 } 第三步:构造对应的 C 语句,并将伪代码作为注释保留下来。本步骤产生的代 码略。 第四步:此时实验任务 3 基本完成,可以对程序进行编译、连接和执行了。记录 此时的输入数据及输出结果,注意观察结果是否与预期的一致。 (4)第一步:参照实验 1 任务 2 的实现步骤,在当前工作空间“C 语言编程”中新 建 Win32 Console Application 工程,取名为 3_4。新建 C++ Source File,添加到 工程 3_4 中,文件名为 3_4.c。 第二步:main()函数中的伪代码如下: void main() { 1)定义需要的变量 2)输出请用户输入三角形三条边 a、b、c 的提示信息 3)接收用户从键盘输入的 a、b、c 的值
4)根据三角形的面积公式area= sqrt(s*(s-a)*(s-b)+(sc)计算出面积area 5)输出面积area 第三步:构造对应的C语句,并将伪代码作为注释保留下来。本步骤产生的代 码略。 注意:由于在main函数中调用了系统提供的数学函数sqrt,所以需要用语句 # include来包含头文件 math. h 第四步:此时实验任务4基本完成,可以对程序进行编译、连接和执行了。记录 此时的输入数据及输出结果,注意观察结果是否与预期的一致。 4、退出Ⅴ isual c++60集成开发环境并关机。 六、源程序清单、测试数据、结果 1、编写程序用于在屏幕上输出如下所示的字符菜单界面 0N“E:C语言编程143 Debug14_3.exe 除法 请输入运算符(+-*八 #include void maino printf(("++++++++++++++n") printf("+ 加法 +in") printf("+ -:减法 +n") printf("+ *:乘法 printf("+ :除法 +n") printf(+++++ +++++++++++++++++in
4)根据三角形的面积公式 area=sqrt(s*(s-a)*(s-b)*(s-c))计算出面积 area 5)输出面积 area } 第三步:构造对应的 C 语句,并将伪代码作为注释保留下来。本步骤产生的代 码略。 注意:由于在 main 函数中调用了系统提供的数学函数 sqrt,所以需要用语句 #include 来包含头文件 math.h。 第四步:此时实验任务 4 基本完成,可以对程序进行编译、连接和执行了。记录 此时的输入数据及输出结果,注意观察结果是否与预期的一致。 4、退出 Visual C++ 6.0 集成开发环境并关机。 六、源程序清单、测试数据、结果 1、编写程序用于在屏幕上输出如下所示的字符菜单界面。 #include void main() { printf("++++++++++++++++++++++++++++++++++\n"); printf("+ +: 加法 +\n"); printf("+ -: 减法 +\n"); printf("+ *: 乘法 +\n"); printf("+ /: 除法 +\n"); printf("++++++++++++++++++++++++++++++++++\n"); }
2、编写程序输出学生成绩管理系统主菜单选择界面 ***半****半********半****半**** / 32.c 学生成绩管理系统主界面设计 #include io. h" #include stdlib h' /*使用清屏函数时加此命令行* void maino system("cls") /*调用清屏函数。若在TC中,应改用 clrscro)*/ printf( "n"); print〔"nlt++++++++++++n") printf("\n\t+ 学生成绩管理系统 printf("\n\t+ printf("\nt+ 录入学生成绩 ) ntf "nlt+ 修改学生成绩 ") printf("nIt+ 3-查询学生成绩 printf("nt+ 4--删除学生成绩 printf("nt+ 5-排序学生成绩 ") printf("nt+ 6-浏览学生成绩 ") printf( "nlt+ 0--退出系统 ) printf("nt+ +") print("nlt++++++++++++++in") 3、根据商品原价和折扣率,计算商品的实际售价
2、编写程序输出学生成绩管理系统主菜单选择界面。 /****************************** 3_2.c 学生成绩管理系统主界面设计 ******************************/ #include"stdio.h" #include"stdlib.h" /* 使用清屏函数时加此命令行 */ void main() { system("cls"); /* 调用清屏函数。若在 TC 中,应改用 clrscr() */ printf("\n"); printf("\n\t+++++++++++++++++++++++++++++++++++++++++++++++++++\n") ; printf("\n\t+ 学生成绩管理系统 +"); printf("\n\t+ +"); printf("\n\t+ 1 --- 录入学生成绩 +"); printf("\n\t+ 2 --- 修改学生成绩 +"); printf("\n\t+ 3 --- 查询学生成绩 +"); printf("\n\t+ 4 --- 删除学生成绩 +"); printf("\n\t+ 5 --- 排序学生成绩 +"); printf("\n\t+ 6 --- 浏览学生成绩 +"); printf("\n\t+ 0 --- 退出系统 +"); printf("\n\t+ +"); printf("\n\t+++++++++++++++++++++++++++++++++++++++++++++++++++\n") ; } 3、根据商品原价和折扣率,计算商品的实际售价
程序流程图如下 开始 输入 price, discount fee=price*(I-discount/100) 输出实际售价fee 结束 *****字半*半**半孝**容半容***容* 计算商品的实际售价 **孝****半**幸*半***幸*半*孝客*半* no float printf("请输入价格与折扣:") &price, &discount ) t/100); printf("Fee=%.2f\n", fee 测试运行 请输入价格与折扣:10010
程序流程图如下: /**************************** 3_3.c 计算商品的实际售价 ****************************/ void main() { float price, discount, fee; printf("请输入价格与折扣:"); scanf("%f%f", &price, &discount); fee=price*(1-discount/100); printf("Fee=%.2f\n", fee); } 测试运行: 请输入价格与折扣:100 10 Fee=90.00 fee=price*(1-discount/100) 输出实际售价 fee 输入 price,discount 结束 开始
4、根据三角形的三条边,计算三角形的面积。 程序流程图(略) **********半客*半***半**半半* 34.c 计算三角形的面积 #include"math. h" #include"std io. h' void maino float a, b, c, s, area printf("请输入三角形的三条边a,b,c:") scanf(%f%f%f", &a, &b, &c); S-(a+b+c) area=sqrt(s*(s-a)*(s-b)*(s-c) printf("area=%f\n", area); 测试运行: 请输入三角形的三条边a,b,c:345 area=6.000000 七、实验出现的问题、实验结果分析 1、C语言变量先定义后使用,变量名大小写敏感。 2、 scanf输入数据,变量应当使用取地址运算。 3、 scanf函数格式字符串中的普通字符要原样输入,否则会发生错误
4、根据三角形的三条边,计算三角形的面积。 程序流程图(略) /**************************** 3_4.c 计算三角形的面积 ***************************/ #include "math.h" #include "stdio.h" void main() { float a, b, c, s, area; printf("请输入三角形的三条边 a, b, c:"); scanf("%f%f%f", &a, &b, &c); s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c)); printf("area=%f\n", area); } 测试运行: 请输入三角形的三条边 a, b, c:3 4 5 area=6.000000 七、实验出现的问题、实验结果分析 1、C 语言变量先定义后使用,变量名大小写敏感。 2、scanf 输入数据,变量应当使用取地址运算。 3、scanf 函数格式字符串中的普通字符要原样输入,否则会发生错误