当前位置:文档之家› C#语言程序设计实验报告

C#语言程序设计实验报告

C#语言程序设计实验报告
C#语言程序设计实验报告

《C#语言程序设计》实验报告

学院:信息学院

专业:计算机科学与技术

指导教师:

报告人:

学号:

班级:

实验一简单编程练习

一、目的与要求

1、熟悉Visual https://www.doczj.com/doc/8313787904.html,集成开发环境(IDE)

2、熟悉C#源程序语言的编辑、编译和运行过程

3、能够创建、编译和执行一个简单的C#程序

二、实验仪器

Windows操作系统,Microsoft Visual Studio .NET 2010。

三、实验内容

1.开发一个简单的控制台应用程序,该程序完成一段字符的输入,然后输出该字符串。

2.开发一个简单的Windows应用程序,该程序通过鼠标单击按钮在文本框中显示一行字符串。

四、实验过程及结果

1.控制台应用程序

(1)启动.NET 2010。

(2)在“文件”菜单上找到“新建”->“项目”,打开“新建项目”对话框。

(3)在模板一栏选择“控制台应用程序”,在名称一栏输入项目的名称。

(4)位置一栏内指定的是项目存放的目录,可以更改为自己定制的目录,也可以使用系统提供的默认路径。

(5)按确定以后用下面的代码替换Program.cs已有的所有代码:

using System;

namespace TestConsole

{

class Program

{

static void Main()

{

string str;

System.Console.WriteLine("Please input a string !");

str = System.Console.ReadLine();

System.Console.WriteLine(str);

}

}

}

(6)运行应用程序(ctrl + F5)。

2.Windows应用程序

(1)新建项目,选择Windows应用程序,输入名称为:TestWindows。

(2)在主窗体上放置一个TextBox和一个Button。

(3)选中TextBox,展开它的属性面板(单击鼠标右键,选择属性),将它的Name属性设置为txtContent,Text属性设置为空。

(4)选中Button,展开它的属性面板,将它的Name属性设置为btnType,Text属性设置为“显示”。

(5)在窗体上鼠标双击按钮,在生成的事件处理方法内添加如下的代码:

txtContent.Text = "hello!";

(6)运行应用程序(ctrl + F5)。

五、实验总结

C#较其他语言比如Java,在可视化界面方面更方便。采用拖拽式的界面设计操作,对新手来说更好入门。除了界面其他方面和其他语言还有一定区别。

1、必须借助 .NET Framework类库实现

2、必须定义类

3、类的代码主要由方法组成

4、C#程序中的方法的结构由头部和方法体构成

5、C#程序的输入与输出操做:需要借助Console的类方法(ReadLine、WriteLine)

实验二控制结构编程练习

一、目的与要求

1、掌握分支结构语句的语法书写格式

2、掌握循环结构语句的语法书写格式

3、综合利用各种结构语句完成特定的任务

二、实验仪器

Windows操作系统,Microsoft Visual Studio .NET 2010。

三、实验内容

1. 开发一个简单的控制台应用程序,求1!+2!+3!+……+10!。

2. 开发一个简单的控制台应用程序,该程序完成一个一维数组排序编程,然后输出该数组。

四、实验过程及结果

1. 1!+2!+3!+ (10)

(1)启动.NET 2010。

(2)在“文件”菜单上找到“新建”->“项目”,打开“新建项目”对话框。

(3)在模板一栏选择“控制台应用程序”,在名称一栏输入项目的名称。

(4)按确定以后用下面的代码替换Program.cs已有的所有代码:

using System;

class Ex2

{

public static void Main()

{

int i,k,m=1,sum=0;

for (i=1;i<=10;i++)

{

for(k=1;k<=i;k++)

m=m*k;

sum=sum+m;

m=1;

}

Console.WriteLine("1!+2!+3!+……+10!={0}",sum);

}

}

(5)运行应用程序(ctrl + F5)。

2. 一维数组排序编程

(1)启动.NET 2010。

(2)在“文件”菜单上找到“新建”->“项目”,打开“新建项目”对话框。

(3)在模板一栏选择“控制台应用程序”,在名称一栏输入项目的名称。

(4)按确定以后用下面的代码替换Program.cs已有的所有代码:

using System;

namespace shuzu

{

class maopo

{

public static void Main()

{

int[] a=new int[10];

Console.WriteLine("请输入10个整数");

for(int i=0;i<10;i++)

{

Console.Write("第[{0}]个数:",i+1);

a[i]=Int32.Parse(Console.ReadLine());

}

Console.WriteLine("排序前的十个数是:");

for(int i=0;i<10;i++)

{

Console.Write("{0}\t",a[i]);

}

Console.WriteLine();

int temp;//临时变量

for(int j=0;j< 9;j++)

{

for(int i=0;i<9-j;i++)

{

if(a[i]>a[i+1])

{

temp=a[i];

a[i]=a[i+1];

a[i+1]=temp;

}

}

}

for (int i=0;i<10;i++)

{

Console.WriteLine("排序后的结果是:");

Console.Write("{0}\t",a[i]);

}

Console.WriteLine();

}

}

}

(5)运行应用程序(ctrl + F5)。

五、实验总结

循环就是重复执行一些语句。这个技术使用起来非常方便,因为可以对操作重复任意多次,而无需每次都编写相同的代码。

while循环非常类似于do循环,但有一个重要的区别:while语句中的布尔测试是在循环开始时进行,而不是最后。如果测试结果为false,循环代码将不会被执行,而直接执行循环后面的代码。

分支是控制下一步要执行哪些代码的过程。要跳转的代码是由某个条件语句来控制的,这个条件语句使用布尔逻辑,对测试值和一个或多个可能的值进行比较。 C#中的分支结构有以下三种: 1、三元运算其语法如下: <条件运算>?<运算真的结果>:<运算假的结果> 2、if语句其最简单语法: if(<条件运算>) <运算真的结果>; 当然也可以将else语句和if语句合并使用,指定其他的代码。如果<条件运算>的结果为false时就执行else 语句。其语法结构如下: if(<条件运算>) { <运算真的结果> } else { <运算假的结果> }3、我们知道当进行的比较少的情况下用if与else语句是很方便的,但是如果我们进行很多的比较时,就应该考虑使用另一种分支结构:switch语句。

实验三类设计练习

一、目的与要求

1、掌握C#语言定义类的方法。

2、掌握派生类的设计方法。

3、理解运行时多态的含义。

二、实验仪器

Windows操作系统,Microsoft Visual Studio .NET 2010。

三、实验内容

1. 依次定义Rectangle, Circle, Cylinder三个类,Circle类继承于Rectangular,Cylinder继承于Circle。在Rectangle类中需要定义属性,虚拟的Area()方法,虚拟的Name 属性,重写ToString()方法;在Circle类中需要定义属性,重写Area()方法,重写Name 属性,重写ToString()方法,定义周长方法。在Cylinder类中要定义Volume方法,重写Area,ToString方法,Name属性。

