语言程序设计实验报告(韩阳)

合集下载

10-11-2实验报告(答案)

10-11-2实验报告(答案)

.《C程序设计》实验报告学期:2010--2011学年第二学期教师姓名:教研室:实验1 熟悉C语言程序的运行环境,掌握数据描述1.1 实验目的1.了解在开发环境中如何编辑、编译、连接和运行一个C语言程序。

2.通过运行简单的C语言程序,初步了解C语言程序的结构特点。

3.掌握C语言数据类型的概念,学会使用C语言的相关运算符构成表达式。

1.2 实验预习1.熟悉Visual C++的启动和退出及Visual C++中的编辑、编译、连接和运行命令。

2.了解下列命令及函数:include<stdio.h>、main、printf、scanf。

3.熟悉Visual C++环境下每个菜单项的功能及相关命令对应的操作。

4.各种数据类型变量的定义形式及取值范围;熟悉下列标识符的含义。

int、short (int)、long (int)、unsigned (int)、float、double、char、void 5.各类运算符的优先级和结合规则。

6.常量与变量的区别和联系。

运行环境:1.双击桌面Visual C++快捷方式进入Visual C++,或通过执行“开始——>程序——> Microsoft Visual Studio 6.0——>Microsoft Visual C++6.0”或执行文件"C:\Program Files\Microsoft Visual Studio\COMMON\MSDev98\Bin\MSDEV.EXE"。

2.单击“文件”菜单的“新建”命令。

3.在打开的“新建”对话框中选择“文件”标签。

4.选择C++ Source File,在目录输入栏选择文件保存位置,然后在文件输入栏中输入文件名,扩展名为.c (例如first.c) ,单击确定按钮。

如图所示:5.在源窗口中输入源程序,如图所示。

6.编译程序:按“Ctrl+F7”或通过“编译”菜单中的“编译”命令,或使用工具栏中的相应工具进行编译 编译运行若程序有错则找到出错行修改程序。

语言程序设计实验报告

语言程序设计实验报告

语言程序设计实验报告在计算机相关专业的教学中,语言程序设计是一个必须学习的课程。

大多数情况下,教师会通过实验的方式来帮助学生更好地理解相关知识点和技术应用。

本文将要介绍的是我的语言程序设计实验报告,介绍实验所涉及的内容及相关技术。

实验一:基本编程语法在本次实验中,我所使用的编程语言为Java。

Java是一种广泛应用于Web和大型企业应用程序开发的语言,主要应用于程序设计及网络通信方面。

在本次实验中,我主要学习了Java语言的基础编程语法,包括变量定义、数据类型、条件语句、循环语句、数组等基本知识。

实验二:函数定义和调用在实验二中,我主要学习了函数的定义和调用。

在程序开发中,函数是一种非常重要的代码组织方式,通过函数定义可以将代码拆分成多个不同的逻辑块,使得代码更加清晰、易于复用。

在实验中,我学习了如何定义函数、如何传递参数、如何返回结果以及如何调用函数。

通过这一实验,我加深了对函数概念的理解,更好的掌握了函数的使用。

实验三:面向对象编程在实验三中,我主要学习了Java中的面向对象编程。

在这一编程范式下,我们将数据和操作封装在类中,通过对象调用实现对数据和操作的访问。

在实验中,我学习了如何定义类、如何创建对象、如何访问对象属性以及如何使用对象方法。

通过该实验,我深刻理解了对象的概念,更好的掌握了面向对象编程的相关技术。

实验四:异常处理和文件读写在实验四中,我主要学习了Java中的异常处理和文件读写。

在程序开发中,异常处理是非常重要的,可以帮助我们更好地避免程序异常退出,提高程序的鲁棒性。

在实验中,我学习了如何定义异常、如何捕获异常、如何处理异常。

另外,在实现文件读写功能时,我也学习了如何创建文件、如何读取文件、如何写入文件等相关知识。

通过这一实验,我掌握了异常处理和文件读写的相关技术,为之后的程序开发奠定了基础。

总结通过本次语言程序设计实验,我深刻认识到编程是一门非常复杂的技术,需要我们不断掌握和学习。

语言程序设计实验报告

语言程序设计实验报告

语言程序设计实验报告一、实验目的本次实验的主要目的是通过使用Python语言进行编程,实现一个简单的计算器程序。

具体地,要求能够进行加减乘除的基本运算,并且具有一定的用户友好性。

二、实验环境在本次实验中,我们主要使用了Python语言设计计算器程序。

Python语言是一种易于学习和使用的计算机编程语言,它拥有简单的语法和强大的库,适合进行各种类型的编程项目。

三、实验过程在本次实验中,我们首先需要确定基本的程序结构。

具体地,程序需要进行以下三个主要步骤:1. 接收用户输入的数据程序需要提示用户输入两个数字以及运算符号"+"、"-"、"*"、"/"。

2. 进行计算程序需要对接收到的数字进行计算,并生成计算结果。

3. 输出计算结果程序需要将计算结果输出给用户。

接下来,我们通过Python编程语言来实现具体的计算器程序。

首先,在Python中,我们需要定义一些变量。

对于本次实验来说,我们需要定义三个变量:1. 变量num1:表示用户输入的第一个数字。

2. 变量num2:表示用户输入的第二个数字。

3. 变量operator:表示用户选择的运算符号。

定义这些变量之后,我们需要编写程序代码来实现输入输出功能。

具体地,程序需要进行以下三个步骤:1. 接收用户输入我们可以使用Python中的input函数来实现用户输入功能。

2. 进行计算根据用户输入的数据,我们可以使用if语句来判断需要进行的计算类型,并使用变量num1和num2中的数字以及变量operator 中的运算符号来进行计算。

3. 输出计算结果通过使用Python中的print函数,我们可以将计算结果输出给用户。

程序代码如下:```pythonnum1 = float(input("请输入第一个数字: ")) num2 = float(input("请输入第二个数字: ")) operator = input("请输入运算符(+、-、*、/): ")if operator == "+":result = num1 + num2elif operator == "-":result = num1 - num2elif operator == "*":result = num1 * num2elif operator == "/":if num2 == 0:print("除数不能为0,请重新输入!")else:result = num1 / num2print("计算结果为: ", result)```四、实验结果在本次实验中,我们成功地实现了一个简单的计算器程序,并能够进行加、减、乘、除四种基本运算。

程序设计实验报告格式

程序设计实验报告格式

一、实验题目程序设计实验二、实验目的1. 熟悉程序设计的基本概念和原理。

2. 掌握编程语言的基本语法和编程技巧。

3. 提高编程能力和解决问题的能力。

三、实验环境1. 操作系统:Windows 102. 编程语言:Python3.83. 开发工具:PyCharm四、实验内容1. 编写一个简单的Python程序,实现以下功能:a. 输入两个整数,计算它们的和、差、积、商。

b. 输入一个字符串,统计其中英文字母、数字、空格和其他字符的数量。

c. 输入一个列表,输出列表中所有大于10的元素。

2. 使用面向对象的方法设计一个简单的图书管理系统,实现以下功能:a. 创建图书类,包含图书的属性(如书名、作者、出版社、价格)和方法(如显示图书信息)。

b. 创建图书管理类,包含添加图书、删除图书、查找图书、显示所有图书信息等功能。

五、实验步骤1. 编写Python程序实现以下功能:a. 输入两个整数,计算它们的和、差、积、商。

- 输入:a = 10, b = 5b. 输入一个字符串,统计其中英文字母、数字、空格和其他字符的数量。

- 输入:str = "Hello, World! 123"- 输出:英文字母 = 10,数字 = 3,空格 = 2,其他字符 = 3c. 输入一个列表,输出列表中所有大于10的元素。

