C#作业.docx
- 文档编号:13613011
- 上传时间:2023-06-15
- 格式:DOCX
- 页数:11
- 大小:117.43KB
C#作业.docx
《C#作业.docx》由会员分享,可在线阅读,更多相关《C#作业.docx(11页珍藏版)》请在冰点文库上搜索。
C#作业
《C#程序设计教程》实践报告
学院:
计算机与信息工程学院
专业:
信息管理与信息系统
学号:
110903055
姓名:
王晓宁
C#语言简介
C#是美国微软公司推出的Windows操作系统下的应用程序开发平台VisualStudio.NET(简称VS.NET)家族中的一员C#是对C++进行了很大改进的一种完全面向对象的可视化程序设计语言。
由于C#采用了类似于VisualBasic的较易使用的程序设计界面,从而成为了一种更加简单易学、功能强大的应用程序开发工具。
C#是一种先进的、面向对象的语言,使用C#语言可以让开发人员快速的建立大范围的基于MS网络平台的应用,并且提供大量的开发工具和服务,帮助开发人员开发机基于计算和通信的各种应用。
由于C#是一种面向对象的开发语言,所以C#可以大范围地适用于高层商业应用和底层系统的开发。
即使是通过简单的C#构造,也可以让各种组件方便的转变为基于Web的应用,并且能够通过Internet被各种系统或是其他开发语言所开发的应用调用。
经过近半年的学习,我对C#语言也有了一定简单的了解,即使学的并不深。
下面是一个简单的图书管理系统控制台应用程序,以对我这半年的学习的一个巩固。
一、实验目的:
1、掌握编写简单的面向对象语言C#的应用程序
2、熟悉C#类、对象、方法的概念与用法
3、熟悉并掌握C#构造方法
4、熟悉并掌握类和成员的访问修饰符的用法
二、实验运行环境:
windows7/xp/2000/2003操作系统,
VisualStudio2008/C#
三、实验题目:
图书管理系统
四、实验实现功能:
设计一个图书卡片类Card,用来保存图书馆卡片分类记录。
这个类的成员包括书名、作者、馆藏数量。
提供两个方法,store书的入库处理,show显示图书信息,程序运行时,可以从控制台上输入需要入库图书的总量,根据这个总数创建Card对象数组,然后输入数据,最后可以选择按书名、作者、入库量排序。
五、实验步骤:
1、Card类
设计一个图书卡片类Card,用来保存图书馆卡片分类记录。
这个类的成员包括书名、作者、馆藏数量。
提供两个方法,store书的入库处理,show显示图书信息
2、在table里,通过for循环控制输入图书数量,同时输入书的书名,作者,存入的数量这些信息,选择sortTitle,sortAuthor,sortTotal三个方法中的一个方法来对所输入的图书信息进行排序
代码如下:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
namespaceLibraryMIS
{
classCard
{
privatestringtitle,author;
privateinttotal;
publicCard()
{
title="";
author="";
total=0;
}
publicCard(stringtitle,stringauthor,inttotal)
{
this.title=title;
this.author=author;
this.total=total;
}
publicvoidstore(refCardcard)//使用ref关键字进行引用传递
{
title=card.title;
author=card.author;
total=card.total;
}
publicvoidshow()
{
Console.WriteLine("Title:
{0},Author:
{1},Total:
{2}",title,author,total);
}
publicstringTitle//Title的属性可读可写
{
get
{
returntitle;
}
set
{
title=value;
}
}
publicstringAuthor
{
get
{
returnauthor;
}
set
{
author=value;
}
}
publicstringTotal
{
get
{
returnTotal;
}
set
{
total=int.Parse(value);
}
}
}
}
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
namespaceLibraryMIS
{
classTable
{
staticvoidMain(string[]args)
{
Console.WriteLine("**********图书管理系统*******");
Console.WriteLine("2012版1.0,作者:
王晓宁");
TableT=newTable();
Card[]books;
int[]index;
inti,k;
Cardcard=newCard();
Console.Write("请输入需要入库图书的总数:
");
stringNo=Console.ReadLine();
intnum=int.Parse(No);
books=newCard[num];
for(i=0;i books[i]=newCard(); index=newint[num]; for(i=0;i { Console.Write("请输入书名: "); card.Title=Console.ReadLine(); Console.Write("请输入作者: "); card.Author=Console.ReadLine(); Console.Write("请输入入库量: "); No=Console.ReadLine(); card.Total=No; books[i].store(refcard);//使用ref关键字进行引用传递 index[i]=i;} Console.Write("请选择按什么关键字排序(1.按书名,2.按作者,3.按入库量)"); No=Console.ReadLine(); intchoice=int.Parse(No); switch(choice) { case1: T.sortTitle(books,index); break; case2: T.sortAuthor(books,index); break; case3: T.sortTotal(books,index); break; } for(i=0;i { k=index[i]; books[k].show(); } Console.Read(); } //按存入书的书名的首字母进行排序 voidsortTitle(Card[]book,int[]index) { inti,j,m,n,temp; for(m=0;m { for(n=0;n { i=index[n]; j=index[n+1]; if(string.Compare(book[i].Title,book[j].Title)>0) { temp=index[n]; index[n]=index[n+1]; index[n+1]=temp; } } } } //按存入书的作者的名字的首字母进行排序 voidsortAuthor(Card[]book,int[]index) { inti,j,m,n,temp; for(m=0;m for(n=0;n { i=index[n]; j=index[n+1]; if(string.Compare(book[i].Author,book[j].Author)>0) { temp=index[n]; index[n]=index[n+1]; index[n+1]=temp; } } } //按存入书的数量进行排序 voidsortTotal(Card[]book,int[]index) { inti,j,m,n,temp; for(m=0;m for(n=0;n { i=index[n]; j=index[n+1]; if(int.Parse(book[i].Total)>int.Parse(book[j].Total)) { temp=index[n]; index[n]=index[n+1]; index[n+1]=temp; } } } } } 实验运行结果 1——1按书名的首字母进行排序 1——2按作者名字的首字母进行排序 六、总结 该程序只是一个简单的控制台应用程序,还有许多不完善的地方。 随着社会经济的迅速发展和科学技术的全面进步,计算机事业的飞速发展,用计算机实现信息的管理正处于蓬勃发展的时期。 图书管理系统也得到了广泛的应用。 此程序其实没有什么实际的意义,只是对C#语言学习过程中类,属性,方法的一个简单的应用。 希望以后经过更多的学习,能够做出一个能与数据库连接的一个窗体应用程序。 七、心得 通过大二下半学期的学习,我认为要学好C#语言程序设计这门课程,不仅要认真阅读课本知识,更重要的是要通过上机实践才能增强和巩固我的知识。 特别是作为计算机专业的人员,更要注重实践这一环节,只有这样我们才能成为合格的计算机人材。 做了一周的课程设计,有很多的心得体会,有关于C#语言程序设计方面的。 通过此次课程设计,使我更加扎实的掌握了有关C#语言程序设计方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。 实践出真知,通过亲自动手制作,使我掌握的知识不再是纸上谈兵。 过而能改,善莫大焉。 在课程设计过程中,我不断发现错误,不断改正,不断领悟,不断获取。 最终的检测调试环节,本身就是在践行中“过而能改,善莫大焉”的知行观。 这次课程设计终于顺利完成了,在设计中遇到了很多问题,最后通过与同学的交流,终于游逆而解。 在今后社会的发展和学习实践过程中,一定要不懈努力,不能遇到问题就想到要退缩,一定要不厌其烦的发现问题所在,然后一一进行解决,只有这样,才能成功的做成想做的事,才能在今后的道路上披荆斩棘,而不是知难而退,那样永远不可能收获成功,收获喜悦,也永远不可能得到社会及他人对你的认可! 此次设计也让我明白了思路即出路,有什么不懂不明白的地方要及时请教或上网查询,只要认真钻研,动脑思考,动手实践,就没有弄不懂的知识,收获颇丰。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 作业