定义一个Test类,加入主方法,在主方法中分别定义三个类的对象和实例;定义Rectangle类的对象数组,将数组元素分别引用到刚定义的三个实例上,然后通过基类对象调用重写的方法。

四、实验过程及结果

(1)启动.NET 2010。

(2)在“文件”菜单上找到“新建”->“项目”,打开“新建项目”对话框。

(3)在模板一栏选择“控制台应用程序”,在名称一栏输入项目的名称。

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleApplication2

{

public class Rectangle

{

public const double pi = Math.PI;

private int x, y;

private double width, height;

public Rectangle(int x, int y, double width, double height)

{

this.x = x;

this.y = y;

this.width = width;

this.height = height;

}

public int Y

{

get { return y; }

set { y = value; }

}

public int X

{

get { return x; }

set { x = value; }

}

public double Height

{

get { return height; }

set { height = value; }

}

public double Width

{

get { return width; }

set { width = value; }

}

public virtual double Area()//定义虚拟方法

{

return height * width;

}

public virtual string Name //虚拟属性

{

get

{

return "矩形";

}

}

public override string ToString()

{

return ("左上角坐标" + "(" + X + "," + Y + ")" + " 宽 " + width + " 高 " + height);

}

}

}

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleApplication2

{

public class Circle : Rectangle

{

private int xValue, yValue;

private double radius;

public Circle(int x, int y, double r) : base(x - (int)r, y - (int)r, 2 * r, 2 * r) {

this.xValue=x;

this.yValue=y;

this.radius=r;

}

public int YValue//圆心坐标

{

get { return yValue; }

set { yValue = value; }

}

public int XValue

{

get { return xValue; }

set { xValue = value; }

}

public double Radius

{

get { return radius; }

set { radius = value; }

}

public double Diameter//直径

{

get

{

return Width;

}

}

public double Circumference()

{

return 2*pi*radius;

}

public override double Area() //重写虚拟方法

{

return pi * radius * radius;

}

public override string Name//重写虚拟属性

{

get { return "圆"; }

}

public override string ToString()

{

return ("圆心:" + "(" + xValue + "," + yValue + ")" + " 半径 " + Radius); }

}

}

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleApplication2

{

class Cylinder : Circle

{

private double h;

public Cylinder(int x, int y, double r, double h) : base(x, y, r) {

H = h;

}

public double H

{

get { return h; }

set { h = value; }

}

public override double Area()

{

return pi * Radius * Radius;

}

public double Volume()

{

return base.Area() * H;

}

public override string Name

{

get

{

return "圆柱";

}

}

public override string ToString()

{

return base.ToString() + " 高 " + H;

}

}

}

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleApplication2

{

public class Test

{

public static string ShowArea(Rectangle[] Items)

{

string output = "";

foreach (Rectangle Item in Items)

output += "\n" + https://www.doczj.com/doc/8313787904.html, + ":" + Item.ToString() + " 面积 " + Item.Area();

return output;

}

public static void Main()

{

Rectangle rectangle1 = new Rectangle(0, 0, 35.2, 100);

Circle circle1 = new Circle(10, 8, 10);

Cylinder Cylinder1 = new Cylinder(12, 6, 10.35, 25.6);

Rectangle[] shape = new Rectangle[3];

shape[0] = rectangle1;

shape[1] = circle1;

shape[2] = Cylinder1;

string output = ShowArea(shape);

output += " 体积 " + Cylinder1.Volume();

Console.WriteLine(output, "运行结果");

}

}

}

(4)运行应用程序(ctrl + F5)。

五、实验总结

类的定义是以关键字class开始,后跟类的名称。类的主体,包含在一对花括号内。虚方法特点总结:

1,在父类中把需要设置为虚方法的方法前加virtual标记;

2,虚方法在父类中必须有实现,哪怕是空实现

3,子类继承父类后,可以选择对虚方法进行重写也可以选择不进行重写;

4,当子类重写父类方法的时候,必须保证重写后的方法和原方法的访问修饰符,返回值类型,方法名,参数列表完全一致;

5,当方法的标记是virtual和override的时候都可以重写。

1.实现继承和接口继承

*实现继承:表示一个类型派生于基类型,它拥有该基类型的所有成员字段和函数。在实现继承中,派生类型采用基类型的每个函数的实现代码,除非在派生类型的定义中指定某个函数的实现代码。在需要给现有的类型添加功能,或许多相关的类型共享一组重要的公共功能时,可以使用这种类型的继承。

*接口继承:表示一个类型只继承了函数的签名,没有继承任何的代码。在需要指定该类型具有某些可用的特性时,最好使用这种类型的继承。

2.多重继承

C#不支持多重继承,但C#允许类型派生自多个接口————多重接口继承。这说明,C#类可以派生自另一个类和任意多个接口。更准确的说,因为System.Object是一个公共的基类,所以每个C#(除Object之外)都有一个基类,还可以有任意多个接口。

3.结构的继承

使用结构的一个限制是结构不支持实现继承,但每个结构都自动派生自System.ValueType。不能编码实现类型层次的结构,但结构可以实现接口。

同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,这就是多态性。换句话说,实际上就是同一个类型的实例调用“相同”的方法,产生的结果是不同的。这里的“相同”打上双引号是因为这里的相同的方法仅仅是看上去相同的方法,实际上它们调用的方法是不同的。

实验四委托事件处理编程

一、目的与要求

1.掌握代理的定义,代理的实例化和代理的调用。

2.掌握代理的本质。

3.掌握事件代理的定义,事件的定义,事件的触发以及实例化事件代理和事件处理方法的实现。

4.了解事件参数类的定义和使用方法。

二、实验仪器

Windows操作系统,Microsoft Visual Studio .NET 2010。

三、实验内容

在一个文本框中输入圆的半径,回车之后,将半径的值赋给circle类(自定义的类)的R属性,从而触发一个事件,在主窗体类中设计事件处理方法,在事件处理方法中要根据半径的值计算对应的圆的面积,周长和对应的球的体积。计算的结果通过文本框的方式显示出来。

注意需要定义一个事件参数类来记录半径的值,事件触发后将半径的值传递给事件处理方法,事件处理方法才能根据半径的值进行计算。

四、实验过程及结果

1.创建一个名为“EventExample”的Windows应用程序,在主窗体上放置两个TextBox,将第二个TextBox的Multiline属性设置为true,ReadOnly属性设置为true,如下图所示。

2.向应用程序添加一个类,在对应文件中添加如下代码:

using System;

using System.Collections.Generic;

using System.Text;

namespace EventExample

{

class RadiusEventArgs : EventArgs //事件参数类的定义

{

private double r;

public RadiusEventArgs(double r)

{

this.r = r;

}

public double R

{

get

{

return r;

}

}

}

class Circle //Circle 类的定义

{

private double r;

public delegate void MyDelegate(object ob, RadiusEventArgs e);

//定义代理

public event MyDelegate radiusEvent; //定义事件

public double R

{

set

{

r = value;

}

}

}

}