- 输入:lst = [1, 5, 10, 15, 20, 25]- 输出:大于10的元素有:15, 20, 252. 使用面向对象的方法设计一个简单的图书管理系统:a. 创建图书类,包含图书的属性和方法。

- 图书类(Book):- 属性:书名、作者、出版社、价格- 方法:显示图书信息b. 创建图书管理类,包含添加图书、删除图书、查找图书、显示所有图书信息等功能。

- 图书管理类(BookManager):- 属性:图书列表- 方法:- 添加图书:向图书列表中添加新的图书- 删除图书:根据书名删除图书- 查找图书:根据书名查找图书- 显示所有图书信息:遍历图书列表,显示所有图书信息六、实验结果与分析1. 编写Python程序实现以下功能:a. 输入两个整数,计算它们的和、差、积、商。

c语言程序设计实验报告

c语言程序设计实验报告

c语言程序设计实验报告C语言程序设计实验报告一、实验目的C语言作为一种高级编程语言,广泛应用于嵌入式系统、操作系统、网络通信等领域。

本次实验旨在通过编写C语言程序,掌握基本的程序设计技巧,深入理解C语言的特性和语法规则。

二、实验内容本次实验的主要内容是设计一个简单的学生成绩管理系统。

通过该系统,可以实现学生信息的录入、查询、修改和删除等功能。

具体实现的功能需求如下:1. 学生信息的录入:从键盘输入学生的姓名、学号和成绩等信息,并将其保存到文件中。

2. 学生信息的查询:根据学号或姓名查询学生的详细信息,并显示在屏幕上。

3. 学生信息的修改:根据学生的学号修改其姓名或成绩等信息,并更新保存在文件中。

4. 学生信息的删除:根据学生的学号删除其相关信息。

三、实验过程首先,需要定义一个学生信息的结构体,包含学生的姓名、学号和成绩等属性。

然后,利用文件I/O操作,将学生信息保存到文件中,并实现查询、修改和删除功能。

具体的实验过程如下:1. 定义学生信息的结构体,包括姓名、学号和成绩等属性。

2. 编写函数实现学生信息的录入功能,从键盘输入学生的信息,并将其保存到文件中。

3. 编写函数实现学生信息的查询功能,通过学号或姓名查询学生的详细信息,并显示在屏幕上。

4. 编写函数实现学生信息的修改功能,根据学号修改学生的姓名或成绩等信息,并更新保存在文件中。

5. 编写函数实现学生信息的删除功能,根据学号删除学生的相关信息。

四、实验结果经过实验,实现了学生成绩管理系统的基本功能。

通过该系统,可以方便地录入、查询、修改和删除学生的信息。

五、实验总结通过本次实验,进一步巩固了C语言的基本知识和编程能力。

掌握了文件I/O操作技巧,了解了C语言程序设计的具体过程。

在今后的学习和实践中,应继续深入学习C语言的高级特性和常用函数,提高程序的效率和可靠性。

此外,还应注重理论和实践的结合,不断提升自己的动手能力和解决问题的能力。

总之,本次实验为我提供了一个很好的机会,能够将理论知识转化为实践能力。

c expe_1

c expe_1

常熟理工学院《C语言程序设计》实验指导与报告书______学年第____ 学期专业: ___________________________________________ 学号: ___________________________________________ 姓名: ___________________________________________ 实验地点:___________________________________________ 指导教师:___________________________________________计算机科学与工程学院2014实验1 熟悉C 运行环境1.1 实验目的1.掌握Visual C++ 6.0环境下,C 语言程序的上机步骤。

2.掌握Turbo C 2.0环境下,C 语言程序的上机步骤。

3.掌握源程序的建立、编辑、编译、保存和运行的基本方法。

4.初步掌握调试程序的方法。

1.2 示例程序【实验1.1】Visual C++ 6.0环境下,在屏幕上显示“Thia is a c program.”。

操作步骤如下:1.双击桌面上的Visual C++ 6.0图标,进入Visual C++ 6.0集成开发环境,屏幕上出现Visual C++ 6.0的主窗口,在Visual C++ 6.0主窗口的主菜单中选择“文件”,然后选择“新建”屏幕上出现一个新建对话框。

如图1.1所示。

单击此对话框上方的文件选项卡,在其下拉菜单中选择C++ Source File 项,表示要建的是C++源程序文件,然后在对话框右边的位置文本框中输入准备编辑的源程序文件的存储路径(如d:\c ),表示准备编辑的源程序文件将存放在d:\c 文件夹下面。

在其上方的文件名文本框中输入准备编辑的源程序文件的名字(如myc1.c )。

2.单击确定按钮回到Visual C++ 6.0主窗口,此时主窗口中程序编辑窗口的标题栏显示出d:\c\myc1.c 。

C语言程序设计酒店管理系统实验报告韩国齐

C语言程序设计酒店管理系统实验报告韩国齐

课程设计报告书题目:酒店管理系统设计报告专业:电子信息工程(移动互联网) ____班级:一班 _________________________姓名:韩国齐 ________________________学号:201408103010 ________________________教师:朴海光 _______________________一:程序功能酒店系统管理包括:主菜单、查看客房入住情况、登记入住、修改客房信息、修改客房信息及退房六个功能模块。

每个功能用一个函数来实现,从而达到功能的模块化。

主菜单模块:主菜单模块包括1.查看客房入住情况、2.登记入住、3.客房信息修改、4.退房及显示入住的总费用、5.返回主菜单、6.直接退出程序。

1 )查看客房入住情况功能模块:主要功能是查看房间的入住情况和继续查看已入住的房间的客户信息。

2)登记入住功能模块:采用结构体数组来记录客户的信息,包括姓名、性别、年龄、身份证号、入住时间,入住单价及入住人数,登记完一个房间后可选择继续下一个房间的登记,也可以选择返回主菜单进行其他功能的操作。

3)修改客房信息功能模块:包括修改客户信息模块和修改房间信息模块。

4)修改客户信息模块:主要功能是可选择性的修改客户某个信息,也可以一次性全部修改。

5)修改客房信息功能模块:用来对客户换房时对客户信息和房间号的修改。

实现的功能是只要输入客户以前住的房间号和现在想住的房间号,就将客户的信息全部移到现在想住的房间上,而以前的房间将被置为未使用。

6)退房及显示总费用功能模块:当客户退房时,将客户使用的客房置为未使用,删除客户信息。

并且显示客户从入住到退房时的总费用。

