大理学院课程教案
(实验教学)
课程名称: C#面向对象程序设计 课程类型:( 1 )1、必修;2、选修;3、其它
授课对象: 计算机科学与技术 专业(本、专科) 2011 级 1,2班
授课时间: 2012 至 2013 学年第 3 学期 计划学时: 36 学时(其中:理论 36 ,实验: 36 )
任课教师: 杜英国 所属学院: 数学与计算机学院 课程管理部门(教研室): 软件教研室
大理学院教务处 制
大理学院课程教案(教学要求)
课程名称:C#面向对象程序设计
教 材:C#程序设计实用教程 黄兴荣 李昌领 李继良编著 清华大学出版社 授课人1:杜英国 专业技术职务:讲师 学 历:研究生 学 位:硕士 授课人2: 专业技术职务: 学 历: 学 位:
实验题目: C#集成开发环境控制台输入输出程序设计 计划学时:3 实验类型:( 4 )1、演示性 2、验证性 3、综合性 4、设计性 每组实验的学生人数: 1 人 教学目的和要求:
理解文件的概念;掌握文件读和写的使用;掌握文件处理的方法。 实验方法(包括实验中需要注意的问题等): 1. 在VS下,新建一个窗体界面应用程序。 2. 在解决方案资源管理其中创建一个Student类。
3. 通过button1、button2按钮实现Student文件的读写操作,通过button3、button4按钮实现文件的浏览操作。 实验重点(主要解决的问题和达到的目的):
1. 学会编写文件的读写操作代码。 2. 理解文件的基本操作。
实验难点(预计实验过程中会遇到的问题和解决方案): 1.编写文件的读写操作代码。
教学方法(实验前的教学和实验过程中的指导方法):
实验前教师先讲解完文件读写操作内容,学生认真复习文件读写操作内容;在实验过程中结合实验环境教师可先提示性讲解实验内容,再由学生自己完成实验。如果实验完成情况较差,教师统一辅导。
第1页
大理学院课程教案(教学要求)
实验仪器和材料:
计算机,Windows XP, VS2008
实验报告要求和思考题: 提交实验报告。 参考资料:
《C#程序设计项目教程—实验指导与课程设计》
黄兴荣 编著 清华大学出版社第2页
大理学院课程教案(教学内容)
实验六 文件读写操作
一、实验内容与步骤(要求交实验报告的实验项目详细步骤由学生填写) 实验内容:
1.按要求调试下列程序:
构造如下所示界面,完成学生信息的IO操作。学生信息存储在D盘根目录Student.txt文件中。信息显示使用RichTextBox控件。
实现各操作的参考代码如下:
using System;
using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text;
using System.Windows.Forms; using System.IO;
namespace 读写文件 {
第3页
大理学院课程教案(教学内容)
public partial class Form1 : Form {
List string[] splitStrings; string[] splitStrings1; string[] splitStrings2; char[] separator = {' '}; char[] separator1 = { '=' }; int i = 0; public Form1() { InitializeComponent(); stList = new List private void button1_Click(object sender, EventArgs e) { if (textBox1.Text == \"\" ) { MessageBox.Show(\"学号不能为空!\"); } else if (textBox2.Text == \"\") { MessageBox.Show(\"姓名不能为空!\"); } else if (textBox3.Text == \"\") { MessageBox.Show(\"班级不能为空!\"); } else if (textBox4.Text == \"\") { MessageBox.Show(\"专业不能为空!\"); } else { FileStream fs = new FileStream(\"d://student.txt\", FileMode.OpenOrCreate | FileMode.Append, FileAccess.Write); StreamWriter streamWriter = new StreamWriter(fs); streamWriter.WriteLine(\"学号=\" + textBox1.Text + \" \" + \"姓名=\" + textBox2.Text + \" \" + \"班级=\" + textBox3.Text + \" \" + \"专业=\" + textBox4.Text); textBox1.Clear(); textBox2.Clear(); textBox3.Clear(); textBox4.Clear(); streamWriter.Flush(); streamWriter.Close(); } } private void button2_Click(object sender, EventArgs e) { FileStream fs = new FileStream(\"d://student.txt\", FileMode.Open, FileAccess.Read); 第4页 大理学院课程教案(教学内容) StreamReader streamReader = new StreamReader(fs); this.richTextBox1.Text = \"\"; string strLine = streamReader.ReadLine(); while (strLine != null) { this.richTextBox1.Text += strLine + \"\\n\"; st = new Student(); splitStrings = strLine.Split(separator);//以空格分隔符拆分字符串 for (int i = 0; i < splitStrings.Length;i++ ) { splitStrings1 = splitStrings[i].Split(separator1);//以=号分隔符拆分字符串 splitStrings2[i] = splitStrings1[1]; } st.xh = splitStrings2[0]; st.xm = splitStrings2[1]; st.bj = splitStrings2[2]; st.zy = splitStrings2[3]; stList.Add(st);//还原学生对象并存储在list表里 strLine = streamReader.ReadLine(); } streamReader.Close(); textBox8.Text = stList[0].xh; textBox7.Text = stList[0].xm; textBox6.Text = stList[0].bj; textBox5.Text = stList[0].zy; } private void button3_Click(object sender, EventArgs e) { if((stList.ToArray()).Length<=0) { MessageBox.Show(\"当前记录为0条\"); } if (i == 0&&(stList.ToArray().Length>0)) { textBox8.Text = stList[0].xh; textBox7.Text = stList[0].xm; textBox6.Text = stList[0].bj; textBox5.Text = stList[0].zy; } if ((i > 0) && (i < stList.ToArray().Length)) { i = i - 1; textBox8.Text = stList[i].xh; textBox7.Text = stList[i].xm; textBox6.Text = stList[i].bj; textBox5.Text = stList[i].zy; } } private void button4_Click(object sender, EventArgs e) { if ((stList.ToArray()).Length <= 0) { MessageBox.Show(\"当前记录为0条\"); } if (i == (stList.ToArray()).Length&&i!=0) { 第5页 大理学院课程教案(教学内容) textBox8.Text = stList[i].xh; textBox7.Text = stList[i].xm; textBox6.Text = stList[i].bj; textBox5.Text = stList[i].zy; } if (i >= 0 && i < (stList.ToArray()).Length-1) { i = i + 1; textBox8.Text = stList[i].xh; textBox7.Text = stList[i].xm; textBox6.Text = stList[i].bj; textBox5.Text = stList[i].zy; } } } } 学生类定义如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 读写文件 { public class Student { public string xh; public string xm; public string bj; public string zy;//同学把这些变量改为属性定义 } } 2.参考上述程序,编写一个完成职工信息IO操作的程序。职工信息存储在D盘的Staff文件夹下,文件名为Staff.txt;职工信息包括:编号,姓名,性别,毕业学校,学历,学位,工作部门,联系电话,邮箱地址,住址等。实现职工信息的存储、读取,浏览。 第6页 大理学院课程教案(教学总结) 第7页 因篇幅问题不能全部显示,请点此查看更多更全内容