3.回到主窗体的类,添加Circle类的对象;radiusEvent事件的实例化(封装事件处理方法);编写事件处理方法。

public partial class Form1 : Form

{

private Circle c;

public Form1()

{

InitializeComponent();

创建Circle类的实例;

c.radiusEvent 事件实例化;

}

void c_radiusEvent(object ob, RadiusEventArgs e)

{

textBox2.Text = "面积=" + (Math.PI * e.R * e.R).ToString() + "\r\n" + "周长 =" + (2 * Math.PI * e.R).ToString() + "\r\n" + "体积 =" + (4.0 / 3 * Math.PI * e.R * e.R * e.R).ToString();

}

4.映射textBox1的KeyDown事件,判断当输入回车时修改Circle类的R属性。

c.R = Convert.ToDouble(textBox1.Text);

5.运行程序,测试设计的功能。

五、实验总结

代理就是用来定义指向方法的引用

1.代理声明的语法:

[public/private] delegate <返回值类型> <代理名称>(<参数列表>);

2.代理“实例化”:

代理声明相当于类的定义。有了类的定义后我们要还需生成这个类的对象;同样有了代理的声明我们还需要“实例化”代理

委托是一种引用方法的类型。一旦为委托分配了方法,委托将于该方法具有完全相同的行为。委托的方法的使用可以向其他任何方法一样,具有参数和返回值。

委托与代理的比较

代理:是把一些事情交给某人帮忙去完成。

委托:是当某件事情发生的时候,顺便干某件事情。委托就相当于一个触发器罢了。

实验四 WinForm程序设计

一、目的与要求

1.熟悉Windows应用程序的创建方法。

2.掌握代理的本质。

3.掌握事件代理的定义,事件的定义,事件的触发以及实例化事件代理和事件处理方法的实现。

4.了解事件参数类的定义和使用方法。

二、实验仪器

Windows操作系统,Microsoft Visual Studio .NET 2010。

三、实验内容

创建一个Windows应用程序能实现简单的打字功能。首先随机生成一段英文字母序列,这段文本只能由英文大小写字母、数字、空格组成。用户可以在文本框中输入对应的文本,实现打字操作,待完成后,程序能给出此次打字的成绩,并重新随机生成一段文本。程序的界面类似下面的形式:

在窗体上需要安装一个定时器,出题后设置打字总时间启动定时器,定时器每触发一次click事件修改一次剩余时间,当剩余时间为零时不允许再答题。

在输入字符的过程中对输错的字符给出提示。

四、实验过程及结果

1.创建名为Typer的Windows应用程序。

2.在主窗体上放置如示例所示的控件。两个TextBox、三个按钮和多个Label,一个

richTextBox。分别设置好它们的属性。

3.在窗体上放置一个定时器,映射定时器的tick事件。将定时器的Interval属性设置

为1000,即一秒钟更新一次label。

if (time > 0)

{

time--;

int time1 = time / 60;

int time2 = time % 60;

label3.Text = time1 +":"+time2;

}

else {

timer1.Enabled = false;

richTextBox2.Enabled = false;

MessageBox.Show("正确" + h + "个");

}

4.打开主窗体对应的代码文件,在成员定义中加入以下几个成员的定义:存放随机生成

的源字符串对象;存放输入字符的目的字符串对象;存放固定字符的字符数组;存放设置字符个数的整型变量。

5.在窗体的构造方法中对存放固定字符的数组进行初始化,例如:

a = new

char[ ]{'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G' ,'H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Z','a ','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s',' t','u','v','w','x','y','z'};

6.分别映射三个按钮的单击按钮事件,对三个按钮应当起到的作用描述如下:

“设置”按钮,应当根据它旁边的编辑框中输入的数字来设置出题的字符个数;“开始出题并计时”按钮应当构造一个随机数发生器,然后循环随机生成0~61范围内的随机数,将这个随机数作为字符数组的下标,继而获得随机字符串。”交卷”按钮要比较源串和目标字符串之间相同字符的个数,利用消息框给出成绩。

随机字符串的生成代码:

string str = "";

int i, t;

Random rand = new Random();

for (i = 0; i < n; i++)

{

t = rand.Next(0, 61);

str += a[t].ToString();

}

7.映射输入文本框(richTextBox)的TextChanged事件,在事件处理方法中将出错的字符进行变色显示提醒用户。参考代码如下:

private void richTextBox1_TextChanged(object sender, System.EventArgs e) {

int t = richTextBox1.TextLength;

if(t != 0)

{

if(t> n)

{

MessageBox.Show("输入的字符超出计划数目","警告

",MessageBoxButtons.YesNo,MessageBoxIcon.Error);

return ;

}

else if(richTextBox1.Text[t-1] != textBox1.Text[t-1] )

{

richTextBox1.Select(t-1,1);

richTextBox1.SelectionColor = Color.Red;

richTextBox1.Select(t,0);

}

else

{

richTextBox1.Select(t-1,1);

richTextBox1.SelectionColor = Color.Black;

richTextBox1.Select(t,0);

}

}

}

五、实验总结

事件(event)是一个非常重要的概念,我们的程序时刻都在触发和接收着各种事件:鼠标点击事件,键盘事件,以及处理操作系统的各种事件。所谓事件就是由某个对象发出的消息。比如用户按下了某个按钮,某个文件发生了改变,socket上有数据到达。触发事件的对象称作发送者(sender),捕获事件并且做出响应的对象称作接收者(receiver),一个事件可以存在多个接受者。

在异步机制中,事件是线程之间进行通信的一个非常常用的方式。比如:用户在界面上按下一个按钮,执行某项耗时的任务。程序此时启动一个线程来处理这个任务,用户界面上显示一个进度条指示用户任务执行的状态。这个功能就可以使用事件来进行处理。可以将处理任务的类作为消息的发送者,任务开始时,发出“TaskStart”事件,任务进行中的不同时刻发出“TaskDoing”事件,并且携带参数说明任务进行的比例,任务结束的时候发出“TaskDone”事件,在画面中接收并且处理这些事件。这样实现了功能,并且界面和后台执行任务的模块耦合程度也是最低的。

C语言程序设计实验报告参考答案

长沙理工大学C语言实验报告参考答案 实验一熟悉C语言程序开发环境及数据描述四、程序清单 1.编写程序实现在屏幕上显示以下结果: Thedressislong Theshoesarebig Thetrousersareblack 答案: #include main() { printf("Thedressislong\n"); printf("Theshoesarebig\n"); printf("Thetrousersareblack\n"); } 2.改错题(将正确程序写在指定位置) 正确的程序为: #include main() {

printf("商品名称价格\n"); printf("TCL电视机¥7600\n"); printf("美的空调¥2000\n"); printf("SunRose键盘¥50.5\n"); } 2.编写程序:a=150,b=20,c=45,编写求a/b、a/c(商)和a%b、a%c(余数)的程序。 答案: #include main() { inta,b,c,x,y; a=150; b=20; c=45; x=a/b; y=a/c; printf("a/b的商=%d\n",x);

printf("a/c的商=%d\n",y); x=a%b; y=a%c; printf("a/b的余数=%d\n",x); printf("a/c的余数=%d\n",y); } 4.设变量a的值为0,b的值为-10,编写程序:当a>b时,将b赋给c;当a<=b时,将a赋给c。(提示:用条件运算符) 答案: #include main() { inta,b,c; a=0; b=-10; c=(a>b)?b:a; printf("c=%d\n",c); }