二:程序代码#i nclude<stdio.h>#i ncludevstri ng.h>#i nclude<stdlib.h>#defi ne M 80int j,s;int hj[81]={0};FILE *fp; // 定义文件指针变量struct date // 定义结构体类型{int mon th;int day;int year;}fin al;struct clie nt{char n ame[20];int sex;int age;char ID_card[20];int count;struct date start;};struct hotelint price; int room」D;struct clie nt pers on al;}room[M];声明文件函数void save(); //void check_siru(); // void registrati声明登记入住信息函数on」ive(); //prin tf("\t\t\t 输入错误,请重新输入选项! scan f("%d",&n); }switch( n){case 1:check_siru();break;void modify 」nfor(); void ame nd_on e(); void ame nd_room(); void cost(); // void get_back(); void check_siru1();////// // // void registrati on 」ive1(); // void ame nd_on e1(); void ame nd_room1(); void cost1(); // int mai n() // { int menu(); void prin t_message(); prin tf("\n\n\n\n\n"); prin t_message(); menu();save(); return 0;} void prin t_message() { _ prin tf("\t\t\t } men u() //主菜单函数 { int n;// // 声明修改客房信息函数声明修改个人信息函数 声明修改房间信息函数声明退房及显示入住费用函数 声明返回主菜单函数声明查看客房入住情况的调用函数声明登记入住信息的调用函数 声明修改个人信息的调用函数 声明修改房间信息的调用函数 声明显示入住费用的调用函数 主函数 欢迎入住黄金酒店\n\n\n");prin tf("\n");prin tf("\t\t\t主菜单 \n\n");prin tf("\t\t\t按1 查看客房入住情况\n"); prin tf("\t\t\t按2 登记入住信息\n"); prin tf("\t\t\t 按3 修改客房信息\n"); prin tf("\t\t\t 按4 退房、及显示入住费用 prin tf("\t\t\t按5 返回主菜单\n"); prin tf("\t\t\t按6 退出程序\n"); printf("\n\t 请输入要进行操作的选项(1、2、 sca nf("%d",&n); while( n<1|| n>6)\n");3、4、5、6):"); {");case 2:registrati on _live();break; case 3:modify_i nfor();break; case 4:cost();break;case 5:get_back();break; case 6:exit(0); } return 0;}void check_siru() // 查看房间使用情况函数 { _int a,g,co un t=0; for(g=1;gv=80;g++) {if(hj[ g]==0) ++co unt; elseif(hj[ g]==1)prin tf("\n\t\t\tprin tf("\n\t\t\t 年龄:%d",room[s].pers on al.age); prin tf("\n\t\t\t 身份证号: %s",room[s].pers onal.l D_card); prin tf("\n\t\t\t 入住年份: %d",room[s].pers onal.start.year); prin tf("\n\t\t\t 月: %d",room[s].pers on al.start.m on th); prin tf("\n\t\t\t 日:%d",room[s].pers on al.start.day); prin tf("\n\t\t\t 房间号: %d",room[s].roo m 」D);prin tf("\n\t\t\t 客房单价: %d",room[s].price);prin tf("\n\t\t\t 入住人数: %d",room[s].pers on al.co un t); prin tf("\n\n\t\t\t 按1返回主菜单,按2继续\n");scan f("%d",&a);switch(a)正在使用的房间号:%d",g);}prin tf("\n\n\t\t\t prin tf("\n\n\t\t\t sea nf("%d",&a); switch(a){case 1:me nu ();break; case 2:prin tf("\n\n"); prin tf("\n\t\t\t sca nf("%d",&s); if(hj[s]==1) { prin tf("\n\t\t\t prin tf("\n\t\t\t未使用的房间数:%d",cou nt); 按1返回主菜单,按2继续:");请输入要查询的房间号:"); 姓名: 性别 女!): %d",room[s].personal.sex); %s",room[s].pers on al. name); (其中:1 表示男,2 表示{case 1:me nu( );break;case 2:check_siru1();break;} _}elseprin tf("\n\t\t\t 该房间未被使用!");}save();printf("\n\n\t\t\t 按1返回主菜单,按2继续:");sca nf("%d",&a);switch(a){case 1:me nu( );break;case 2:check_siru1();break;}}void registration_live() // 登记入住函数{ _int a;prin tf("\t\t 请输入登记的相关信息:\n");prin tf("\n\t\t\t 房间号");sca nf("%d",&j);room[j].roo m」D=j;printf("\n\t\t\t 姓名:");sca nf("%s",room[j].pers on al. name);printf("\n\t 性别(其中:1表示男,2表示女!):");sca nf("%d",&room[j].pers on al.sex);printf("\n\t\t\t 年龄:");sca nf("%d",&room[j].pers on al.age);prin tf("\n\t\t\t 身份证号:");sca nf("%s",room[j].pers onal.l D_card);prin tf("\n\t\t\t 入住年份:");sca nf("%d",&room[j].pers on al.start.year);printf("\n\t\t\t 月份:");sca nf("%d",&room[j].pers on al.start.m on th);printf("\n\t\t\t 日期:");sca nf("%d",&room[j].pers on al.start.day);prin tf("\n\t\t\t 客房单价:");sca nf("%d", &room[j].price);prin tf("\n\t\t 请输入入住人数:");sca nf("%d",&room[j].pers on al.co un t);hj[j]=1;save();printf("\n\n\t\t 按1返回主菜单,按2继续:");sea nf("%d",&a); switch(a) {case 1:me nu( );break; case 2:registratio n 」ive1();break; }}void modify 」nfor() //{ _switch(m){case 1:ame nd_on e1();break; case 2:ame nd_room1();break; case 3:me nu(); case 4:exit(0); }save();}void amend_on e() // 修改客人信息函数{int i,q;char a[20]; prin tf("\n\n\t\t\t 请输入现住的房间号:");sca nf("%d",&j); printf("\n\t\t\t请选择您要修改的个人选项\n"); printf("\t\t\t1 :代表姓名\n\t\t\t2 :代表性别(其中1表示男,2表示女)\n\t\t\t3 :年龄\n\t\t\t4:代表身份证号\n\t\t\t5:代表入住年份\n\t\t\t6 :代表入住月份\n\t\t\t7 :代表入住日期\n\t\t\t8 :入住人数\n");printf("\t\t\t 请选择输入选项(1、2、3、4、5、6、7、8):"); sca nf("%d",&q); switch(q){修改客房函数in t r,m;prin tf("\t\t\t prin tf("\t\t\t1: prin tf("\t\t\t2: prin tf("\t\t\t3: prin tf("\t\t\t4: prin tf("\n\n\t\t scanf("%d",&m); if(m<1||m>3){r=1;}else r=0; 菜单 \n\n\n"); 修改客户信息\n"); 修改房间信息\n"); 返回主菜单\n"); 退出程序\n");请选择输入选项1、2、3、4):");int t,p;case 1:pri ntf("\n\t\t\t 请输入新名字:");sea nf("%s",a);strcpy(room[j].pers on al. name,a);prin tf("\n\n\t\t\t 按1返回主菜单,按sca nf("%d",&i);switch(i){case 1:me nu( );break;case 2:ame nd_on e1();break;}case 2:pri ntf("\n\t\t 请输入新性别(其中:sca nf("%d",&p);room[j].pers on al.sex=p;prin tf("\n\n\t\t\t 按1返回主菜单,按sca nf("%d",&i);switch(i){case 1:me nu( );break;case 2:ame nd_on e1();break;} _case 3:pri ntf("\n\t\t\t 请输入年龄:");sca nf("%d",&p);room[j].pers on al.age=p;prin tf("\n\n\t\t\t 按1返回主菜单,按sca nf("%d",&i);switch(i){case 1:me nu( );break;case 2:ame nd_on e1();break;} _case 4:pri ntf("\n\t\t\t 请输入新身份证号:sca nf("%s",room[j].pers onal.l D_card);prin tf("\n\n\t\t\t 按1返回主菜单,按sca nf("%d",&i);switch(i){case 1:me nu( );break;case 2:ame nd_on e1();break;}case 5:pri ntf("\n\t\t\t 请输入新年份:");sca nf("%d",&p);room[j].pers onal.start.year=p; prin tf("\n\n\t\t\t 按1返回主菜单,按sca nf("%d",&i);switch(i){ 2继续:1表示男,2继续:2继续:");2继续:2继续:");2表示女):");II );II );II );II );case 1:me nucase 2:ame nd_on e1();break;sca nf("%d",&p);room[j].pers on al.start.m on th=p; printf("\n\n\t\t\t 按1返回主菜单,按2继续:"); sca nf("%d",&i); switch(i) {case 1:me nu( );break;case 2:ame nd_on e1();break;}case 7:pri ntf("\n\t\t\t 请输入新日期:"); sca nf("%d",&p);room[j].pers on al.start.day=p; printf("\n\n\t\t\t 按1返回主菜单,按2继续:"); sca nf("%d",&i); switch(i) {case 1:me nu( );break;case 2:ame nd_on e1();break;} _case 8:pri ntf("\n\t\t\t 请输入新入住人数:"); sca nf("%d",&p);room[j].pers on al.co un t=p; printf("\n\n\t\t\t 按1返回主菜单,按2继续:"); sca nf("%d",&i); switch(i) {case 1:me nu ();break;case 2:ame nd_on e1();break;\n\n\t\t\t\t4 :返回 \n\n");printf("\t\t\t 请选择输入选项(1、2、3、4):"); sca nf("%d",&l); switch(l) {case 1:pri ntf("\n\t\t\t 请输入旧房号:");sca nf("%d",&j); prin tf("\t\t\t 请输入新房号:"); sea nf("%d",&s);strcpy(room[s].pers on al. name,room[j].pers on al. name);case 6:pri ntf("\n\t\t\t 请输入新月份:"); }} menu();}void ame nd_room() // { _int a,l,x;prin tf("\n\t\t\t\t prin tf("\t\t\t\t1:修改房间信息函数请输入你要修改的客房信息\n\n"); 房 间号 \n\n\t\t\t\t2: 客 房单价 \n\n\t\t\t\t3:入住人数〃room[j].pers on al. name={'\0'};room[s].pers on al.sex=room[j].pers on al.sex;room[j].pers on al.sex=0;room[s].pers on al.age=room[j].pers on al.age;room[j].pers on al.age=0;strcpy(room[s].pers on al .1 D_card,room[j].pers onal.l D_card);〃room[j].pers on al」D_card={'\0'};room[s].pers on al.start.year=room[j].pers on al.start.year; room[j].pers on al.start.year=0;room[s].pers on al.start.m on th=room[j].pers on al.start.mo nth;room[j].pers on al.start.m on th=0;room[s].pers on al.start.day=room[j].pers on al.start.day; room[j].pers on al.start.day=0;room[s].room_ID=s;room[s].price=room[j].price;room[s].pers on al.co un t=room[j].pers on al.co unt;hj[s]=1;hj[j]=0;printf("\n\n\t\t 按1返回主菜单,按2继续:"); sca nf("%d",&a);switch(a){case 1:me nu( );break;case 2:ame nd_room1();break;} _case 2:pri ntf("\n\t\t\t 请输入房号:");sca nf("%d",&s);prin tf("\t\t\t 请输入新单价:");sca nf("%d",& x);room[s].price=x;printf("\n\n\t\t 按1返回主菜单,按2继续:"); sca nf("%d",&a);switch(a){case 1:me nu( );break;case 2:ame nd_room1();break;}case 3:pri ntf("\n\t\t\t 请输入房号:");sca nf("%d",&s);prin tf("\t\t\t 请输入新入住人数:");sca nf("%d", &x);room[s].pers on al.co un t=x;printf("\n\n\t\t 按1返回主菜单,按2继续:"); sca nf("%d",&a);switch(a){case 1:me nu( );break;case 2:ame nd_room1();break;} _case 4:break;}save();menu();}void cost() // 退房、显示入住费用函数{int a,i,sum;prin tf("\t\t\t 请输入房间号:");sca nf("%d",&j);room[j].roo m」D=j;prin tf("\n\t\t\t 入住年份:%d",room[j].perso nal.start.year);prin tf("\n\t\t\t 月:%d",room[j].pers on al.start.m on th);printf("\n\t\t\t 日:%d",room[j].personal.start.day);prin tf("\n\t\t\t 房间单价为:");prin tf("%d",room[j].price);printf("\n\t\t\t 请输入退房时间:");prin tf("\n\t\t\t 请输入年份:");sca nf("%d", &fin al.year);prin tf("\n\t\t\t 请输入月份:");sca nf("%d", &fin al.mo nth);prin tf("\n\t\t\t 请输入日期:");sca nf("%d", &fin al.day);prin tf("\n\t\t\t 请输入入住天数:");sca nf("%d",&i);sum=room[j].price*i;printf("\n\t\t\t 总费用sum=%d\n",sum);hj[j]=0;save();printf("\n\n\t\t 按1返回主菜单,按2继续:");sca nf("%d",&a);switch(a){case 1:me nu( );break;case 2:cost1();break;}}void get_back() // 返回主菜单的调用函数{ _menu();}void check_siru1() // 声明查看客房入住情况的调用函数{check_siru();} _void registration_live1() // 声明登记入住信息的调用函数{ _registrati on」ive();} _void amend_on e1() // 声明修改个人信息的调用函数{ame nd_on e();}void ame nd_room1() // 声明修改房间信息的调用函数{ _ame nd_room();} _void cost1() // 声明显示入住费用的调用函数{cost();}void save(){FILE *fp;int i;if((fp=fopen("客房管理.txt","w+"))==NULL){prin tf("ca nnot ope n file\n");exit(0);}for(i=0;i<M;i++){if(fwrite((&room[i]), sizeof(room[M]),1,fp)!=1)prin tf("file write error' n");fflush(fp);}fclose(fp);}三:运行(主菜单功能)(登记客户入住信息(可以按2继续登记下个房间客户的信息))(查看登记过的客户信息(刚刚登记的李明的信息已存在))(修改客户信息(这页修改的是名字,把李明改为张三))(这页查看修改的客户信息是否成功(已成功的把李明改为了张三))(这页继续修改客户信息(这里修改的是性别,把刚才的男(1)改为了女(2)))(这里继续查看刚才修改的性别是否成功(这里已经把男(1)改成了女(2)))依此类推下面的年龄、身份证号、入住年份、月份、日期、人数都依此方法修改。

