栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

c#程序设计实训报告心得体会

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

c#程序设计实训报告心得体会

实验一  语言基础

一、实验目的

1. 熟悉Visual Stido.NET 实验环境;

2. 掌握控制台程序的编写方法;

3. 掌握C#程序设计语言的语法基础;

4. 掌握控制语句和数组的使用。

二、实验要求

根据题目要求,编写 C#程序,并将程序代码和运行结果写入实验报告。

三、实验内容

1. 编写一个控制台应用程序,输入三角形或者长方形边长,计算其周长和面积并输出。

源码:

主函数部分

static void Main1_1(string[] aa)

{

//定义三角形边长,矩形长和宽,以及周长和面积

int i;

double tri1, tri2, tri3;

double rec1, rec2;

double cir, area;

//系统编写

Console.WriteLine("--------------------几何图形周长、面积计算-----------------");

while (true)

{

Console.WriteLine("请选择图形样式:");

Console.WriteLine("   1.三角形    2.矩形   3.退出    ");

Console.WriteLine("请输入对应序号:");

//这里不知道什么原因。需要回车两次才能继续。

i = int.Parse(Console.ReadLine());

switch (i)

{

//三角形算法

case 1:

Console.WriteLine("请输入所求三角形的第一条边的长度:");

tri1 = float.Parse(Console.ReadLine());

Console.WriteLine("请输入所求三角形的第二条边的长度:");

tri2 = float.Parse(Console.ReadLine());

Console.WriteLine("请输入所求三角形的第三条边的长度:");

tri3 = float.Parse(Console.ReadLine());

cir = tri1 + tri2 + tri3;//周长

area = Math.Sqrt(cir / 2 * (cir / 2 - tri1) * (cir / 2 - tri2) * (cir / 2 - tri3));

//无法将double隐式转换为float,之前用的float类型的边长等,sqrt函数返回为double

Console.WriteLine("该三角形的周长为:{0}", cir);

Console.WriteLine("该三角形的面积为:{0}", area);

break;

case 2:

Console.WriteLine("请输入所求矩形的一条边的长度:");//用户依次输入三个边长

rec1 = float.Parse(Console.ReadLine());

Console.WriteLine("请输入所求矩形的另一条边的长度:");

rec2 = float.Parse(Console.ReadLine());

cir = 2 * (rec1 + rec2);        //长方形周长及面积

area = rec1 * rec2;

Console.WriteLine("该矩形的周长为:{0}", cir);

Console.WriteLine("该矩形的面积为:{0}", area);

break;

case 3:

Console.WriteLine("正在退出.....");

Console.WriteLine("退出成功!");

break;

default:

Console.WriteLine("输入有误,请输入1或2或3!!!");

break;

}

//判断是否退出系统

if (i == 3)

break;

}

}

程序运行截图

2. 编写一个控制台应用程序,可根据输入的月份判断所在季节。

主函数代码

static void Main1_2(string[] ab)

{

//定义输入的月份

int i;

//系统编写

Console.WriteLine("---------季节判断系统----------");

while(true)

{

Console.WriteLine("请输入要查询的月份:(输入0,退出系统)");

i = int.Parse(Console.ReadLine());

switch(i)

{

case 3:

case 4:

case 5:

Console.WriteLine("{0}月在春季。 ", i);

break;

case 6:

case 7:

case 8:

Console.WriteLine("{0}月在夏季。", i);

break;

case 9:

case 10:

case 11:

Console.WriteLine("{0}月在秋季。", i);

break;

case 12:

case 1:

case 2:

Console.WriteLine("{0}月在冬季。", i);

break;

case 0:

Console.WriteLine("正在退出.....");

Console.WriteLine("退出成功!");

break;

default:

Console.WriteLine("您的输入有误,请核实后输入!!!");

break;

}

if (i == 0)

break;

}

}

程序运行截图

3. 编写程序,用 while 循环语句实现下列功能:有一篮鸡蛋,不止一个,有人两个两

个数,多余一个,三个三个数,多余一个,再四个四个地数,也多余一个,请问这篮鸡蛋至

少有多少个。

主函数代码

static void Main1_3(string[] ac)

{

int sum = 2;

bool flag = false;

while (sum < int.MaxValue && flag == false)

{

if (sum % 2 == 1 && sum % 3 == 1 && sum % 4 == 1)

{

Console.WriteLine("这筐鸡蛋至少有{0}个.", sum);

flag = true;

}

else

sum++;

}

}

程序运行截图

4. 编写程序,计算数组中奇数之和和偶数之和。

主函数代码

static void Main1_4(string[] ad)

{

//定义数组,及奇数偶数之和

List str = new List();

int lenth = 0;

int jssum = 0;

int ossum = 0;

//输入数组

Console.WriteLine("输出数组元素,回车按q结束录入(最后一个数字后不要加空格)");

while(true)

{

string input = Console.ReadLine();

if (input.Equals("q") == false)

str.Insert(lenth++, input);

else

break;

}

//交叉数组,

string[][] every = new string[lenth][];

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

{

every[i] = str[i].Split();//C#对空格的分割方式之一

}

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

{

for(int j=0;j

{

int aa;

aa = int.Parse(every[i][j]);

if((aa%2)==1)

{

jssum += aa;

}

else

{

ossum += aa;

}

}

}

Console.WriteLine("该数组中奇数之和为:{0}", jssum);

Console.WriteLine("该数组中偶数之和为:{0}", ossum);

Console.ReadKey();

}

程序运行截图

5. 编写程序,找一找一个二维数组中的鞍点(即该位置上的元素值在行中最大,在该

列上最小。有可能数组没有鞍点)。要求:

u   二维数组的大小、数组元素的值在运行时输入;

u   程序有友好的提示信息。

主函数代码

static void Main1_5(string[] ae)

{

int[,] nos = new int[3, 4];

int xMaxIndex = 0;

bool isFind = false;

for (int i = 0; i < nos.Rank; i++)

{

for (int j = 1; j < nos.Length / (nos.Rank + 1); j++)

{

if (nos[i, j] > nos[i, j - 1])

xMaxIndex = j;

}

bool isMin = true;

for (int k = 0; k < nos.Rank; k++)

{

if (k == i)

continue;

if (nos[k, xMaxIndex] < nos[i, xMaxIndex])

isMin = false;

}

if (isMin)

{

Console.Write("[{0},{1}]={2} 是鞍点!", i, xMaxIndex,nos[i,xMaxIndex]);

isFind = true;

}

}

if (!isFind)

Console.Write("Not Find(没有找到鞍点)!");

}

程序运行截图

四、实验总结

通过本次实验报告,以及对应实验代码的编写以及运行工作,我初步认识到C#语言控制台应用的编写技巧,C#与C++,C以及JAVA都有类似的地方,语法方面有相互印证的地方,有了C/C++,Java的编程经历,对C#的开发比较顺利,这几个习题练习了C#,对于整型,双精度型数据的定义,赋值,以及while,for,if循环结构,还有终端的输入输出,以及二维数组的定义等方面,都有涉及,很好的培养了C#的开发习惯。而且C#在VS里的开发过程异常顺利,几乎没有遇到什么问题。对于题目中的一些瑕疵,我没有做深入的研究,通过注释将相关注意事项记下。最后一题感觉和题目有所出入。希望指正。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/906236.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号