《C语言课程设计》实验报告

《C语言课程设计》报告 学院:信息工程学院 专业:信息管理与信息系统设计题目:通讯录程序设计班级:2016级一班 学号:201601510138 姓名:张进步 指导教师:杨菲菲 时间:12.24

学生通讯管理系统 1.1 设计目的 学习如何实现一个复杂的信息管理系统——学生通讯管理系统,能够实现老师对学生基本信息的记录、查询、修改。 通过本次学习,读者能够掌握: (1)如何设计主菜单和子菜单,以及各级菜单的响应与返回操作; (2)如何合理设计不同的结构体对系统中多个实体进行封装; (3)如何合理设计多个结构体数组管理不同实体对应的数据; (4)如何对复杂的函数过程进行拆分,用多个子函数进行封装; (5)进一步熟悉文件读取的相关操作。 1.2需求分析 本章的学生信息管理系统的主要功能面向老师,能够实现对学生信息进行录入、修改、查询。 学生信息方面的功能需求如下。 (1)新增学生信息,包括姓名、籍贯、电话号码(2)、电子邮箱。 (2)修改学生信息,可以选择对某个学生的某个属性值进行修改。 (3)查找学生信息,即输入要查找的学生学号,实现学生信息查询。 (4)显示所有学生信息,并以列表的形式清晰呈现。 1.3总体设计 系统功能结构图如图所示;学生信息管理系统 学生信息管理模块:包括4个子模块,分别是学生信息的录入,学生信息的修改,学生信息的查询,学生信息的浏览。

1.4详细设计与实现 1.4.1 预处理及数据结构 1.头文件 本项目涉及4个头文件,其中#include使用字符串的函数的时候需要添加此头文件,#include #include /*system使用的函数*/ #include /*getchar、getch函数使用的头文件*/ #include /*strcmp比较2个字符串是否一样*/ 2.宏定义 LEN sizeof(struct student)表示struct student的长度。DATA是按格式输出结构体的各项数据,能够方便输出操作,减少代码量。 #define_CRT_SECURE_NO_W ARNINGS #include #include #include #include #define LEN sizeof(struct student) #define FORMAT "%-8d%-15s%-15s%-15d%-15d%-15s\n" #define DATA stu[i].numb,stu[i].name,stu[i].nat,stu[i].num1,stu[i].num2,stu[i].mail 3.结构体 利用一个结构体struct student struct student/*定义学生信息结构体*/ { int numb;/*学号*/ char name[15];/*姓名*/ char nat[16];/*籍贯*/ int num1;/*电话号码1*/ int num2;/*电话号码2*/ char mail[40];/*邮箱*/ }; 4.全局变量 分别利用全局变量结构体数组struct student stu[50];来记录所有学生的基本信息,避免程序运行过程中多次初始化,方便各个式子函数调用。 struct student stu[50];

程序设计实验报告

学生实验报告 院系:测绘学院 专业班级:测绘13级3班 学号:2013305517 学生姓名:王泽 指导教师:郭辉老师 2016年05月20日

安徽理工大学实验报告 实验课程名称:数据结构与软件开发上机实验 开课院系及实验室:测绘学院红楼二楼机房 实验1 编程基本知识练习 实验目的: 通过该实验课内容的练习,学生应掌握VB 编程的基本语法、变量的定义、数组(动态数组)的定义、VB 语言中子过程与函数的定义以及文本文件的读写等知识。 实验内容: 1)变量的定义动态数组的定义与应用; 2)矩阵的加、减、乘运算(定义Sub()子过程或Function()来实现); 3)数据文件的建立、数据的读取与写入。 实验步骤: 1.编辑界面 1.1 打开VB 编程工具,进入编程主界面。

1.2 在窗体上新建“读入数据”和“输出数据”两个按钮。 1.3 双击“窗体”进入代码输入界面,进行代码编辑。 2.用VB 编写的源代码 2.1 矩阵基本运算源码详见附录一。 (1)两矩阵相加 (2)两矩阵相减 (3)矩阵转置 (4)两矩阵相乘 (5)矩阵求逆 2.2 文本文件(本实验中data.txt)的读取源代码 (1)建立文本文件并输入数据 在桌面上新建一“data.txt” ( 文本文件路径为C:\Users\ WH\Desktop\练习\data.txt”)。输入以下内容: 6,7,4,0.005 A,35.418 B,45.712 C,25.270

D,24.678 在桌面上新建一“result.txt” ( 文本文件路径为C:\Users\ WH\Desktop\练习\result.txt”)。(2)从文本文件中读数据 Dim linedata as string, m_GaochaN as integer,m_Pnumber as integer,m_knPnumber as integer,M as Double,k1 as integer 'linedata 为存储文本文件一行信息的字符串变量 Dim a() as String,H() as Double 'a()为存储点名,H()存储高程 Open“C:\Users\ WH\Desktop\练习\data.txt”For Input As #1 Line Input #1, linedata k = Split(linedata, ",") m_GaochaN = Val(k(0)) m_Pnumber = Val(k(1)) m_knPnumber = Val(k(2)) M = CDbl(k(3)) For k1 = 1 To m_knPnumber Line Input #1, linedata k = Split(linedata, ",") a(k1)= k(0) GetstationNumber (a) H(k1) = CDbl(k(1)) Next Close #1 (3)将读入点名存储到点名数组中,且返回该点名所对应编号 Function GetstationNumber(name As String) Dim i As Integer For i = 1 To m_Pnumber If P_Name(i) <> "" Then '将待查点名与已经存入点名数组的点比较 If P_Name(i) = name Then GetstationNumber = i Exit For End If Else '待查点是新的点名,将新点名放到P_Name 数组中 P_Name(i) = name GetstationNumber = i Exit For End If Next i End Function (4)从文本文件中写数据(将从data.txt 读入的数据,写入到result.txt 文件中) Open“C:\Users\ WH\Desktop\ 练习\result.txt” For Output As #1 outstring = outstring + str(m_GaochaN) +","

C语言程序设计实验报告(实验大纲+过程)