c语言程序设计实验报告

c语言程序设计实验报告

c语言程序设计实验报告实验一 C语言程序设计实验报告一、实验目的通过本次实验,学生应该能够:1.了解C语言的基本语法和函数库的使用方法;2.了解标准输入输出库的使用方法;3.掌握数组和字符串的使用方法;4.掌握条件分支语句、循环语句和函数的使用方法。

二、实验环境本次实验使用的编译器为Visual C++ 6.0。

三、实验过程1.实验1-1 输出引言分析问题:设计一个程序,输出以下的文字:**********************************************Welcome to C Language World!**********************************************解决问题:为了输出上面的文字,我们需要使用到标准输出函数printf()。

代码如下:#include <stdio.h>int main(void){printf("**********************************************\n");printf(" Welcome to C Language World!\n");printf("**********************************************\n");return 0;}2.实验1-2 计算表达式分析问题:设计一个程序,计算表达式:789 + 456 - 123,并输出结果。

解决问题:为了计算表达式,我们需要使用到变量和算术运算符。

代码如下:#include <stdio.h>int main(void){int a = 789;int b = 456;int c = 123;int result = a + b - c;printf("789 + 456 - 123 = %d\n", result);return 0;}3.实验1-3 计算分数分析问题:设计一个程序,计算分数:3 / 4 + 5 / 8,并输出结果。

汇编语言实验报告模版

汇编语言实验报告模版

(附录二)
汇编语言程序设计
实验报告
实验名称循环结构与子程序设计实验
班级
学号
姓名
日期
成绩
评阅人
软件学院
一、实验目的与意义
写出你认为比较重要的实验目的与意义。

二、实验环境
操作系统、调试软件名称、版本号,上机地点,机器台号三、实验的预习内容
写出你在实验前预习的主要内容、实验思路、程序框图等。

四、实验的步骤与调试方法
(1)简短明确地写出你实验的大致步骤
(2)简短明确地写出你在实验中遇到问题的调试方法五、实验数据与实验结果
实验成绩。

《经典规范C语言程序设计》实验报告

《经典规范C语言程序设计》实验报告

《经典规范C语言程序设计》实验报告一、实验目的通过学习《经典规范C语言程序设计》第三章,掌握C语言程序设计中的基本规范与技巧,提高编程的规范性与效率。

