C语言实验八样例
c语言实验报告册
c语言实验报告册C语言实验报告册。
实验一,C语言基本程序设计。
1. 实验目的。
通过本实验,掌握C语言的基本程序设计方法,包括变量的定义和使用、表达式的计算、控制结构的使用等。
2. 实验内容。
(1)编写一个C程序,实现输入两个整数,然后输出它们的和、差、积和商。
(2)编写一个C程序,实现输入一个实数,计算并输出它的绝对值。
3. 实验步骤。
(1)定义两个整型变量a和b,用来存储输入的整数。
(2)使用printf函数提示用户输入两个整数,并使用scanf函数将用户输入的值分别赋给变量a和b。
(3)定义四个整型变量sum、diff、product和quotient,分别用来存储a和b的和、差、积和商。
(4)分别计算a和b的和、差、积和商,并将结果分别赋给sum、diff、product和quotient。
(5)使用printf函数输出sum、diff、product和quotient的值。
4. 实验结果。
输入:a = 5。
b = 3。
输出:sum = 8。
diff = 2。
product = 15。
quotient = 1。
5. 实验结论。
通过本实验,我掌握了C语言的基本程序设计方法,包括变量的定义和使用、表达式的计算、控制结构的使用等。
在实际编程中,我需要注意变量的类型和范围,以避免数据溢出和精度丢失的问题。
实验二,C语言函数的使用。
1. 实验目的。
通过本实验,学习C语言函数的定义和调用,掌握函数参数的传递和返回值的使用。
2. 实验内容。
(1)编写一个C程序,实现输入两个整数,计算它们的最大公约数和最小公倍数。
(2)编写一个C程序,实现输入一个整数n,计算并输出1到n的阶乘之和。
3. 实验步骤。
(1)定义一个函数gcd,用来计算两个整数的最大公约数。
(2)定义一个函数lcm,用来计算两个整数的最小公倍数。
(3)定义一个函数factorial,用来计算一个整数的阶乘。
(4)在主函数中,调用gcd和lcm函数计算最大公约数和最小公倍数;调用factorial函数计算阶乘之和。
C语言实验
提交作业要求1.建立一个学号+姓名文件夹(如:20111234张志),建立一个实验报告文件(实验报告.txt或实验报告.doc均可),将实验步骤和程序运行结果拷贝到.txt文件或.doc文档中(可用Alt+PrtSc组合键抓屏),把每次的实验报告(.txt或.doc)和源程序(.C文件)放在学号+姓名文件夹中,上传到教师机“03/09教学班”下面对应的班级文件夹中,下机前把文件夹删除。
2.课外编程题提交到教师机“程序设计”文件夹中。
上机注意事项●运行程序时,应在英文状态下输入数据。
●上一个程序运行结束后, 要关闭工作区或VC窗口, 重新建立一个文件,输入下一个程序。
●编译时死机,将原程序窗口最小化,将程序拷贝到重新打开的VC文件中,可激活系统。
第一次实验(基本程序设计)★预习: 上机指导P4~10详细阅读上机指导P6~7, 掌握vc++6.0的使用方法。
★实验内容:(1)实验1(P5)①(p6)2. 调试修改(改错:求由键盘输入的任意两个整数的乘积。
)#include<stdio.h>void main(void){ int c;scanf(“%d,%d”,&x,&y);/**********FOUND**********/c=a*b/**********FOUND**********/printf(“The product is:%d\n”,c)}②(p7)3.完善程序(程序填空:求圆面积)#define PI 3.14159#include<stdio.h>void main(void){ float r ;double area;scanf(“%f”, &r);/**********SPACE**********/area=【?】;printf(“area=%f\n”, area);}(2)学习编程:①编写一个两个整数相乘的C程序,要求输出格式为: c=3*4=12②从键盘输入三个整数,计算并输出三个整数的平均值。
C语言实验报告范例
C语言实验报告范例
实验题目:C语言实现银行家算法
实验目的:掌握C语言实现银行家算法的基本思想,并能熟练应用矩阵处理实现银行
家算法的功能。
实验内容:
1. 利用C语言实现银行家算法的核心思想,利用矩阵处理实现其核心功能模块。
2. 银行家算法是一种负责实现“当前分配”的基于矩阵的编程模型。
该算法可以通
过利用安全状态来识别一次可行解,从而解决请求和分配资源的冲突问题。
3. 根据上述信息,我们设计了C语言实现银行家算法的基本框架,包括初始化步骤、可行性检查步骤、回滚步骤以及主步骤。
4. 在初始化步骤中,我们采用矩阵存储技术,将银行家算法中的各个参数保存起来,具体过程中采用数组存储。
5. 在可行性检查步骤中,我们判断当前系统状态是否处于安全状态,如果处于安全
状态,则继续完成下一步余额检查;否则,处理发生冲突时,回滚处理。
6. 在主步骤中,我们过程中判断若系统处于可行状态,则继续分配资源;否则,则
执行回滚操作,将系统恢复到上一状态。
实验结果和结论:
通过实验,我们学会了如何使用C语言来实现银行家算法,进而通过实现矩阵处理,
实现了该算法的核心功能模块。
此外,我们还学习了安全状态机制,进行系统可行性检查,和完成系统的分配工作,以达到有效地实现银行家算法的目的。
本次实验结论如下:
1. 通过C语言实现银行家算法中的核心功能模块,使系统的可行性检查得以有效实现;
2. 利用矩阵存储来实现系统的可行性检查,从而有效地节省时间和提高资源分配的
效率;
3. 通过回滚处理,有效地解决资源请求和分配冲突问题,使系统能够有效地实现安
全状态。
C语言典型实验(学会所有你就学会了C语言)
Experiment 1void lzc_cpp1_01:程序功能:在屏幕上输出两行文字。
void lzc_cpp1_02:求阶乘问题。
程序功能:从键盘上输入一个正整数n,输出n!。
void lzc_cpp1_03:程序功能:计算并输出两个整数之和。
void lzc_cpp1_04:编写程序,在屏幕上显示一个短句“Programming in C is fun! Experiment 2lzc_cpp2_01:求两个数的和与差。
从键盘上输入整数a和b值,计算并输出a、b的和与差。
void lzc_cpp2_02:求平方根。
从键盘上输入1个实数x,计算并输出其平方根(保留1 位小数)。
lzc_cpp2_03:华氏温度转换为摄氏温度。
从键盘上输入华氏温度f,计算并输出相应的摄氏温度c(保留2 位小数)。
计算公式:c = 5/9(f-32)。
在两条星线之间填入相应的代码,使程序完成该功能。
lzc_cpp2_04:计算旅途时间。
从键盘上输入2个整数time1和time2,表示火车的出发时间和到达时间,计算并输出旅途时间。
有效的时间范围是0000到2359,不需要考虑出发时间晚于到达时间的情况。
l zc_cpp2_05:数字加密。
从键盘上输入1个四位数,将其加密后输出。
方法是将该数每一位上的数字加9,然后除以10 取余,做为该位上的新数字,最后将第1 位和第3 位上的数字互换,第2 位和第4 位上的数字互换,组成加密后的新数。
lzc_cpp2_06:大写字母转换成小写字母。
从键盘上输入一个大写英文字母,输出相应的小写字母。
Experiment 3lzc_cpp3_01:显示两级成绩。
输入一个学生的数学成绩,如果它低于60,输出“Fail”,否则,输出“Pass”。
lzc_cpp3_02:找最小值。
输入四个整数,输出其中的最小值。
lzc_cpp3_03:求三角形的面积和周长。
输入三角形的三条边a, b, c,如果能构成一个三角形,输出面积area 和周长perimeter(保留2 位小数);否则,输出“These sides do not correspond to a valid triangle”。
C语言程序设计实验及代码
C语言程序设计实验及代码随着计算机技术的快速发展,C语言作为一种高效且强大的编程语言,被广泛应用于软件开发、嵌入式系统以及科学计算等领域。
在学习C语言编程的过程中,进行实验并编写相应的代码是非常重要的一部分,可以帮助我们巩固所学的知识并提高编程能力。
本文将介绍几个常见的C语言程序设计实验,并给出相应的代码示例。
一、实验一:Hello, World!实验目的:熟悉C语言编程环境,掌握简单的编译和运行操作。
实验内容:编写一个简单的程序,在屏幕上输出"Hello, World!"。
代码示例:```c#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}```二、实验二:求两个整数的和与差实验目的:学习C语言中的基本数据类型和算术运算符的使用。
实验内容:编写一个程序,输入两个整数并计算它们的和与差,然后输出结果。
代码示例:```c#include <stdio.h>int main() {int num1, num2, sum, diff;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;diff = num1 - num2;printf("两数之和:%d\n", sum);printf("两数之差:%d\n", diff);return 0;}```三、实验三:判断一个数是奇数还是偶数实验目的:学习C语言中的分支语句的使用。
实验内容:编写一个程序,输入一个整数,并判断它是奇数还是偶数,然后输出结果。
代码示例:```c#include <stdio.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (num % 2 == 0) {printf("%d是偶数。
C语言实验指导书(实验五、六、七、八)
实验5 循环结构程序设计(1)一、实验目的1、熟悉for、while、do…while三种循环语句的结构和执行流程,体会三种循环语句的异同,能够根据实际问题选用适合的循环语句。
二、实验内容1、程序调试改错:(请纠正程序中存在的错误,使程序实现其功能)⑴下面程序的功能是:输入10名学生某门课程的成绩,计算平均分,并求出其中的最高分和最低分。
#include<stdio.h>main() //1{ int i; //2float score,max,min,sum,ave; //3printf("Please enter score of student:\n"); //4scanf("%f",&score); //5max=min=sum=0; //6for(i=1;i<=10;i++) //7{ scanf("%f",&score); //8sum+=score; //9if(max>score) //10max=score; //11else if(min<score) //12min=score; //13}ave=sum/10; //14printf("A verage=%6.2f\nMax=%6.2f\nMin=%6.2f\n",ave,max,min); //15}2、程序填空(在程序的空白处填入正确的语句,使得程序能正常执行并完成规定的功能)⑴下列程序的功能为:用辗转相除法求两个正整数的最大公约数。
“辗转相除法”求两个正整数的最大公约数的算法提示如下:①将两数中大的那个数放在m中,小的放在n中。
②求出m被n除后的余数r。
③若余数为0则执行步骤⑦;否则执行步骤④。
④把除数作为新的被除数;把余数作为新的除数。
⑤求出新的余数r。
⑥重复步骤③到⑤。
⑦输出n,n即为最大公约数。
C语言实验学生版(最新版)
实验一:简单的C程序设计(2学时)一、实验方式:一人一机二、实验目的:1、了解C语言程序的编译环境和编写过程。
2、掌握C语言程序在Visual C++ 6.0环境下的调试过程。
3、初步了解C语言程序的特点。
4、掌握C语言的数据类型。
三、实验内容:1、计算两个数x和y的和。
(教材P5【例1-2】)2、从键盘输入华氏温度h,输出摄氏温度c(摄氏温度=5/9*(华氏温度-32))。
(实验教材P18)3、给定圆环,输入内圆环半径r1、外圆环半径r2,求出圆环的面积。
(实验教材P27)4、从键盘上输入两个整数x、y,实现两个数的交换,并求出最大值、最小值和两个数的平均值。
(实验教材P21)5、输入并运行以下程序,分析运行结果。
(实验教材P27)#include <stdio.h>void main( ){int i,j;i=8; j=10;printf(“%d,%d\n”,++i,++j);i=8; j=10;printf(“%d,%d\n”,i++,j++);i=8; j=10;printf(“%d,%d\n”,++i,i);i=8; j=10;printf(“%d,%d\n”,i++,i);}四、实验程序代码:五、实验运行结果(截图):实验二:顺序结构程序设计(2学时)一、实验方式:一人一机二、实验目的:1、掌握标识符、常量、变量的定义及使用。
2、掌握C语言的常用运算符及表达式。
3、掌握单分支if语句的使用方法。
4、掌握双分支if-else语句的使用方法。
三、实验内容:1、从键盘输入一个3位整数,请输出该数的逆序数。
(实验教材P27)2、输入3个字符型数据,将其转换成相应的整数后,求它们的平均值并输出。
(实验教材P27)3、判断箱子是正方体还是长方体。
(实验教材P33)4、有一函数: x (x<1)y= 2x-1 (1≤x<10)3x-11 (x≥10) 编写程序,输入x值,输出y值。
单片机实验8路抢答器C语言版
单片机综合实验报告题目: 8路抢答器实验班级:姓名:学号:指导老师:时间:一、实验内容:以单片机为核心,设计一个8位竞赛抢答器:同时供8名选手或8个代表队比赛,分别用8个按钮S0~S7表示。
本实验有Protues软件仿真。
分别设置一个抢答控制开关S1和复位开关S2,由主持人控制。
抢答器具有锁存与显示功能。
即选手按按钮抢答时,锁存相应的编号,并且优先抢答选手的编号一直保持显示在显示器上,直到主持人将系统复位为止。
抢答器具有定时抢答功能,且一次抢答的时间由主持人设定为30秒。
当主持人启动“开始”键后,定时器进行减计时,同时绿色LED灯亮。
二、实验电路及功能说明分别设置一个抢答控制开关S1和复位开关S2,由主持人控制。
抢答器具有锁存与显示功能。
即选手按按钮抢答时,锁存相应的编号,并且优先抢答选手的编号一直保持显示在显示器上,直到主持人将系统复位为止。
参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统复位为止。
复位后参赛队员可继续抢答。
如果定时时间已到,无人抢答,本次抢答无效,系统报警红色LED灯亮,并禁止抢答,定时显示器上显示00。
三、实验程序流程图:主程序;非法抢答序;抢答时间调整程序;回答时间调整程序;倒计时程序;正常抢答处理程序;犯规处理程序;显示及发声程序。
主流程图如下图所示子程序四、实验结果分析五、心得体会六、程序清单#include <reg51.h>#define uchar unsigned char#define uint unsigned intsbit wela_a=P3^0;sbit wela1=P3^1;sbit wela2=P3^7;sbit rest=P3^5;sbit host=P3^6;sbit led1=P3^4;//绿灯sbit led2=P3^3;//红灯sbit led3=P3^2;//黄灯sbit key1=P1^0;sbit key2=P1^1;sbit key3=P1^2;sbit key4=P1^3;sbit key5=P1^4;sbit key6=P1^5;sbit key7=P1^6;sbit key8=P1^7;uchar x,q,d,s,ge,t0,t1,start,flag; uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};void init();/*初始函数申明*/void display(uchar s,uchar ge,uchar a); void delay(uint z); void keyscan();void main(){init();display(s,ge,a);while(1){if(host==0) //主持人控制开关{delay(5);if(host==0){flag=1;start=1;delay(5); 延时while(!host); 检测开关}}if(rest==0) //复位{delay(5);if(rest==0){q=30;led2=1;led3=1;x=0;delay(5);start=1;delay(5);while(!rest);}}if(flag==1){if(start==0)//选手按下,倒计10秒开始 {led3=0;wela1=0;wela2=0;delay(1);TR0=0;TR1=1;display(s,ge,a);delay(1);}if(start==1)//主持人按下,倒计时30秒{led1=0;wela1=0;wela2=0;delay(1);TR0=1;TR1=0;display(s,ge,a);delay(1);keyscan();}}}}void init()/*初始化*/{t0=0;t1=0;flag=0;q=30;d=10;wela_a=0;a=0;TMOD=0x11;TH0=(65536-50000)/256;TL0=(65536-50000)%256;TH1=(65536-50000)/256;TL1=(65536-50000)%256;EA=1;ET0=1;ET1=1;TR0=0;TR1=0;}void display(uchar s,uchar ge,uchar a)/*数码管动态扫描*/{wela1=1;P0=table[ge];delay(5);wela2=1;P0=table[s];delay(5);wela_a=0;P2=table[a];delay(5);}void keyscan()/*按键扫描函数*/ {if(key1==0){delay(5);if(key1==0){a=1;P2=table[a];start=0;TR1=1;TR0=0;delay(5);while(!key1);}}if(key2==0){delay(5);if(key2==0){a=2;P2=table[a];start=0;delay(5);while(!key2);}}if(key3==0){delay(5);if(key3==0){a=3;P2=table[a]; start=0;delay(5);while(!key3);}}if(key4==0){delay(5);if(key4==0){a=4;P2=table[a]; start=0;delay(5);while(!key4);}}if(key5==0){delay(5);if(key5==0){a=5;P2=table[a]; start=0;delay(5);while(!key5);}}if(key6==0){delay(5);if(key6==0){a=6;P2=table[a]; start=0;delay(5);while(!key6);}}if(key7==0){delay(5);if(key7==0){a=7;P2=table[a]; start=0;delay(5);while(!key7);}}if(key8==0){delay(5);if(key8==0){a=8;P2=table[a];start=0;delay(5);while(!key8);}}}void delay(uint z)/*延时函数*/{uint i,j;for(i=z;i>0;i--)for(j=110;j>0;j--);}void time0() interrupt 1/*定时器0*/ {TH0=(65536-50000)/256;TL0=(65536-50000)%256;s=q/10;ge=q%10;t0++;if(t0==20){t0=0;q--;s=q/10;ge=q%10;if(q==0){while(1){q=0;a=0;led1=1;led2=0;wela1=0;wela2=0;delay(1);display(s,ge,a);}}}}void time1() interrupt 3/*定时器1*/ {TH1=(65536-50000)/256;TL1=(65536-50000)%256;s=d/10;ge=d%10;t1++;if(t1==20){t1=0;d--;s=d/10;ge=d%10;if(d==0){while(1){d=0;a=0;led1=1;led3=1;led2=0;wela1=0;wela2=0;delay(1);display(s,ge,a);}}}}//最后,给朋友们一点点提示,本程序有一点点小问题,有个中断没关,当主持人复位之后,后面的选手回答问题的时间就没有10秒了(可怜啊)。
C语言实验八样例
《C语言程序设计实验》实验报告实验八结构体编程班级:_07某某专业1班_学号:__**********____姓名:___实验样例_____日期:___2008.6.10_____台州学院数信学院计算机系制作一、实验目的和要求综合使用基本结构、基本算法、函数、指针、结构体、链表等知识设计程序。
二、实验指导1、注意:本次实验为综合性实验,需要综合本课程以前所学内容,完成编制一个小型应用程序。
需要复习课本以前所学内容,浏览上课讲解的相关内容。
2、实验时间安排:准备实验方案,上课时上机编程,课余完成整个设计并完成实验报告。
3、实验具体要求:以一张假想的学生期中成绩表为实验对象,编制一个小型应用程序,可以考虑实现以下功能:(1)成绩修改;(2)成绩查询;(3)成绩统计。
也可以实现其他自定义的功能。
界面采用简易菜单形式,可以分级显示。
实验需要进行以下步骤:需求分析、程序设计、程序调试、程序运行,并对程序运行效果进行分析,提出改进方案。
初步锻炼学生的程序设计能力、程序调试能力、对实验结果进行综合分析的能力。
4、实验成绩评价标准:参见成绩评定表。
四、实验报告内容(参见样本,请另附页)实验报告必须包含以下内容:1、对你设计的程序功能进行的较详细描述。
2、画出程序测试用的学生期中成绩表(包含:表头、若干行包含学生成绩等信息的数据行)。
3、给出程序清单(包含结构体的声明与定义、所有的函数声明、所有的全局变量、所有的函数定义、必要的注释。
注:如果程序过长,可以不用给出所有的函数定义,只给出主要的函数定义)。
4、运行结果(写出运行时的主界面、各模块的实现界面等,不作具体要求,但要求能清晰地体现出程序的功能)。
5、对你的设计作一个评价(可以包含你所花的时间、精力,你遇到的困难及如何解决的,你的设计过程所遇到的其他事情;必须包含你对设计的客观评价,以及提出的改进方案)。
1、程序功能描述:程序名称:高二(3)班期中成绩管理程序本程序对本班的期中成绩进行管理,管理的成绩表包含下列信息:学生学号、姓名、性别、语文成绩、数学成绩、英语成绩、总分,学生人数为5人。
C语言实验样本
C语言实验样本(2003年)实验一:C语言运行环境 (2)实验二:数据类型及顺序结构 (3)实验三:选择结构程序设计 (6)实验四:循环结构程序设计 (8)实验五:数组 (11)实验六:字符数据处理 (12)实验七:函数(1) (15)实验八:函数(2) (16)实验九: 指针(1) (19)实验十: 指针(2) (21)实验十一:文件 (24)实验一:C语言运行环境一、实验目的:1.了解TC环境的组成2.学习TC环境的使用方法3.了解C语言程序从编辑、编译连接到运行并得到运行结果的过程二、实验内容:1.了解TC环境的组成2.进入、退出和定制TC环境3.运行演示程序4.编写程序三、实验用设备仪器及材料:计算机一台四、实验源程序第一个程序,输出字符main(){printf(“This is a Cprogram\n”);printf(“I am a student\n);}编写程序,实现求整数10,20,30的平均值main(){float a=10,b=20,c=35,x;x=(a+b+c)/3;printf("x=%f\n",x);}实验二:数据类型及顺序结构一、实验目的:(1)进一步熟悉TC环境的使用方法。
(2)学习C语言赋值语句和基本输入输出函数的使用。
(3)编写顺序结构程序并运行。
(4)了解数据类型在程序设计语言中的意义。
二、实验内容:(1)编程序,输出如下图形。
* ** * * ** * * * * ** * * * * * * *ain(){printf("* *\n");printf("* * * *\n");printf("* * * * * *\n");printf("* * * * * * * *\n");}(2)编写程序,实现下面的输出格式和结果:a= 5,b= 7,a-b=-2,a/b= 71%c1=computer,c2=comp ,c3= compA=31.19,y= -31.2,z=31.1900s=3.11900e+002,t= -31.2e+001main(){int a=5,b=7,c,d,g,y;float e,f=31.19,h;y="COMPUTER";c=a-b;e=(1.0*a/b);d=1000000*e/10000;g=(f*100+5)/10;h=g/10.0;printf("a=%3d,b=%3d,a-b=%d,a/b=%3d\%\n",a,b,c,d);printf("c1=%s,c2=%-6.4s,c3=%6.4s\n",y,y,y);printf("x=%5.2f,y= -%4.1f,z=%7.4f\n",f,h,f);printf("s=%e,t= -%5.3e\n",10*f,h);}(3) 编写程序,输入变量的x值,分别输出变量y的值,并分析输出结果。
C语言程序设计实验8
C语言程序设计实验8C语言程序设计实验8实验目的:通过本次实验,学生可以了解到C语言程序的调试和优化方法,提高程序的性能和效率。
实验要求:1.设计一个C语言程序,包含一定的代码量,至少实现一种常用算法。
2.在代码中添加一些错误,如逻辑错误、语法错误等。
3.使用调试工具(如GDB等)调试程序,找出并修复错误。
4.对程序进行优化,提高其性能。
实验步骤:1.设计C语言程序,可以选择一种常用算法,如冒泡排序、快速排序、查找算法等。
2.在程序中故意引入一些错误,如逻辑错误、语法错误等,使程序不能正常运行。
3.使用调试工具(如GDB)调试程序,找出错误的地方,并修复错误。
4.分析程序的性能瓶颈,进行性能优化。
可以采用以下方法:a.减少不必要的计算量。
例如,可以将一些重复计算的值保存到变量中。
b.使用更快速的算法。
例如,可以使用快速排序代替冒泡排序,以提高排序的速度。
c.采用更有效的数据结构。
例如,可以使用哈希表代替线性查找,以提高查找的速度。
d.使用并行计算。
例如,可以使用多线程或并行计算框架,以加快程序的执行速度。
e.其他优化方法。
根据实际情况,可以采用其他更有效的优化方法。
5.优化程序后,运行程序,观察其性能改善情况。
6.根据实验结果,总结调试和优化的经验和方法,撰写实验报告。
实验内容:1.设计一个C语言程序,包含一定的代码量,至少实现一种常用算法,如排序、查找等。
2.在程序中故意引入一些错误,如逻辑错误、语法错误等,使程序不能正常运行。
3.使用调试工具(如GDB)调试程序,找出错误的地方,并修复错误。
4.对程序进行性能优化,提高其性能。
5.运行优化后的程序,观察其性能改善情况。
6.总结调试和优化的经验和方法,撰写实验报告。
注意事项:1.实验报告中应包含实验设计、实验步骤、实验结果(包括优化前后的性能对比)、调试和优化的经验和方法等内容。
2.实验报告应采用适当的格式和语言。
3.实验报告应具备一定的技术含量,避免简单复制粘贴实验内容。
C语言程序设计实验报告(八)
例如:输入:123输出:1+2+3=6→June
输入:139输出:1+3+9=13→***
用指针数组记录各月份英文单词的首地址。
3.任意输入5个字符串,调用函数按从大到小顺序对字符串进行排序,在主函数中输出排序结果。
三、实验内容及要求:
内容:
1.调试下列程序,使之具有如下功能:任意输入2个数,调用两个函数分别求:
(1) 2个数的和,
(2) 2个数交换值。
要求用函数指针调用这两个函数,结果在主函数中输出。
main()
{
int a,b,c,(*p)();
scanf("%d,%d",&a,&b);
p=sum;
*p(a,b,c);
C语言程序设计实验报告
姓名
学号
系别
数师
周锦程
指导教师
周锦程
实验日期
专业
信息与计算科学
课程名称
C语言程序设计
同组实验者
一、实验名称:
实验八、指针应用(二)
二、实验目的:
1.掌握C语言中函数指针的使用方法。
2.掌握C语言中指针数组的使用方法。
3.熟悉VC集成环境的调试指针程序的方法。
p=swap;
*p(a,b);
printf("sum=%d\n",c);
printf("a=%d,b=%d\n",a,b);
}
sum(int a,int b,int c)
{
c=a+b;
C语言实验报告(八)
C语言实验报告(八)
1. 实验目的
本次实验的目的是进一步巩固和提高学生对C语言的理解和应用能力。
通过完成具体的实验任务,学生能够熟悉C语言的输入输出、条件结构、循环结构等基本知识,同时掌握C 语言程序设计的方法和技巧。
2. 实验环境
•操作系统:Windows 10
•开发工具:Dev-C++、Visual Studio Code
3. 实验要求与实现
3.1 实验要求
本次实验分为两个部分,每个部分都有具体的要求和实现目标。
3.1.1 部分一
编写一个C程序,实现以下功能:
•从键盘输入两个整数A和B;
•根据输入的两个整数,计算并输出以下结果:–A与B的和;
–A与B的差;
–A与B的积;
–A与B的商。
3.1.2 部分二
编写一个C程序,实现以下功能:
•从键盘输入一个整数N;
•根据输入的整数N,计算并输出以下结果:–1到N之间的所有奇数的和;
–1到N之间的所有偶数的和。
3.2 实现过程
3.2.1 部分一
首先,我们需要使用scanf函数从键盘输入两个整数A和B。
然后,我们可以使用四则运算符进行计算,并使用
printf函数输出计算结果。
以下是代码实现的示例:
```c #include <stdio.h>
int main() { int A, B; printf(。
C语言实验八
C语言程序设计实验报告实验八文件程序设计班级学号姓名一、实验目的(1)掌握文件的基本概念,包括文本文件和二进制文件、文件类型指针和文件结束标志等。
(2)掌握文件的基本操作方法及文件操作库函数的使用,包括文本文件和二进制文件的打开与关闭操作、读写操作、文件结束测试函数的使用等。
二、实验内容及步骤1、编写一个程序,将5个字符串写入文件中。
程序代码:2、根据程序提示从键盘输入一个已存在的文本文件的完整文件名,再输入一个新文本文件的完整文件名,然后将已存在的文本文件中的内容全部复制到新文本文件中。
程序代码://复制文件#include "stdio.h"#include "stdlib.h"#include "string.h"int copyfile(const char* srcname,const char* dstname);void main(){c har srcfilename[50];c har desfilename[50];i nt k;p rintf("The source filename:");s canf("%s",srcfilename);p rintf("The destination filename:");s canf("%s",desfilename);k=copyfile(srcfilename,desfilename);i f(k){printf("\n\nCopy succeed!");}i f(k==0){printf("\n\nCopy failed!");}s ystem("pause");}int copyfile(const char *srcname,const char *dstname){F ILE *fp1=NULL;F ILE *fp2=NULL;i nt rval=1;c har ch;i f((fp1=fopen(srcname,"rb"))==NULL){rval=0;exit(0);}i f((fp2=fopen(dstname,"wb+"))==NULL){rval=0;exit(0);}/*复制文件*/w hile((ch=fgetc(fp1))!=EOF){if(fputc(ch,fp2)==EOF){printf("Error!");exit(0);}}f flush(fp2);//存盘f close(fp1);f close(fp2);r eturn rval;}三、问题讨论如果要复制的文件内容不是用函数fputc() 写入的字符,而是用函数fprintf()写入的格式化数据文件,那么如何正确读出该文件中的格式化数据?还能用本实验中的程序实现文件的拷贝吗?答:用fscanf函数读入数据到指针数组,然后用printf函数输出到屏幕!本人测试可以用上一个复制函数实现对printf()写入的格式化数据文件的拷贝!四、实验心得本次实验特别有意思,已经接近了应用层!让我对C语言的高级应用更感兴趣了!。
C语言实验——精选推荐
实验一基本输入输出实验一、目的要求(1)熟悉所用C编译系统的上机操作方法和上机步骤。
(2)熟练掌握编写C程序的方法。
(3)掌握数据的输入输出方法,熟练使用各种输入输出格式控制符。
二、实验内容(1)用下面的scanf函数输入数据,使a=10,b=20,c1=…A‟,c2=…a‟,x=1.5,y=-3.75,z=67.8。
请列出从键盘输入数据的格式。
scanf(“%5d%5d%c%c%f%f%*f,%f”,&a,&b,&c1,&c2,&x,&y,&z);(2)已知直角三角形的两个直角边长分别为3、4,求此直角三角形的斜边长c及面积S。
(3)从键盘上面输入一个小写字母,编程输出其对应的大写字母以及它们的十进制ASCII 码。
(4)试编写程序计算梯形的面积,数据由键盘输入。
(5)编写程序计算复数的加法。
实验二选择结构程序设计实验一、目的要求(1)掌握if语句和switch语句选择结构的编程。
(2)了解C语言中表示逻辑量的方法(0代表“假”,1代表“真”)。
(3)进一步熟悉所用C语言的编译系统。
二、实验内容(1)给出一个百分制成绩,要求输出成绩等级…A‟、…B‟、…C‟、…D‟、…E‟。
90分以上为…A‟,81~89分为…B‟,70~79分为…C‟,60~69分为…D‟,60分以下为…E‟。
(2)给出一个不多于3位的正整数,要求:①求出它是几位数;②分别打印出每一位数;③按逆序打印出各位数字。
(3)从键盘输入4个整数,按大小顺序分别输出。
(4)货物征税问题,价格在1万元以上的征5%,5000元到1万元的征3%,1000元到5000元的征2%,1000元以下的免税,读入货物价格,计算并输出税金。
(5)输入月份,打印2004年该月有几天。
(6)有一函数:x (x<1)y=2x-1 (1<=x<10)3x-11 (x>=10)编写一个程序,输入x,计算后输出y。
C语言实验报告范例
【实验4.1】
a.写出详细的分析过程
b.写出程序代码
c.写出验证程序能否正确运行的操作步骤:如输入数据***,输出结果为***
【实验4.2】
a.写出程序代码
b.指出错误的地方并进行改正。
c.写出验证程序能否正确运行的操作步骤:如输入数据***,输出结果为***
d.说明该程序解决的是什么问题。
注:此题中用到了while,是第5章的内容,自己先看书预习其功能
四、实验结果(主要写遇到的问题及解决方法)
自己总结
五、心得体会(实验收获)
自己总结
C实验报告范例
实验名称
实验1C程序的运行环境
实验目的
实验书上实验目的
实验设备
计算机(电脑)
实验日期
做实验1的日期,不是写实验报告的日期
一、实验预习
1.写出C程序的上机调试步骤
二题目
【实验4.1】编写一个C程序*******
【实验4.2】下面程序有错误*************
c++实验八报告
华南农业大学信息(软件)学院综合性、设计性实验成绩单开设时间:2013~2014年第二学期1 实验内容及目的2 实验步骤(1)按照要求建立相关的函数Stack();bool empty();T peek();void push(T value);T pop();int getSize();void printStack();bool contains(T element);(2)建立两个测试的数据栈,一个是字母,一个是数字 Stack<string> stringStack;stringStack.push("zhongguo");stringStack.push("xianggang");stringStack.push("aomen");for(int i=0;i<10;i++){intStack.push(i);}3 源代码Main.cpp#include <iostream>#include <string>#include "Stack.h"using namespace std;int main(){Stack<int> intStack;Stack<string> stringStack;stringStack.push("zhongguo");stringStack.push("xianggang");stringStack.push("aomen");cout<<"is contain zhongguo? "<<stringStack.contains("zhongguo")<<endl;cout<<"is contain taiwan? "<<stringStack.contains("taiwan")<<endl;cout<<"is contain zhuhai? "<<stringStack.contains("zhuhai")<<endl;stringStack.printStack();cout<<endl;for(int i=0;i<10;i++){intStack.push(i);}cout<<"is contain 2? "<<intStack.contains(5)<<endl;cout<<"is contain 7? "<<intStack.contains(6)<<endl;cout<<"is contain 15? "<<intStack.contains(10)<<endl;intStack.printStack();return 0;}Stack.h#ifndef STACK_H#define STACK_Htemplate<typename T>class Stack{public:Stack();bool empty();T peek();void push(T value);T pop();int getSize();void printStack();bool contains(T element);private:T elements[100];int size;};template<typename T>Stack<T>::Stack(){size=0;}template<typename T>bool Stack<T>::empty(){return (size==0);}template<typename T>T Stack<T>::peek(){return elements[size-1]; }template<typename T>void Stack<T>::push(T value) {elements[size++]=value; }template<typename T>T Stack<T>::pop(){return elements[--size]; }template<typename T>int Stack<T>::getSize(){return size;}template<typename T>void Stack<T>::printStack() {while(!empty()){cout<<pop()<<" ";}cout<<endl;}template<typename T>bool Stack<T>::contains(T element){for(int i=0;i<size;i++){if(element==elements[i]){return true;}}return false;}#endif4 遇到的问题与分析很快就完成了,感觉就跟玩一样,所以也没有什么问题。
C语言实验报告八
实验八:函数程序设计(一)(2学时)一、实验方式:一人一机二、实验目的:1、掌握函数的定义方法。
2、掌握函数的调用方法及参数之间传递数据的规则。
3、掌握函数的声明方法。
三、实验内容:说明:前四题为必做题目,后两题为选做题目。
1、调用函数,求3个整数中的最大值。
(教材P129【例8-2】)2、从键盘输入三角形的3条边,利用海伦公式编写三角形面积函数,main函数中调用三角形面积函数并输出结果。
(参考教材P58【例4-12】)3、编写一个函数,当输入整数n后,输出高度为n的等边三角形。
当n=4时的等边三角形如下:**************** (教材P150)4、编写函数,其功能是判定整数m是否为质数,并main函数调用此函数。
(参考教材P91【例6-12】)四、实验答案:(代码+运行结果截屏或者代码)1、实验代码(1)#include "stdio.h"void main(){int max(int a,int b);int x,y,z,m;printf("Please enter three numbers: ");scanf("%d%d%d",&x,&y,&z);m=max((x,y),z);printf("The max is %d.\n",m);}int max(int a,int b){int c;if(a>b) c=a;else c=b;return (c);}(2)#include "stdio.h"#include "math.h"float triangle(float a, float b,float c){float s;s=(a+b+c)*0.5;return sqrt(s*(s-a)*(s-b)*(s-c));}void main(){float a,b,c;printf("please enter three numbers: ");scanf("%f%f%f",&a,&b,&c);if(!(a>0&&b>0&&c>0&&a+b>c&&a+c>b&&b+c>a)) printf("Error!\n");elseprintf("area=%f\n",triangle(a,b,c)); }(3)#include "stdio.h"void main(){void triangle(int n);int n;printf("Please enter a number: ");scanf("%d",&n);printf("\n");triangle(n);}void triangle(int n){int i,j;for(i=0;i<n;i++){for(j=0;j<=n-i;j++) printf(" ");for(j=0;j<=2*i;j++) printf("*");putchar('\n');}}(4)#include "stdio.h"int check(int m){ int i;for(i=2;i<m;i++)if(m%i==0) return 0;else return 1;}void main(){ int m;printf("请输入一个数: ");scanf("%d",&m);if(check(m))printf("恭喜%d是质数\n",m);else printf("%d不是质数\n",m);}2、实验结果(1)(2)(3)(4)3、实验分析。
C语言程序设计基础实验报告8
实验8 指针一、实验目的1、通过实验进一步掌握指针的概念,会定义和使用指针变量;2、能正确使用数组的指针和指向数组的指针变量;3、能正确使用字符串的指针和指向字符串的指针变量;二、实验内容和步骤1、改错(1)指出下面程序错误的原因.main( ){ int x=10,y=5,*px,*py;px=py;px=&x;py=&y;printf("*px=%d,*py=%d,*px,*py);}#include<stdio.h>void main(){ int x=10,y=5,*px,*py;px=&x;py=&y;printf("px=%d,py=%d",*px,*py);}(2)下面的程序试图有如下运行结果:which style you want to :Capital ( c ) or uncapital ( a ):c ↙COMPUTERWhich sytle you want to :Capital ( c ) or uncapital ( a ) : u↙computer请调试下面的程序,使其有如上执行结果.#includemain (){ char s*;char c;printf("which style you want to :ln");printf("capital ( c ) or uncapital(a):");c=getchar();……if(c='c')strcpy(s,"COMPUTER");else strcpy(s,"computer");put(s);}#include<stdio.h>#include<string.h>#include<stdlib.h>void main(){ char *s;char c;printf("which style you want to :\n");printf("capital(c) or uncapital(a):");c=getchar();s=calloc(20, sizeof(char)); //分配存储空间if(c=='c')strcpy(s,"COMPUTER");elsestrcpy(s,"computer");puts(s);}(3)下面的程序能获得上述运行结果吗main(){char *S="COMPUTER";char c;printf("which style you want to \n"); printf("capital (c) or uncapital(u);"); c=getchar();if(c='c')put(s);else {s="computer";puts(s);}} #include<stdio.h>void main(){ char *s="COMPUTER";char c;printf("which style you want to:\n");printf("capital(c) or uncapital(u);");c=getchar();if(c=='c')puts(s);else{ s="computer";puts(s);}}(4)设计一个C程序,用以测试下列各表达式的运算.(1) y=*px++(2) y=*++py(3) y=(*py)++(4) y=--*ppx++(5)想使指针变量pt1指向a 和b 中的大者,pt2指向小者,以下程序能否实现此目的swap(int *p1,int *p2) {int *p;p=p1;p1=p2;p2=p; }main(){int a,b; scanf("%d,%d",&a,&b);pt1=&a;pt2=&b;if(a<b)swap(pt1.pt2);printf("%d,%d\n",*pt1,*pt2); }#include<stdio.h>void swap(int *p1,int *p2) { int p;p=*p1;*p1=*p2;*p2=p; }void main(){ int a,b,*pt1,*pt2;scanf("%d,%d",&a,&b);pt1=&a; pt2=&b;if(a<b)swap(&pt1,&pt2);printf("%d,%d\n",*pt1,*pt2); }2、程序填空:(1)一维数组和指针。
C语言算法实验8
实验内容:1、输入一个小写字母,将其转换成大写字母并输出。
2、将华摄氏度转换为对应的摄氏温度并输出。
3、实验步骤
1、在Code::blocks创建一个project
2、按题目要求编写程序
3、编译、执行
4、调试
5、运行成功
4、程序及运行结果(或实验数据记录及分析)
江西师范大学计算机信息工程学院学生实验报告
课程名称
高级语言程序设计
实验室名称
X4313
实验名称
输入一个小写字母,将其转换成大写字母并输出。
指导教师
成绩
1、实验目的
1、了解c语句的基本分类
2、熟练掌握c程序字符输入/输出函数的使用方法
3、了解算法的概念及其特点,掌握算法的描述方法
2、实验原理和内容
实验原理:1、Code::blocks编译环境
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《C语言程序设计实验》实验报告实验八结构体编程班级:_07某某专业1班_学号:__1234567890____姓名:___实验样例_____日期:___2008.6.10_____台州学院数信学院计算机系制作一、实验目的和要求综合使用基本结构、基本算法、函数、指针、结构体、链表等知识设计程序。
二、实验指导1、注意:本次实验为综合性实验,需要综合本课程以前所学内容,完成编制一个小型应用程序。
需要复习课本以前所学内容,浏览上课讲解的相关内容。
2、实验时间安排:准备实验方案,上课时上机编程,课余完成整个设计并完成实验报告。
3、实验具体要求:以一张假想的学生期中成绩表为实验对象,编制一个小型应用程序,可以考虑实现以下功能:(1)成绩修改;(2)成绩查询;(3)成绩统计。
也可以实现其他自定义的功能。
界面采用简易菜单形式,可以分级显示。
实验需要进行以下步骤:需求分析、程序设计、程序调试、程序运行,并对程序运行效果进行分析,提出改进方案。
初步锻炼学生的程序设计能力、程序调试能力、对实验结果进行综合分析的能力。
4、实验成绩评价标准:参见成绩评定表。
三、成绩评定表(教师填写)四、实验报告内容(参见样本,请另附页)实验报告必须包含以下内容:1、对你设计的程序功能进行的较详细描述。
2、画出程序测试用的学生期中成绩表(包含:表头、若干行包含学生成绩等信息的数据行)。
3、给出程序清单(包含结构体的声明与定义、所有的函数声明、所有的全局变量、所有的函数定义、必要的注释。
注:如果程序过长,可以不用给出所有的函数定义,只给出主要的函数定义)。
4、运行结果(写出运行时的主界面、各模块的实现界面等,不作具体要求,但要求能清晰地体现出程序的功能)。
5、对你的设计作一个评价(可以包含你所花的时间、精力,你遇到的困难及如何解决的,你的设计过程所遇到的其他事情;必须包含你对设计的客观评价,以及提出的改进方案)。
1、程序功能描述:程序名称:高二(3)班期中成绩管理程序本程序对本班的期中成绩进行管理,管理的成绩表包含下列信息:学生学号、姓名、性别、语文成绩、数学成绩、英语成绩、总分,学生人数为5人。
功能包含:(1)成绩修改:根据学号修改成绩;(2)成绩查询:可以根据学号查询一个学生的成绩,也可显示所有学生的成绩;(3)成绩统计:可以统计全班人数,每门课的平均分。
程序采用菜单管理,操作方便,适合本班班主任在期中考试以后使用。
2、成绩表样表:3、程序清单:#include <stdio.h>struct student /*期中成绩表的结构声明*/{int num;char name[20];char sex;float YuWen;float ShuXue;float YingYu;float totle;};/*定义5个学生的信息:*/#define STU_NUMBER 5 /*宏定义学生数为5*/struct student Stu[STU_NUMBER]={{1001,"张三",'M',78,85,50,0},{1002,"李四",'M',89,79,69,0},{1003,"王五",'F',85,76,87,0},{1004,"钱六",'M',64,76,70,0},{1005,"赵七",'F',92,93,94,0} };int SelectMainMenu(); /*显示并选择主菜单。
返回:被选择的菜单项*//*所有的函数声明:*/void Modify(); /*成绩修改模块*/void Show(); /*成绩查询模块*/void Stat(); /*成绩统计模块*/void StatAve(float *AveYuWen,float *AveShuXue,float *AveYingYu);/*统计平均分*/ int FindStudent(int num); /*根据学号查找某一学生*/void SetAllTotle(); /*计算所有学生总分*/void SetTotle(int No); /*计算第No个学生总分*/void ShowAllStudent(); /*显示所有成绩*/void ShowTitle(); /*显示表头信息*/void ShowStudent(int No); /*显示第No个的学生信息*/void main(){int isend=0; /*程序结束标志量,0表示不结束,1表示结束*/SetAllTotle(); /*计算所有学生总分*/while(1){switch(SelectMainMenu()) /*显示并选择主菜单*/{case 1: /*成绩修改*/Modify(); /*调用成绩修改函数*/break;case 2: /*成绩查询*/Show(); /*调用成绩查询函数*/break;case 3: /*成绩统计*/Stat(); /*调用成绩统计函数*/break;case 4: /*退出系统*/printf("\n谢谢您的使用,再见!\n\n");isend = 1; /*设置程序结束标志*/break;}if(isend) break; /*程序结束*/}}int SelectMainMenu() /*显示并选择主菜单。
返回:被选择的菜单项*/ {int menu_no=0;do /*显示并选择菜单*/{printf("\n===============================\n");printf("《高二(3)班期中成绩管理程序》\n");printf(" 作者:应老师\n");printf("===============================\n");printf(" 主菜单:\n");printf(" 1 –成绩修改\n");printf(" 2 –成绩查询\n");printf(" 3 –成绩统计\n");printf(" 4 –退出系统\n");printf(" 请选择(1-4):");scanf("%d",&menu_no);}while(menu_no<1 && menu_no>4); /*直到选择出正确的序号*/return menu_no;}void Modify() /*成绩修改模块*/{int n,i;while(1){printf("\n====成绩修改====\n");printf("请输入学号(输入0退出成绩修改):");scanf("%d",&n);if(n==0)break; /*退出成绩修改模块*/if((i=FindStudent(n))>=0) /*找到学号为n的学生*/{ShowTitle(); /*显示表头信息*/ShowStudent(i); /*显示该学生信息*/printf("请输入成绩(语文,数学,英语):");scanf("%f,%f,%f", &Stu[i].YuWen, &Stu[i].ShuXue, &Stu[i].YingYu);SetTotle(i); /*计算该学生总分*/printf("----修改成功----\n");}else printf("----找不到该学号----\n");}}void Show() /*成绩查询模块*/{int n,i;while(1){printf("\n====成绩查询====\n");printf("请输入学号(输入0退出成绩查询,输入1查询全部):");scanf("%d",&n);if(n==0) break; /*退出成绩查询模块*/if(n==1) ShowAllStudent(); /*显示所有成绩*/else if((i=FindStudent(n))>=0) /*找到学号为n的学生*/{ShowTitle(); /*显示表头信息*/ShowStudent(i); /*显示该学生信息*/}else printf("----找不到该学号----\n");}}void Stat() /*成绩统计模块*/{float AveYuWen, AveShuXue, AveYingYu;StatAve(&AveYuWen, &AveShuXue, &AveYingYu); /*统计三门课的班级平均分*/ printf("\n====成绩统计====\n");printf("学生人数:%d\n", STU_NUMBER);printf("语文平均分:%6.2f\n", AveYuWen);printf("数学平均分:%6.2f\n", AveShuXue);printf("英语平均分:%6.2f\n", AveYingYu);}/*统计三门课的班级平均分,用指针参数返回*/void StatAve(float *AveYuWen, float *AveShuXue, float *AveYingYu){int i;float sumYuWen=0, sumShuXue=0, sumYingYu=0;for(i=0;i<STU_NUMBER;i++){sumYuWen += Stu[i].YuWen;sumShuXue += Stu[i].ShuXue;sumYingYu += Stu[i].YingYu;}*AveYuWen = sumYuWen / STU_NUMBER;*AveShuXue = sumShuXue / STU_NUMBER;*AveYingYu = sumYingYu / STU_NUMBER;}/*根据学号查找某一学生。
返回:-1没找到,>=0该学生所在数组的下标*/int FindStudent(int num){int i;for(i=0;i<STU_NUMBER;i++)if(Stu[i].num==num)break;if(i<STU_NUMBER) return i; /*找到*/else return -1; /*没找到*/}void SetAllTotle() /*计算所有学生总分*/{int i;for(i=0;i<STU_NUMBER;i++)SetTotle(i);void SetTotle(int No) /*计算第No个学生总分*/{Stu[No].totle = Stu[No].YuWen + Stu[No].ShuXue + Stu[No].YingYu; }void ShowAllStudent() /*显示所有成绩*/{int i;ShowTitle();for(i=0;i<STU_NUMBER;i++)ShowStudent(i);}void ShowTitle() /*显示表头信息*/{printf("\n%10s%10s%10s%10s%10s%10s%10s\n","学号","姓名","性别", "语文","数学","英语","总分");}void ShowStudent(int No) /*显示第No个的学生信息*/{printf("%10d%10s%10c%10g%10g%10g%10g\n",Stu[No].num, Stu[No].name, Stu[No].sex, Stu[No].YuWen,Stu[No].ShuXue, Stu[No].YingYu, Stu[No].totle);}4、运行结果:5、分析评价:我在设计这个程序时采用了模块设计的方法,使用菜单来呈现操作界面,使用函数来实现各个菜单项的功能。