《C程序设计》实验教学大纲 一、适用范围 大纲适用信息管理专业本科教学使用。 二、课程名称 C程序设计 三、学时数与学分 总学时:90 总学分:4 实验学时:28 实验学分:1 四、教学目的和基本要求 目的:通过C程序设计实验,培养学生对学习程序设计的兴趣,加深对讲授内容的理解,尤其是通过上机来掌握语法规则,使学生全面了解 C 语言的特点,熟练掌握 C 语言程序设计的基本方法和编程技巧。 基本要求:了解和熟悉C语言程序开发的环境;学会上机调试程序,善于发现程序中的错误,并且能很快地排除这些错误,使程序能正确运行,达到实验知识和理论知识的融会贯通。上机实验前,学生必须事先根据题目的内容编好程序,然后在实验时输入程序、调试程序、直至运行结果正确为止,上机结束后,应整理出实验报告。 注:带*的实验项目为选做实验项目 六、教材、讲义及参考书 《C程序设计题解与上机指导》谭浩强主编清华大学出版社 七、实验成绩评定办法 实验成绩=平时实验表现+实验报告。实验成绩占总成绩的20%。 实验成绩以等级形式给出,评定等级分优、良、中、及格、不及格五类。 1、平时考核:上机实验前,学生必须事先根据题目的内容编好程序,然后在实验时输入程序、调试程序、直至运行结果正确为止。在实验中,教师可根据学生编程操作能力、观察和分析及运用知识能力、程序编制正确性以及学生的课堂纪律、实验态度、保持实验室卫生等方面的表现进行综合考核。

2、实验报告:学生实验后应按时完成实验报告。 八、实验教学大纲说明 本大纲共安排28学时的实验,其中带*号实验项目为选做实验项目,实际课时为18学时。实验项目多为设计性实验项目,每个设计性实验项目中都包含数个小的设计性题目,其中带*号的题目为选做题目,有时间和有能力的同学可以选做。 九、实验项目 实验一C程序的运行环境和运行一个C程序的方法 一、实验目的 1.了解Visual C++6.0编译系统的基本操作方法,学会独立使用该系统。 2.了解在该系统上如何编辑、编译、连接和运行一个C程序。 3.通过运行简单的C程序,初步了解C源程序的特点。 二、实验内容 1.用编辑程序,输入教材第一章例1.1程序,并进行编译和运行。应了解所用的系统是用什么命令进行编译和连接运行的。编译和连接后所得到的目标程序的后缀是什么形式的? 2.编写一个C程序,输出以下信息: **************************** very good! **************************** 3.输入并运行教材第一章中例1.3,了解如何在运行时向程序变量输入数据。 实验二数据类型、运算符和表达式 一、实验目的 1.掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用格式转换符。 2.学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用。 二、实验内容 1.输入并运行以下程序: main( ) { char c1,c2; c1=97;c2=98; pr intf(“%c %c\n”,c1,c2); printf(“%d %d\n”,c1,c2); } 在此基础上 ①将第三行、第四行改为: c1=321;c2=353; 再使之运行,分析其运行结果。 ②将第二行改为: int c1,c2; 再使之运行,分析其运行结果。。 2.输入并运行以下程序:

华中科技大学计算机学院C语言课设实验报告

华中科技大学计算机科学与技术学院 《C语言程序设计》课程设计 实验报告 题目:科研项目信息管理系统 专业:计算机 班级: 学号: 姓名: 成绩: 指导教师:李开 完成日期:2009年10 月20 日

科研项目信息管理系统一、系统功能结构模块图 二、数据结构设计及其用法说明 typedef struct lakey{ char name[30];/*团队名称*/ int total;/*自然科学基金的科研项目数*/ float dudu;/*经费数*/ struct lakey *next; }*plakey;/*统计3中用到的数据结构*/ typedef struct emmey{ char name[30];/*团队名称*/ int teacher;/*老师人数*/ int harden;/*项目数*/ float bizhi;/*比值*/ struct emmey *next; }*pemmey;/*统计4中用到的数据结构*/ typedef struct kPro{ char code[15];/*项目编号*/ char sort;/*项目种类*/ int aking1; char time[8];/*项目时间*/ float dudu;/*项目经费*/ int aking2;

char beiler[15];/*负责人*/ int aking3; char keynoName[30];/*所在团队名称*/ struct kPro *next; }harden,*pHarden; typedef struct Komo{ int teacher;/*老师人数*/ char name[20];/*院系名称*/ int student;/*学生人数*/ float bizhi;/*二者比值*/ struct Komo *next; }*pKomo;/*统计1中用到的数据结构,统计结果放在这个数据结构中*/ typedef struct kTea{ char name[30];/*团队名称*/ char beiler[15];/*负责人*/ int stuNum;/*学生人数*/ int aking2; int coco;/*老师人数*/ char colName[20];/*所在院系的名称*/ int aking1; struct kTea *next; pHarden child; }keyno,*pKeyno; typedef struct edward{ char name[20];/*院系名称*/ int totalnum;/*项目总数*/ int num973;/*973项目数*/ int num863;/*863项目数*/ float amount;/*经费数*/ struct edward *next; }*pedward;/*统计2中用到的数据结构*/ typedef struct kCol{ char name[20];/*院系名称*/ int aking; char beiler[15];/*院系负责人*/ struct kCol *next; char call[15];/*负责人电话号码*/ pKeyno child; }kekey,*pKekey;

网络程序设计实验报告-Winsock编程接口实验

网络程序设计 实验报告 实验名称: Winsock编程接口实验 实验类型:____验证型实验_____ __ 指导教师:______________________ 专业班级:_____________________ 姓名:_______________________ 学号:_____________________ 电子邮件:____________ 实验地点:______ _______ 实验日期2013 年 3 月29 日 实验成绩:__________________________

一、实验目的 ●掌握Winsock的启动和初始化; ●掌握gethostname(),gethostbyname(),GetAdaptersInfo()等信息查询函数的使用。 二、实验设计 由实验内容可以知道: 1、编写程序能同时实现对多个域名的解析。比如在控制台输入:getip https://www.doczj.com/doc/8313787904.html, https://www.doczj.com/doc/8313787904.html,,能输出https://www.doczj.com/doc/8313787904.html,和https://www.doczj.com/doc/8313787904.html,对应的IP地址列表。 2、编写程序获取并输出本地主机的所有适配器的IP地址,子网掩码,默认网关,MAC 地址。 首先要了解一些基本的知识gethostname(),gethostbyname(),GetAdaptersInfo()等信息查询函数的基本知识gethostbyname()返回对应于给定主机名的包含主机名字和地址信息的hostent结构指针。结构的声明与gethostaddr()中一致。 之后要根据内容画出函数流程图

三、实验过程(包含实验结果) 1.在实验过程中调用GetAdaptersInfo()时,出现了undeclared identifier的报错,原因是没有包含其头文件,之后进行一些修改解决了问题. 2.实验结果 3.选择查看本机信息 四、讨论与分析 1.Winsock初始化的作用是什么? 答:使用winsock初始化可加载winsock编程的动态链接库。

C语言程序设计实验报告(数组)