二、实验内容1.学习C语言程序设计的基本规范2.学习C语言程序设计的命名规则与标识符3.学习C语言程序设计的注释与空白符的使用4.学习C语言程序设计的常量的表示方法5.学习C语言程序设计中的表达式和运算符6.学习C语言程序设计中的语句与控制结构三、实验过程与结果在本次实验中,我按照《经典规范C语言程序设计》第三章的指导,完成了以下任务:1.将程序中的函数名、变量名进行规范化命名,遵循驼峰命名法,并注明变量的数据类型。

2.检查程序中的注释是否完整且清晰,是否包含必要的信息,如函数的功能、参数的说明等。

3.检查程序中的空白符使用是否得当,包括在适当的位置加入空格或空行,提高程序的可读性。

4. 确保在程序中使用适当的常量表示方法,如使用#define进行宏定义,提高程序的可维护性。

5.检查程序中的表达式和运算符使用是否正确,并进行必要的优化,提高程序的效率。

6.检查程序中的语句和控制结构使用是否合理,避免出现死循环、逻辑错误等问题。

通过以上的检查和调整,我成功地优化了程序的规范性和效率,并得到了预期的结果。

程序的命名规范化使得变量和函数的用途一目了然,注释的完整和清晰提高了代码的可读性和可维护性,空白符的合理使用让程序结构更加清晰,常量的使用提高了代码的可维护性,表达式和运算符的优化提高了程序的效率,语句和控制结构的合理使用保证了程序的正确性。

四、实验总结通过本次实验,我深入了解了C语言程序设计的基本规范与技巧。

规范的命名、清晰的注释、合理的空白符使用、常量的表示方法、表达式和运算符的使用、语句和控制结构的合理运用,这些都是编写高质量C语言程序的重要内容。

只有遵循这些规范与技巧,才能编写出具有良好可读性、可维护性和高效性的程序。

在今后的编程实践中,我会坚持遵循C语言程序设计的基本规范,并进一步提高自己的编程水平。

《C语言程序设计》课程设计报告CS1305-U201314927-韩晓阳

《C语言程序设计》课程设计报告CS1305-U201314927-韩晓阳

课程设计报告题目:药房药品管理系统课程名称:C语言与程序设计专业班级:CS1305学号:U201314927姓名:韩晓阳指导教师:王多强报告日期:2014年10月10日计算机科学与技术学院课程设计任务书一、课题名称药房药品管理系统。

二、课题内容建立药房药品信息系统,提供创建、编辑和综合查询等基本业务管理和服务。

三、课题任务要求收集与阅读相关文献资料,确定系统目标与范围,分析系统需求,确定系统功能;设计系统方案,完成系统实现;提交《课程设计报告》。

四、同组设计者无五、主要参考文献[1]曹计昌,卢萍,李开. C语言与程序设计,北京:电子工业出版社,,2013[2]张引. C程序设计基础课程设计, 杭州: 浙江大学出版社,2007[3]黄明,梁旭,万洪莉. C语言课程设计,北京: 电子工业出版社,2006目录1 引言.......................................................... - 1 - 1.1 课题背景和意义............................................. - 1 - 1.2 国内外研究现状............................................. - 1 -1.3 课程设计的主要研究工作..................................... - 2 -2 系统需求分析与总体设计........................................ - 2 - 2.1 系统需求分析............................................... - 2 -2.2 系统总体设计............................................... - 2 -3 系统详细设计................................................. - 3 - 3.1 有关数据结构的定义......................................... - 3 -3.2 主要算法设计............................................... - 5 -4 系统实现与测试............................................... - 13 - 4.1 系统实现.................................................. - 13 -4.2 系统测试................................................. - 20 -5 总结与展望.................................................. - 37 - 5.1 全文总结.................................................. - 37 - 5.2 工作展望.................................................. - 38 - 体会......................................................... - 39 - 参考文献....................................................... - 39 - 附录:源程序代码............................................... - 39 -1 引言1.1 课题背景和意义在当今网络化、信息化、数字化的社会中, 由于计算机已经深入各行各业,而且现代社会,各个领域信息量大、信息更新迅速、信息处理要求方便及时,因此在各行各业都需要一个数字化系统处理相应数据,药房药品的管理也是如此。

武汉纺织大学Python语言程序设计实验报告4

武汉纺织大学Python语言程序设计实验报告4

武汉纺织大学《Python语言程序设计》实验报告班级姓名:实验时间:2021 年月日指导教师:一、实验目的1.掌握函数的定义和调用方法2.掌握函数的参数和返回值3.熟悉函数的嵌套调用4.了解闭包的使用方法5.了解装饰器的作用6.掌握文件的打开和关闭7.掌握文件的读写、重命名和删除操作8.了解异常的概念二、实验内容1. 分析下面的程序,如果程序能通过编译,请列出运行结果,否则请说明导致编译失败的原因,并列出改正后的程序代码。

def func():x=200def func2():print(x)func2()x=100func()print(x)2. 定义一个getMin函数,要求此函数能返回从键盘输入的三个数中的最小值。

3. 编写一个函数判断一个整数是否是回文数。

提示:回文数是一个正向和逆向都相同的整数,如12321,1991等。

4. 编程将列表[1,2,3,4,5]的每个元素加1后输出不能被2整除的元素。

5. 编程读取一个文本文件,输出文件中除了以#号开头的行以外的所有行。

6. 编程将一个文本文件的内容按行读出,每读出一行就顺序添加行号,并写入另一个文本文件中。

7.打开一个英文文本文件,编写程序读取其内容,要求将文件内容中的大写字母变成小写字母,小写字母变成大写字母后写入一个新文本文件。

8. 编写程序将包含学生成绩的字典保存到一个二进制文件后,再读取并输出该文件的内容。

9. 已知一个文本文件中存放了19,20,88,45,96,202,44,45,30这些数字,要求编写程序读取该文件中的所有数字并排序后输出。

10. 分析下面程序运行后的结果。

class MinuendLessThanExtractionException(Exception):'''自定义异常类'''def __init__(self):self.message="被减数不能小于减数"def 计算减法(data1,data2):try:if data1<data2:raise MinuendLessThanExtractionException()#引发异常 else:return data1-data2 #返回2数相减之差except MinuendLessThanExtractionException as result:print(result.message)return ' 'print(计算减法(20,15))print(计算减法(10,15))三、操作步骤1. 回答:没有问题结果为2001002. 程序代码def getMin():num1=int(input("请在键盘上输入第1个整数:"))num2=int(input("请在键盘上输入第2个整数:"))num3=int(input("请在键盘上输入第3个整数:"))i=0if num1<num2:i=num1else:i=num2if i<num3:return "其中最小值为:"+str(i)else:return "其中最小值为:"+str(num3) minnum=getMin()print(minnum)程序运行结果请在键盘上输入第1个整数:1请在键盘上输入第2个整数:2请在键盘上输入第3个整数:3其中最小值为:13. 程序代码def huiwen(n):if n == n[::-1]:print("%s是回文数字。

韩健 (4)

韩健 (4)
6else y=-1;
7printf(“%d\n”, y);
8}

错误在3,4行
应改为:x>3&&x<=9;x>-1&&x<=3;
调试正确后的运行结果
输入数据:4 2 1 -3 10
输出结果:
(四)编写程序
1、输入三个整数,按照从小到大输出
2、从键盘输入两个整数,输出其中的最大数
四、操作过程及实验结果
详细记录在操作过程中出现的问题及解决方法。
记录实验的结果(或截图,以供教师审阅。)。
1.
2.
3.
4.
5
6.
五、总结
六、附录(命令)
#include<stdio.h>
main()
{int x=60,a=30,b=20;
int v1=3,v2=8;
if (a<b)
if (b!=15)
if (!v1)x=1;
else
if (v2)x=10;
x=-2;
printf(“%d\n”, x);
}
二)完成程序
要求:按照给定题目要求,参照出现的语句,填写程序空白处。
输入一个字符,如果它是一个大写字母,则把它变成小写字母;如果它是一个小写字母,则把它变成大写字母;其他字符不变,请在_______上填写正确内容。
#include<stdio.h>
intmain()
{char ch ;
scanf("%c",&ch);
if (_______________________)ch=ch+32 输入并运行以下程序,观察运行结果。

韩健

韩健
实验内容:
1.在“我的电脑”上新建一个文件夹,用于存放c程序,文件夹名字是姓名。
2.调试示例,在屏幕上显示一个短句“Hello World!”。
源程序
#include <stdio.h>
void main()
{
printf(“Hello World!\n”);
}
运行结果:
3.编程,在屏幕上显示一个短句“this is my first c program!”。
运行结果
printf中删除a+b=和a-b=
输出结果:
printf中删除第一个\n
输出结果:
四、操作过程及实验结果
详细记录在操作过程中出现的问题及解决方法。
记录实验的结果(或截图,以供教师审阅。)。
3.
4
五、总结
六、附录(命令)
3. 了解程序调试的思想,能找出并改正c程序中的语法错误。
二、实验环境(本次上机实践所使用的硬件和相关软件。)
硬件:PC机:CPU双核1.6G;内存:不小于512MB; D盘剩余空间不小于10G;E盘剩余空间不小于10G;
软件:Windows xp(win 7)操作系统,VC++6.0程序。
三、实验内容及实验步骤(上机实践内容:如程序设计、图形图像制作、网页设计、数据库操作、计算机组装与维护等)等;用实验步骤或算法表示法、流程图等形式表达算法设计思想与算法实现步骤)
安庆职业技术学院电子信息系
实验报告(C语言程序设计)
姓名: 学号:
实验序号:第 1次
实验名称:熟悉C程目的及要求(本次上机实践所涉及并要求掌握的知识点。)
1. 熟悉C语言的系统环境,掌握在集成环境中编辑、编译、连接和运行C语言程序的方法。

语言程序设计实习报告

语言程序设计实习报告

重庆城市管理职业学院《C语言程序设计》实习报告班级专业学号学生姓名指导教师评定成绩信息工程学院题目:给小学生出加法考试题编写一个程序,给学生出一道加法运算题,然后判断学生输入的答案对错与否,按下列要求以循序渐进的方式编程。

程序 1 通过输入两个加数给学生出一道加法运算题,如果输入答案正确,则显示“Right!”,否则显示“Not correct! Try again!”,程序结束。

程序 2 通过输入两个加数给学生出一道加法运算题,如果输入答案正确,则显示“Right!”,否则显示“Not correct! Try again!”,直到做对为止。

程序 3 通过输入两个加数给学生出一道加法运算题,如果输入答案正确,则显示“Right!”,否则提示重做,显示“Not correct! Try again!”,最多给三次机会,如果三次仍未做对,则显示“Not correct! You have tried three times! Test over!”,程序结束。

程序4 连续做10道题,通过计算机随机产生两个1~10之间的加数给学生出一道加法运算题,如果输入答案正确,则显示“Right!”,否则显示“Not correct!”,不给机会重做,10道题做完后,按每题10分统计总得分,然后打印出总分和做错的题数。

程序5 通过计算机随机产生10道四则运算题,两个操作数为1~10之间的随机数,运算类型为随机产生的加、减、乘、整除中的任意一种,如果输入答案正确,则显示“Right!”,否则显示“Not correct!”,不给机会重做,10道题做完后,按每题10分统计总得分,然后打印出总分和做错题数。

实习目的:1、进一步掌握和利用C语言进行程设计的能力。

2、进一步理解和运用结构化程设计的思想和方法。

3、初步掌握开发一个小型实用系统的基本方法。

4、学会调试一个较长程序的基本方法。

5、学会利用流程图或N-S图表示算法。

语言程序设计实验课程实验上机

语言程序设计实验课程实验上机

课程实验报告课程名称:C语言程序设计专业班级:信息安全学号:姓名:指导教师:报告日期:2014年6月16日计算机科学与技术学院目录实验概述1第一次实验21.1实验目的21.2 实验内容2课本作业2Word作业31.3 实验小结6第二次实验72.1 实验目的72.2实验内容7课本作业7Word作业102.3实验小结11第三次实验113.1 实验目的113.2 实验内容12课本作业12Word 作业143.3实验小结16第四次实验174.1实验目的174.2实验内容17课本实验17Word作业184.3实验小结20第五次实验205.1实验目的205.2 实验内容21课本实验21Word作业235.1实验小结25第六次实验266.1 实验目的266.2实验内容26课本实验26Word作业466.3实验小结53实验总结54实验概述语言是程序设计的工具,而学习语言的目的就是要能够进行程序设计。

因此,要更具深度的扎扎实实打好C语言基础,能够熟练掌握编译工具:同时更加突出程序设计,培养学生用C语言编译解决本专业基础性,底层性,系统性问题的能力。

C语言是目前全球范围内流行和使用最为广泛的一种语言,选C语言作为程序设计的语言工具无疑是最合适的。

但是,学习C语言的根本目的是希望能够以C语言为工具进行程序设计。

用C编程实现计算机的解题算法或解题任务。

因此,我们在学习C 语言的同时,应该同时学好程序设计。

通过C语言的学习使自己打下良好的基础,通过上机编程了解和掌握经典算法和数据结构,并能够用C编程解决实际问题,尤其是本专业的,底层的,系统地基础性问题。

我们通过课本知识打好C语言基础,通过程序设计及编程巩固知识,更好的理解C 语言的基本语法和语义,学好用好C,同时具备语言成分,编译系统,标准库函数的设计实现问题。

本次上机除基本数据类型,数组,结构,联合字段外等构造类型外,突出介绍了各类指针,指针与数组的关系,类型表达式,复杂类型等难度较高的数据类型。

C语言程序设计酒店管理系统实验报告韩国齐

C语言程序设计酒店管理系统实验报告韩国齐

课程设计报告书题目:酒店管理系统设计报告专业:电子信息工程(挪动互联网)班级:一班姓名:韩国齐学号:教师:朴海光一:程序功能酒店系统管理包含:主菜单、查察客房入住状况、登记入住、更正客房信息、更正客房信息及退房六个功能模块。

每个功能用一个函数来实现,从而达到功能的模块化。

主菜单模块:主菜单模块包含 1. 查察客房入住状况、 2. 登记入住、 3.客房信息更正、 4. 退房及显示入住的总花费、 5.返回主菜单、 6.直接退出程序。

1)查察客房入住状况功能模块:主要功能是查察房间的入住状况和连续查察已入住的房间的客户信息。

2)登记入住功能模块:采纳结构体数组来记录客户的信息,包含姓名、性别、年龄、身份证号、入住时间,入住单价及入住人数,登记完一个房间后可选择连续下一个房间的登记,也可以选择返回主菜单进行其余功能的操作。

3)更正客房信息功能模块:包含更正客户信息模块和更正房间信息模块。

4)更正客户信息模块:主要功能是可选择性的更正客户某个信息,也可以一次性所有更正。

5)更正客房信息功能模块:用来对客户换房时对客户信息和房间号的更正。

实现的功能是只要输入客户以前住的房间号和此刻想住的房间号,就将客户的信息所有移到此刻想住的房间上,而以前的房间将被置为未使用。

6)退房及显示总花费功能模块:当客户退房时,将客户使用的客房置为未使用,删除客户信息。

而且显示客户从入住到退房时的总花费。