C语言程序设计实验报告(数组) 1实验目的 (1)熟练掌握一维数组,二维数组的定义,初始化和输入、输出方法; (2)熟练掌握字符数组和字符串函数的使用; (3)掌握与数组有关的常用算法(查找、排序等)。 2实验内容 编写函数catStr(char str1[],char str2[])用于进行两个字符串的连接,编写函数lenStr(char str[])用于统计一个字符串的长度,并在主函数中调用。 要求: 1、不允许用strcat()和strlen()字符处理库函数; 2、在主函数以直接初始化的方式输入两个字符串str1和str2.调用函数 strlen()计算并返回两个字符串的长度; 3、调用函数catstr()连接两个字符串(将str2连接在str1后面); 4、调用函数lenstr()计算并返回连接后字符串的长度; 5、在主函数中输入两个原始的字符串及几个字符串的长度,以及处理后字 符串及其长度。

3算法描述流程图

4源程序 #include #include void catStr(char str1[],char str2[]) { int i,j; for (i=0;str1[i]!='\0';i++); for(j=0;str2[j]!='\0';j++) str1[i+j]=str2[j]; str1[i+j]='\0'; } lenStr(char m[] ) {int i;

for (i=0;m[i]!='\0';i++); printf("%d",i); } void main() {char s1[50]="forever",s2[50]="more"; printf("s1=%s,s2=%s",s1,s2); printf("\ns1的长度:"); lenStr(s1); printf("\ns2的长度:"); lenStr(s2); catStr(s1,s2); printf("\n连接后的字符:"); printf("%s\n",s1); printf("连接后字符的长度:"); lenStr(s1); printf("\n"); } 5测试数据 s1=forever, s2=more 6运行结果 7出现问题及解决方法 在输入程序时,少写了半边引号,调试时发现存在错误,找到了错误并加以改正。无论什么事,细心都是必不可少的,认真是解决问题的关键。 8实验心得 通过本次实验,对于函数的定义和声明,数组以及循环语句有了进一步的认识,掌握了字符数组和字符串函数的使用,以及与数组有关的常用算法。此次实验不是调用strlen()和strcat()函数,而是通过自己设计程序来进行字符串的连接以及计量字符串的长度,由此我学会了如何去理清自己的思路来设计程序。

网络编程实验报告

实验一TCP Socket API程序设计 一、预备知识 1.网络编程基本概念 网络上的计算机间的通讯,实质上是网络中不同主机上的程序之间的通讯。在互联网中使用IP地址来标识不同的主机,在网络协议中使用端口号来标识主机上不同进程,即使用(IP地址,端口号)二元组。 套接字(Socket)用于描述IP地址和端口,是一个通信链的句柄,通信时一个网络程序将要传输的一段信息写入它所在主机的Socket中,该Socket通过与网络接口卡相连的传输介质将这段信息发送到另一台主机的Socket中,以供其他程序使用。 图1-1 TCP通信流程 2.TCP通信流程 TCP程序是面向连接的,程序运行后,服务器一直处于监听状态,客户端与

服务器通信之前必须首先发起连接请求,由服务器接收请求并在双方之间建立连接后才可以互相通信。 二、实验目的 1.了解Winsock API编程原理; 2.掌握TCP Socket程序的编写; 3.了解C/S模式的特点; 4.学会解决实验中遇到的问题。 三、实验任务 使用Winsock API相关类实现TCP Socket通信程序,并能成功运行。 四、实验环境及工具 1. Windows2000/XP/7 2. Visual C++开发平台 3. Visual Studio2010 五、实验内容和步骤 参照《Visual C++网络编程教程》书中81页,TCP Socket API程序设计。 连接: void CChatClientDlg::OnConnect() { WSADATA wsd; //WSADATA结构 WSAStartup(MAKEWORD(2,2),&wsd); //加载协议,使用Winsock 2.2版 m_client = socket(AF_INET,SOCK_STREAM,0); //创建流式套接字 //服务器地址 sockaddr_in serveraddr; UpdateData(); if(ServerIP.IsBlank()) { AfxMessageBox("请指定服务器IP!"); return; } if(sPort.IsEmpty()) { AfxMessageBox("请指定端口!"); return; }

C程序设计实验报告

实验1 C程序运行环境、数据类型、运算符和表达式 一、实验目的 1. 掌握Turbo C集成环境的进入与退出、Turbo C集成环境各种窗口的切换,了解Turbo C集成环境的设置。 2. 掌握C语言源程序的建立、编辑、修改、保存及编译和运行等操作。 3. 学会使用C语言的基本运算符(主要是算术运算符、赋值运算符)及其表达式。 4. 掌握C语言源程序的结构特点与书写规范。 二、实验要求 1. 根据题目要求,进行各种程序测试与验证,并记录结果。 2. 上机调试程序。按各个程序输入计算机,并进行编译和连接,如果在编译、连接中有错误信息,则要根 据这些信息找到程序中的错误所在,然后修改程序,直至正确。 3. 详细记录数据的输入、输出信息,按要求写出实验报告。 三、实验内容 1. 开机;进入Turbo C集成工作环境,了解Turbo C集成工作环境及其菜单的使用,输入如下C语言源程序,并以exl.C存盘。 / *ex1.c* / #include main() { printf("Hello!\n"); printf("This is C program!\n"); } 试编译、连接、运行该程序,并按Alt+F5查看运行结果。 运行结果是: 2. 输入并调试运行以下程序,查看运行结果 (由此结果可以了解到在实验用的微型机上,几种数据类型所占的字节数)。 main() { printf("char\t%d bytes\n",sizeof(char)); printf("short\t%d bytes\n",sizeof(short)); printf("int\t%d bytes\n",sizeof(int)); printf("long\t%d bytes\n",sizeof(long)); printf("float\t%d bytes\n",sizeof(float)); printf("double\t%d bytes\n",sizeof(double)); } 运行结果是: 3. 输入并调试运行以下程序。 main() {int i,j,m,n; i=8;j=10;

89C51单片机课程设计之秒表设计实验报告

单片机课程设计报告 单 片 机 秒 表 系 统 课 程 设 计 班级: 课程名称:秒表设计 成员: 实训地点:北校机房 实训时间:6月4日至6月15日

目录 1课程设计的目的和任务 1.1 单片机秒表课程设计的概述 1.2课程设计思路及描述 1.3 课程设计任务和要求 2硬件与软件的设计流程 2.1系统硬件方案设计 2.2所需元器件 3 程序编写流程及课程设计效果 3.1源程序及注释 3.2原理图分析 3.3课程设计效果 4 心得体会

1. 课程设计的目的和任务 1.1单片机秒表课程设计的概述 一、课程设计题目 秒表系统设计——用STC89C51设计一个4位LED数码显示“秒表”,显示时间为000.0~9分59.9秒,每10毫秒自动加一,每1000毫秒自动加一秒。 二、增加功能 增加一个“复位”按键(即清零),一个“暂停”和“开始”按键。 三、课程设计的难点 单片机电子秒表需要解决几个主要问题,一是有关单片机定时器的使用;二是如何实现LED的动态扫描显示;三是如何对键盘输入进行编程;四是如何进行安装调试。 四、课程设计内容提要 本课程利用单片机的定时器/计数器定时和记数的原理,结合集成电路芯片8051、LED数码管以及课程箱上的按键来设计计时器。将软、硬件有机地结合起来,使得系统能够正确地进行计时,数码管能够正确地显示时间。其中本课程设计有三个开关按键:其中key1按键按下去时开始计时,即秒表开始键,key2按键按下去时数码管清零,复位为“00.00”. key3按键按下去时数码管暂停。 五、课程设计的意义 1)通过本次课程设计加深对单片机课程的全面认识复习和掌握,对单片机课程的 应用进一步的了解。 2)掌握定时器、外部中断的设置和编程原理。 3)通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。 4)该课程通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系统, 拥有正确的计时、暂停、清零,并同时可以用数码管显示,在现实生活中应用广泛,具有现实意义 1.2课程设计思路及描述