二: 程序代码#include<>#include<>#include<>#defineM80intj,s;inthj[81]={0};FILE*fp;printf("\n\t\t\t printf("\n\t\t\t printf("\n\t\t\t 性别(此中: 1 表示男, 2 表示女!):年龄: %d",room[s].;身份证号: %s",room[s].;%d",room[s].;printf("\n\t\t\t printf("\n\t\t\tprintf("\n\t\t\t printf("\n\t\t\t printf("\n\t\t\t printf("\n\n\t\t\t 房间号: %d",room[s].room_ID);客房单价: %d",room[s].price);入住人数: %d",room[s].;按 1 返回主菜单,按 2 连续 \n");scanf("%d",&a);switch(a){case1:menu();break; case2:check_siru1();break;}}elseprintf("\n\t\t\t该房间未被使用! ");}save();printf("\n\n\t\t\t 按 1 返回主菜单,按 2 连续: ");scanf("%d",&a);switch(a){case1:menu();break;case2:check_siru1();break;}}voidregistration_live()oom_ID=j;printf("\n\t\t\t姓名: ");scanf("%s",room[j].;printf("\n\t 性别(此中: 1 表示男, 2 表示女!): ");scanf("%d",&room[j].;printf("\n\t\t\t年龄: ");scanf("%d",&room[j].;printf("\n\t\t\t身份证号: ");scanf("%s",room[j].;printf("\n\t\t\t入住年份: ");printf("\n\t\t\t月份: ");printf("\n\t\t\t日期: ");printf("\n\t\t\t客房单价: ");scanf("%d",&room[j].price);printf("\n\t\t请输入入住人数: ");scanf("%d",&room[j].;hj[j]=1;save();printf("\n\n\t\t按 1 返回主菜单,按 2 连续: ");scanf("%d",&a);switch(a){case1:menu();break;case2:registration_live1();break;}}voidmodify_infor()a);printf("\n\n\t\t\t 按 1 返回主菜单,按 2 连续: ");scanf("%d",&i);switch(i){case1:menu();break;case2:amend_one1();break;}case2:printf("\n\t\t请输入新性别(此中: 1 表示男, 2 表示女): ");scanf("%d",&p);room[j].=p;printf("\n\n\t\t\t按 1 返回主菜单,按 2 连续: ");scanf("%d",&i);switch(i){case1:menu();break;case2:amend_one1();break;}case3:printf("\n\t\t\t请输入年龄: ");scanf("%d",&p);room[j].=p;printf("\n\n\t\t\t 按 1 返回主菜单,按 2 连续: ");scanf("%d",&i);switch(i){case1:menu();break;case2:amend_one1();break;}case4:printf("\n\t\t\t请输入新身份证号:");scanf("%s",room[j].;printf("\n\n\t\t\t按 1 返回主菜单,按 2 连续: ");scanf("%d",&i);switch(i){case1:menu();break;case2:amend_one1();break;}case5:printf("\n\t\t\t请输入新年份: ");printf("\n\n\t\t\t 按 1 返回主菜单,按 2 连续: ");scanf("%d",&i);switch(i){case1:menu();break;case2:amend_one1();break;}case6:printf("\n\t\t\t请输入新月份: ");printf("\n\n\t\t\t 按 1 返回主菜单,按 2 连续: ");scanf("%d",&i);switch(i){case1:menu();break;case2:amend_one1();break;}case7:printf("\n\t\t\t请输入新日期: ");printf("\n\n\t\t\t按 1 返回主菜单,按 2 连续: ");scanf("%d",&i);switch(i){case1:menu();break;case2:amend_one1();break;}case8:printf("\n\t\t\t请输入新入住人数:");scanf("%d",&p);room[j].=p;printf("\n\n\t\t\t 按 1 返回主菜单,按 2 连续: ");scanf("%d",&i);switch(i){case1:menu();break;case2:amend_one1();break;}}menu();}voidamend_room()room[j].;{'\0'};room[s].=room[j].;room[j].=0;room[s].=room[j].;room[j].=0;strcpy(room[s].,room[j].;{'\0'};room[s].room_ID=s;room[s].price=room[j].price;room[s].=room[j].;hj[s]=1;hj[j]=0;printf("\n\n\t\t 按 1 返回主菜单,按 2 连续: ");scanf("%d",&a);switch(a){case1:menu();break;case2:amend_room1();break;}case2:printf("\n\t\t\t请输入房号: ");scanf("%d",&s);printf("\t\t\t请输入新单价: ");scanf("%d",&x);room[s].price=x;printf("\n\n\t\t按 1 返回主菜单,按 2 连续: ");scanf("%d",&a);switch(a){case1:menu();break;case2:amend_room1();break;}case3:printf("\n\t\t\t请输入房号: ");scanf("%d",&s);printf("\t\t\t请输入新入住人数: ");scanf("%d",&x);room[s].=x;printf("\n\n\t\t 按 1 返回主菜单,按 2 连续: ");scanf("%d",&a);switch(a){case1:menu();break;case2:amend_room1();break;}case4:break;}save();menu();}voidcost()oom_ID=j;printf("\n\t\t\tprintf("\n\t\t\tprintf("\n\t\t\tprintf("\n\t\t\t房间单价为: ");printf("%d",room[j].price);printf("\n\t\t\t请输入退房时间 :");printf("\n\t\t\t请输入年份: ");scanf("%d",&;printf("\n\t\t\t请输入月份: ");scanf("%d",&;printf("\n\t\t\t请输入日期: ");scanf("%d",&;printf("\n\t\t\t请输入入住天数: ");scanf("%d",&i);sum=room[j].price*i;printf("\n\t\t\t总花费 sum=%d\n",sum);hj[j]=0;save();printf("\n\n\t\t 按 1 返回主菜单,按 2 连续 :");scanf("%d",&a);switch(a){case1:menu();break;case2:cost1();break;}}voidget_back()xt","w+"))==NULL){printf("cannotopenfile\n");exit(0);}for(i=0;i<M;i++){if(fwrite((&room[i]),sizeof(room[M]),1,fp)!=1)printf("filewriteerror\n");fflush(fp);}fclose(fp);}三: 运转(主菜单功能)(登记客户入住信息(可以按 2连续登记下个房间客户的信息))(查察登记过的客户信息(方才登记的李明的信息已存在))(更正客户信息(这页更正的是名字,把李明改为张三))(这页查察更正的客户信息能否成功(已成功的把李明改为了张三))(这页连续更正客户信息(这里更正的是性别,把刚刚的男(1)改为了女(2)))(这里连续查察刚刚更正的性别能否成功(这里已经把男(1)改成了女(2)))依此类推下边的年龄、身份证号、入住年份、月份、日期、人数都依此方法更正。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

汇编语言程序设计实验报告ASSEMBLY LANGUAGE PROGRAMMING班级:计科1103班学号:2011014257姓名:朱楠北京化工大学信息科学与技术学院二〇一三年六月实验一汇编语言源程序的建立、汇编、连接和运行一、实验目的:1.学习汇编语言源程序的编辑、汇编、连接、运行全过程。

2.了解汇编程序、连接程序、DOS系统装入和返回功能。

掌握MASM、LINK的应用。

3.掌握汇编语言程序结构,熟悉汇编语言的一些常用语法规则,初步掌握汇编语言程序的开发过程。

4.掌握DOS系统功能调用的基本方法。

二、实验原理:调用DOS系统功能21h的简单输入输出功能。

三、实验内容:1.从键盘输入一个字符并回显到显示器上。