C+程序设计实验报告-2013

C++程序设计 实验报告 专业计算机科学与技术班级 ____________ 学号 ____________ 姓名 ____________ 指导教师 __许加兵_ 信息与电子工程学院2013年9月-12月

C++程序设计实验报告 专业__________班级__________学号__________姓名__________ 成绩____________ 指导教师____________ 日期____________ 实验1 C++集成开发环境与C++函数程序设计 一、实验目的 1、了解和使用Visual Studio 2010的C++集成开发环境; 2、熟悉Visual Studio 2010环境的基本命令、功能键和常用的菜单命令; 3、学会完整的C++程序开发过程; 4、学习并掌握C++函数程序设计; 二、实验内容 1、安装、了解和使用Visual Studio 2010的C++集成开发环境; 2、通过以下的C++函数程序设计,熟悉Visual Studio 2010环境的基本命令、功能键和常用的菜单命令; 3、通过以下的C++函数程序设计,学会完整的C++程序开发过程; 4、完成以下的C++函数程序设计和调试: 1)编写一个函数print(),将一个整型向量输出到cout。此函数接受两个参数:一个字符串(用于“标记”输出)和一个向量。 2) 编写一个函数,接受一个vector 参数,返回一个vector ,其每个元素值是对应字符串的长度。此函数还找出最长和最短的字符串,以及字典序第一个和最后一个字符串。 三、简要说明C++开发环境安装和配置的过程

C程序设计上实验报告(完整版)

C语言程序设计上机实验报告 学院:机械工程学院 班级:机自161213 姓名:刘昊 学号:20162181310 实验时间:2017年3月6号 任课老师:张锐

C语言程序设计上机实验报告 实验一 一、实验名称: C程序的运行环境和运行C程序的方法 二、实验目的:了解在C编译系统上如何编辑、编译、连接和运行一个C 程序 三、实验内容: (1). 输入并运行一个简单的C程序。 (2). 设计程序,对给定的两个数求和。 (3). 设计程序,对给定的两个数进行比较,然后输出其中较大的数。 四、源程序代码: 代码1: 运行结果1:

程序分析1: 该程序用来判断所输入的整数是否为一个素数,如果一个数能被除了1和它本身整除,还能被其它数整除,那么它就不是一个素数,因此,用for 循环来进行整除过程的简写。 代码2: 运行结果2:

程序分析2: 简单的使用printf()和scanf()函数进行简单的数据运算。代码3: 运行结果3:

程序分析3: 使用if语句进行判断。 五.实验总结 C语言程序设计上机实验报告 实验二 一、实验名称:顺序结构程序设计 二、实验目的:正确使用常用运算符(算术运算符、赋值运算符)的用法, 熟练掌握算术运算符及其表达式,逻辑运算符和逻辑表达式。 三、实验内容: (1). 编写程序,实现小写字母转大写。

(2). 编写程序,实现输入两个不同类型数据后,经过适当的运算(加、减、乘、除)后输出。 (3). 编写程序,计算三角形面积、立方体的体积和表面积、圆的面积和周长。 (4). 编写程序,实现单字符getchar和putchar输入输出。 (5). 编写程序,实现十进制、八进制、十六进制不同数制的输出。 四、源程序代码 代码1: 运行结果1: 程序分析1:

(完整版)C语言课程设计实验报告

目录 目录 (1) 第1章问题描述 (2) 1.1 题目 (2) 1.2基本要求 (2) 第2章需求分析 (2) 1.1软件的基本功能 (2) 1.2输入/输出形式 (2) 1.3测试数据要求 (3) 第3章概要设计 (3) 1.1主程序 (3) 第4章详细设计 (4) 1.1数据类型 (4) 1.2伪码算法 (4) 1.3 程序流程图 (7) 第5章操作 (8) 1.1 进入足球比赛积分排行榜界面 (8) 1.2进入目录 (8) 1.3输入球队比赛信息 (10) 1.4 显示九轮比赛排行榜 (12) 1.5 保存数据 (15) 1.6 由D 盘查看数据 (16) 第6章参考文献 (16)

第1章问题描述 1.1 题目 足球比赛积分排行榜程序 1.2基本要求 (1)10个足球队进行9轮循环赛,胜一场积3分,平一场积1分,输一场积0分。 (2)如果两个队积分相同,进行净胜球的比较,如果净胜球再相同进行总进球的比较。 (3)编写一程序输入每轮比赛的比分,并可以存储。 (4)最后统计出每轮比赛的积分榜。 第2章需求分析 1.1软件的基本功能 (1)输入10个足球队的9轮比赛进球数。 (2)计算10个球队的积分,净胜球,总进球。 (3)对9轮比赛进行排序。 1.2输入/输出形式 由键盘输入,屏幕输出,并且以TXT形式保存。

1.3测试数据要求 输入九轮比赛10个足球队的进球数,由系统统计积分、净胜球、总进球数,并输出。 第3章概要设计 1.1主程序 头文件: #include 说明:main函数的头文件,控制整个程序。 #include 说明:清屏的头文件。 #include 说明:包括了大量的函数原型,调用现成的库函数。 #include 说明:基于char*的字符串处理函数。 全局变量: void input(); 输入数据函数 void sort(); 排序数据函数 void display(); 显示数据函数 void save(); 保存数据函数

算法程序设计实验报告

程序设计》课程设计 姓名:王 学号:20100034 班级:软件工程00 班 指导教师:王会青 成绩: 2010年 6 月 实验一.构造可以使n 个城市连接的最小生成树 专业:__软件工程___ 班级:__软件姓名:_王___ 学号:_20100034 完成日期:_2010/6/26 ________ 一、【问题描述】给定一个地区的n 个城市间的距离网,用Prim 算法或Kruskal 算法建立最小生成树,并计算得到的最小生成树的代价。 1 城市间的道路网采用邻接矩阵表示,邻接矩阵的存储结构定义采用课本中给出的定义,若两个城市之间不存在道

路,则将相应边的权值设为自己定义的无穷大值。 2 显示出城市间道路网的邻接矩阵。 3 最小生成树中包括的边及其权值,并显示得到的最小生成树的总代价。 4 输入城市数、道路数→输入城市名→输入道路信息→执行Kruskal 算法→执行Prim 算法→输出最小生成树 二、【问题分析】 1. 抽象数据类型结构体数组的定义: #ifnd ef ADJACENCYMATRIXED// 防止该头文件被重复引用 #define ADJACENCYMATRIXED // 而引起的数据重复定义 #define INFINITY 32767 // 最大值∞ #define MAX_VERTEX_NUM 20 // 最大顶点个数 typedef int VRType; // 权值,即边的值 typedef char InfoType; // 附加信息的类型,后面使用时会定义成一个指针 typedef char VertexType[MAX_VERTEX_NUM]; // 顶点类型 typedef enum {DG=1, DN, UDG, UDN} GraphKind; //{ 有向图,有向网,无向图,无向网} typedef struct ArcCell { VRType adj; //VRType 是顶点关系类型。对无权图,用1 或0 表示相邻否;对带权图,则为权值类型。 InfoType*info; // 该弧关系信息的指针

c程序设计实验报告.docx

. C++ 程序设计 实 验 报 告 : 班级: 学号: 指导教师:

. 实验一VC6.0 环境入门与简单程序设计 一、实验目的: 1、熟悉 VC++6.0 开了环境并编写简单的C++ 程序。 3、使用 C++ 语言编写简单的输入输出程序。 4、使用 VC++6.0 的 DEBUG 调试功能:单步执行、设置断点、观察变量值。 二、实验内容: 1、使用 VC++ 建立一个标准C++ 程序,编译、运行如下程序: #include Int main() { Cout<< ”Hello World!\n”; Cout<< ”Welcome to C++!\n”; } 2、编程计算图形的面积。程序可计算圆形、长方形、正方形等的面积,运行时首先提 示用户选择图形类型,然后根据不同图形类型,输入相关参数计算其面积,并将其显示出来。 #include using namespace std; void circle_area(); void rectangle_area(); void square_area(); int main()

. { int i; while(1) { cout<<" 请输入图形类型(1:圆形; 2:长方形; 3:正方形; 4:退出。): "; cin>>i; switch(i) { case 1:circle_area();break; case 2:rectangle_area();break; case 3:square_area();break; case 4:return 0; default:cout<<"输入错误!\n"; } } } void circle_area() { float r,s; cout<<" 输入圆的半径:"; cin>>r; s=3.14*r*r; cout<<" 该圆的面积是:"<>a>>b; s=a*b; cout<<" 该长方形的面积是:"<>a; s=a*a; cout<<" 该正方形的面积是:"<

c课程设计实验报告

c课程设计实验报 告

中南大学 本科生课程设计(实践)任务书、设计报告 (C++程序设计) 题目时钟控件 学生姓名 指导教师 学院交通运输工程学院 专业班级 学生学号 计算机基础教学实验中心 9月7日 《C++程序设计基础》课程设计任务书

对象:粉冶、信息、能源、交通工程实验2101学生时间: .6 2周(18~19周) 指导教师:王小玲 1.课程设计的任务、性质与目的 本课程设计是在学完《C++程序设计基础》课程后,进行的一项综合程序设计。在设计当中学生综合“面向对象程序设计与结构化程序设计”的思想方法和知识点,编制一个小型的应用程序系统。经过此设计进一步提高学生的动手能力。并能使学生清楚的知道开发一个管理应用程序的思想、方法和流程。 2.课程设计的配套教材及参考书 ●《C++程序设计》,铁道出版社,主编杨长兴刘卫国。 ●《C++程序设计实践教程》,铁道出版社,主编刘卫国杨长兴。 ●《Visual C++ 课程设计案例精编》,中国水力电力出版社,严华峰等编著。 3.课程设计的内容及要求 (1)自己任选一个题目进行开发(如画笔、游戏程序、练习打字软件等),要求利用MFC 工具操作实现。 (2)也可选一个应用程序管理系统课题(如:通讯录管理系统;产品入库查询系统;学生成绩管理;图书管理 等);

设计所需数据库及数据库中的数据表,建立表之间的关系。 设计所选课题的系统主封面(系统开发题目、作者、指导教师、日期)。 设计进入系统的各级口令(如系统管理员口令,用户级口令)。 设计系统的主菜单。要求具备下列基本功能: ●数据的浏览和查询 ●数据的统计 ●数据的各种报表 ●打印输出 ●帮助系统 多种形式的窗体设计(至少有查询窗体、输入窗体) 注意:开发的应用程序工作量应保证在2周时间完成,工作量不能太少或太多。能够2人合作,但必须将各自的分工明确。 4.写出设计论文 论文基本内容及撰写顺序要求: ●内容摘要 ●系统开发设计思想 ●系统功能及系统设计介绍 ●系统开发的体会

C#程序设计实验报告

学生实验报告 (理工类) 课程名称: C#程序设计专业班级:M11计算机科学与技术(专转本)学生学号: XXXXXXXX 学生姓名: XXX 所属院部:信息技术学院指导教师: XXX 2012 — 2013学年第 1 学期 金陵科技学院教务处制

实验报告书写要求 实验报告原则上要求学生手写,要求书写工整。若因课程特点需打印的,标题采用四号黑体,正文采用小四号宋体,单倍行距。纸张一律采用A4的纸张。 实验报告书写说明 实验报告中实验目的和要求、实验仪器和设备、实验内容与过程、实验结果与分析这四项内容为必需项。教师可根据学科特点和实验具体要求增加项目。 填写注意事项 (1)细致观察,及时、准确、如实记录。 (2)准确说明,层次清晰。 (3)尽量采用专用术语来说明事物。 (4)外文、符号、公式要准确,应使用统一规定的名词和符号。 (5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。 实验报告批改说明 实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用五级记分制或百分制,按《金陵科技学院课堂教学实施细则》中作业批阅成绩评定要求执行。 实验报告装订要求 实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。

实验项目名称:C#基础编程实验学时: 6 同组学生姓名:实验地点: A205 实验日期: 9月17日-9月24日实验成绩: 批改教师:批改时间:

实验1 C#基础编程 一、实验目的 1、熟悉Visual Studio .NET开发环境; 2、掌握C#应用程序的基本操作过程; 3、掌握C#的数据类型,运算符以及表达式的使用; 4、掌握分支和循环语句的使用方法; 5、掌握一维数组,二维数组及数组型数组的使用。 二、实验要求 (1)编写程序要规范、正确,上机调试过程和结果要有记录; (2)做完实验后给出本实验的实验报告。 三、实验设备、环境 安装有Visual Studio .NET软件。 四、实验步骤 1、分析题意; 2、根据题目要求,新建项目; 3、编写并输入相关的程序代码; 5、运行与调试项目; 6、保存项目。 五、实验内容 1、编写一个简单的控制台应用程序,打印一行文字(如你的姓名)。using System; using System.Collections.Generic; using System.Text; namespace Test1_1 { class Program { static void Main(string[] args) { Console.WriteLine("1121412016 张明星!"); Console.ReadLine(); } } } 2、编写一个简单的Windows应用程序,在标签中显示你的姓名。 Form窗体的代码: using System; using System.Collections.Generic;

相关主题
文本预览
相关文档 最新文档