源程序:code segmentassume cs:codestart:mov ah,1int21hmov ah,4chint21hcode endsend start2.显示输出一个字符Q源程序:code segmentassume cs:codestart:mov ah,2mov dl,'Q'int21hmov ah,4chint21hcode endsend start3.在屏幕上显示输出“I love DOTA”源程序:data segmentznzn1db'I LOVE DOTA$'data endscode segmentassume cs:code,ds:datastart:mov ax,datamov ds,axlea dx,znzn1mov ah,9hint21hmov ah,4chint21hcode endsend start4.编写一个程序,要求从键盘输入一个小写字母,以其大写字母形式显示,否则显示ERROR源程序data segmentstring db'error!$'data endscode segmentassume cs:code,ds:datastart:mov ax,datamov ds,axmov ah,7int21hcmp al,'a'jnl next1jmp next2next1:cmp al,'z'jg next2mov ah,2sub al,20hmov dl,alint21hmov ah,4chint21hnext2:mov ah,9lea dx,stringint21hmov ah,4chint21hcode endsend start5.在屏幕上输出10个“T”源程序:code segmentassume cs:codestart:mov cx,10again:mov ah,2mov dl,'t'int21hloop againmov ah,4chint21hcode endsend start四、结果与分析:按要求输入输出,完成实验要求。

五、问题讨论:初步体验汇编与c语言以及c++的不同,结构较简单六、实验扩展(XB2):七、结论:八、实验心得:九、参考文献:IBM-PC汇编语言程序设计(第二版)十、技术支持:实验二调试程序DEBUG的使用一、实验目的:熟悉DEBUG的主要命令,学会使用DEBUG进行程序调试二、实验原理:1.DEBUG程序的调用在DOS提示符下,可键入命令:C.>DEBUG[d:][path][文件名][参数1][参数2]其中文件名是被调试文件的名字,他必须是可执行文件(EXE),两个参数是运行被调试文件是所需要的命令参数,在DEBUG程序调入后,出现提示符“_”此时,可键入所需的DEBUG命令。

2.DEBUG的主要命令(1)显示内存单元内容的命令D,格式为:-D[地址]或-D[范围](2)修改内存单元内容的命令E,他有两种格式:-E地址内容表和-E地址(3)检查和修改寄存器内容的命令和标志位状态,格式为:-R,-R寄存器名,-RF(4)运行命令G,格式为:-G[=地址1][地址2[地址3...]](5)退出DEBUG命令Q,格式为:Q三、实验内容:1.从键盘输入一个字符,与x,y,z比较,相等则输出10个*或@或$源程序:code segmentassume cs:codestart:mov ah,7int21hcmp al,'x'jz start1cmp al,'y'jz start2cmp al,'z'jz start3mov ah,4chint21hstart1:mov cx,10again1:mov ah,2mov dl,'*'int21hloop again1mov ah,4chint21hstart2:mov cx,10again2:mov ah,2mov dl,'@'int21hloop again2mov ah,4chint21hstart3:mov cx,10again3:mov ah,2mov dl,'$'int21hloop again3mov ah,4chint21hcode endsend start2.将输入的字符串转换为大写字符串显示 源程序:data segmentstring db100db0db100dup('$')data endscode segmentassume cs:code,ds:datastart:mov ax,datamov ds,axmov dx,offset stringmov ah,0ahint21hmov ah,2mov dl,13int21hmov dl,10int21hmov di,0add di,2next:cmp string[di],13jz next1mov cl,string[di]sub cl,20hmov string[di],clinc dijmp nextnext1:mov ah,9mov dx,offset stringadd dx,2int21hmov ah,4chint21hcode endsend start3.接收一个字符,找出它的前导字符和后续字符,按顺序显示这三个字符,有提示信息 源程序:data segmentstr1db'plese input one character$'str2db?,?,?,'$'data endscode segmentassume cs:code,ds:datastart:mov ax,datamov ds,axlea dx,str1mov ah,9int21hmov ah,2mov dl,13int21hmov dl,10int21hmov ah,7int21hmov dl,alsub dl,1mov str2[0],dlcmp str2[0],'a'jb next1jmp next4next1:mov str2[0],'#'next4:mov str2[1],almov str2[2],alcmp str2[2],'z'ja next2jmp next3next2:mov str2[2],'#'jmp next3next3:lea dx,str2mov ah,9int21hmov ah,4chint21hcode endsend start4.从键盘接收一串字符,在下一行输出剔除其中数字字符的字符串,有提示信息。

源程序:data segmentstr1db'Plese input a string...$'array db100dup(?)data endscode segmentassume cs:code,ds:datastart:mov ax,datamov ds,axlea dx,str1mov di,0mov ah,9int21hagain:mov ah,1int21hcmp al,13jz exitcmp al,'0'jb nextcmp al,'9'ja nextjmp againnext:mov array[di],alinc dijmp againmov ah,2mov dl,13mov dl,10int21hmov cx,dimov si,0inc cxagain1:mov ah,2mov dl,array[si]inc siint21hloop again1mov ah,4chint21hcode endsend start5.判断某正整数是否为素数,是输出一,否则输出n 源程序:code segmentassume cs:codestart:mov bx,0next:mov ah,1int21hcmp al,13je exitsub al,30hmov ah,0xchg ax,bxmov cx,10mul cxxchg ax,bxadd bx,axjmp nextexit:mov cx,2next3:cmp cx,bxjz next2mov ax,bxsub dx,dxdiv cxcmp dx,0jz next1inc cxjmp next3next1:call changemov ah,2mov dl,'n'int21hmov ah,4chint21hnext2:call changemov ah,2mov dl,'y'int21hmov ah,4chint21hchange proc nearmov ah,2mov dl,13int21hmov dl,10int21hretchange endpcode endsend start四、结果与分析程序1运行截图:程序2运行截图:程序3运行截图:程序4运行截图:程序5运行截图:五、问题讨论:第三个程序中,考虑到第一个或最后一个字符找不到他的前导字符和后续字符,所以用#代替六、实验扩展(XB2):七、结论:八、实验心得:九、参考文献:IBM-PC汇编语言程序设计(第二版)十、技术支持:实验三数据统计及查找一、实验目的:1.熟悉汇编语言程序的开发方法和过程。

2.掌握汇编语言程序设计中分支及循环程序设计的基本方法。

3.掌握汇编语言程序设计中数据分类统计的基本方法。

二、实验原理:运用存储器寻址方式寻址,找到内存中的相应字符做统计。

三、实验内容:源程序:11.data segmentNum_Dight dw0Num_Letter dw0Num_Others dw0data endscode segmentassume cs:code,ds:datastart:mov ax,0fff0hmov ds,axmov di,0mov cx,100again:mov bx,ds:[di]cmp bx,'0'jb l1cmp bx,'9'jbe l2cmp bx,'A'jb l1cmp bx,'Z'jbe l3cmp bx,'a'jb l1cmp bx,'z'jbe l3jmp l1l1:mov ax,datamov ds,axinc Num_Othersmov ax,0fff0hmov ds,axinc diloop againmov ah,4chint21hl2:mov ax,datamov ds,axinc Num_Dightmov ax,0fff0hmov ds,axinc diloop againmov ah,4chint21hl3:mov ax,datamov ds,axinc Num_Lettermov ax,0fff0hmov ds,axinc diloop againmov ah,4chint21hcode endsend start12.data segmentstr db'he34ll434o43w43or35l3d!' data endscode segmentassume cs:code,ds:data start:mov ax,datamov ds,axmov di,0mov cx,24again:mov dl,str[di]cmp dl,'0'jb nextcmp dl,'9'ja nextnext1:inc diloop againjmp exitnext:mov ah,2mov dl,str[di]int21hjmp next1exit:mov ah,4chint21hcode endsend start流程图:先将0fff0h给到段地址,置循环次数100次,偏移量依次加一找到字母后相应的变量加一找到数字后相应的变量加一既不是字母也不是数字的其他字符相应的变量加一四、结果与分析:五、问题讨论:六、实验扩展:七、结论:可以熟练运用dos系统功能调用(int21h)的综合运用,同时了解了汇编语言的分支结构程序写法。

相关文档
最新文档