编写程序实现如下机能
1)使用readData函数将文件读入,保存在内存中。
2)从控制台输入“M”,调用search函数,对所有员工按照部门名称进行分组,并且每个部门的数据按照员工编号升序排列。
3) 将search得到的数据用showData函数输出到控制台,输出时请将员工姓名改为:S+区分+姓名的形式。
using
System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.IO;
using System.Collections;
namespace D205
... {
public partial class Form1 : Form
...{
//StreamReader objReader = new StreamReader("c:/test.txt");
string strLine = "";
ArrayList aryText = new ArrayList(); //存放文本文件信息
ArrayList arynum = new ArrayList(); //存放员工编号
ArrayList arynum1 = new ArrayList(); //存放姓名
ArrayList arynum2 = new ArrayList(); //存放部门名称
ArrayList arynum3 = new ArrayList(); //存放区分
public Form1()
...{
InitializeComponent();
}
/**////readData()函数将文件读入,保存在内存中
public void readData()
...{
try
...{
StreamReader objReader = new StreamReader("c:/test.txt");
while (strLine != null)
...{
strLine = objReader.ReadLine();
if (strLine != null)
aryText.Add(strLine);
}
objReader.Close();
}
catch (Exception e)
...{
MessageBox.Show(e.GetBaseException().ToString());
}
}
/**////search函数,对所有员工按照部门名称进行分组,部门的数据按照员工编号升序排列。
public void search()
...{
readData();
string stra1;
string stra2;
string stra3;
string stra4;
for (int i = 0; i < aryText.Count; i++)
...{
string strb = (string)aryText[i];
int inta = strb.IndexOf(" ");
string stro = strb.Substring(0, inta); //提出员工编号至arrnum.Add(cc);
int intc = Convert.ToInt32(stro);
arynum.Add(intc);
string stro1 = strb.Substring(inta + 1); //提出姓名至arrnum1.Add(ob);
int inta2 = stro1.IndexOf(" ");
string stro2 = stro1.Substring(inta2 + 1);
string strob = stro1.Substring(0, inta2);
arynum1.Add(strob);
int inta3 = stro2.IndexOf(" "); //提出部门名称至arrnum2.Add(oo3);
string stro3 = stro2.Substring(0,inta3 + 1);
string strb1 = stro2.Substring(inta3); //提出区分至arrnum3.Add(ob1);
arynum2.Add(stro3);
arynum3.Add(strb1);
}
for (int j = 1; j < aryText.Count; j++) //对员工编号冒泡排序,同时对另外几个数组中对应的元素进行排序
...{
for (int i = 0; i < aryText.Count - 1; i++)
...{
if ((int)arynum[i] >= (int)arynum[i + 1])
...{
int intob = (int)arynum[i];
stra1 = (string)arynum1[i];
stra2 = (string)arynum2[i];
stra3 = (string)arynum3[i];
arynum[i] = arynum[i + 1];
arynum1[i] = arynum1[i + 1];
arynum2[i] = arynum2[i + 1];
arynum3[i] = arynum3[i + 1];
arynum[i + 1] = intob;
arynum1[i + 1] = stra1;
arynum2[i + 1] = stra2;
arynum3[i + 1] = stra3;
}
}
}
for (int i = 0; i < aryText.Count; i++) //先输出开发部的人员名单
...{
if ("kaifabu ".Equals(arynum2[i]))
...{
ListViewItem lvwob;
stra1 = Convert.ToString(arynum[i]);
stra3 = (string)arynum2[i];
stra4 = (string)arynum3[i];
stra2 = "S" + stra4 + (string)arynum1[i];
lvwob = lvwMylistView.Items.Add(stra1);
lvwob.SubItems.Add(stra2);
lvwob.SubItems.Add(stra3);
lvwob.SubItems.Add(stra4);
}
}
for (int i = 0; i < aryText.Count; i++) //输出营业部的人员名单
...{
if ("yingyebu ".Equals(arynum2[i]))
...{
ListViewItem lvwob;
stra1 = Convert.ToString(arynum[i]);
stra3 = (string)arynum2[i];
stra4 = (string)arynum3[i];
stra2 = "S" + stra4 + (string)arynum1[i];
lvwob = lvwMylistView.Items.Add(stra1);
lvwob.SubItems.Add(stra2);
lvwob.SubItems.Add(stra3);
lvwob.SubItems.Add(stra4);
}
}
}
private void btnSubmit_Click(object sender, EventArgs e)
...{
if (txtBox.Text == "M")
...{
search();
}
else
...{
MessageBox.Show("输入正确指令");
}
}
}
}
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.IO;
using System.Collections;
namespace D205
... {
public partial class Form1 : Form
...{
//StreamReader objReader = new StreamReader("c:/test.txt");
string strLine = "";
ArrayList aryText = new ArrayList(); //存放文本文件信息
ArrayList arynum = new ArrayList(); //存放员工编号
ArrayList arynum1 = new ArrayList(); //存放姓名
ArrayList arynum2 = new ArrayList(); //存放部门名称
ArrayList arynum3 = new ArrayList(); //存放区分
public Form1()
...{
InitializeComponent();
}
/**////readData()函数将文件读入,保存在内存中
public void readData()
...{
try
...{
StreamReader objReader = new StreamReader("c:/test.txt");
while (strLine != null)
...{
strLine = objReader.ReadLine();
if (strLine != null)
aryText.Add(strLine);
}
objReader.Close();
}
catch (Exception e)
...{
MessageBox.Show(e.GetBaseException().ToString());
}
}
/**////search函数,对所有员工按照部门名称进行分组,部门的数据按照员工编号升序排列。
public void search()
...{
readData();
string stra1;
string stra2;
string stra3;
string stra4;
for (int i = 0; i < aryText.Count; i++)
...{
string strb = (string)aryText[i];
int inta = strb.IndexOf(" ");
string stro = strb.Substring(0, inta); //提出员工编号至arrnum.Add(cc);
int intc = Convert.ToInt32(stro);
arynum.Add(intc);
string stro1 = strb.Substring(inta + 1); //提出姓名至arrnum1.Add(ob);
int inta2 = stro1.IndexOf(" ");
string stro2 = stro1.Substring(inta2 + 1);
string strob = stro1.Substring(0, inta2);
arynum1.Add(strob);
int inta3 = stro2.IndexOf(" "); //提出部门名称至arrnum2.Add(oo3);
string stro3 = stro2.Substring(0,inta3 + 1);
string strb1 = stro2.Substring(inta3); //提出区分至arrnum3.Add(ob1);
arynum2.Add(stro3);
arynum3.Add(strb1);
}
for (int j = 1; j < aryText.Count; j++) //对员工编号冒泡排序,同时对另外几个数组中对应的元素进行排序
...{
for (int i = 0; i < aryText.Count - 1; i++)
...{
if ((int)arynum[i] >= (int)arynum[i + 1])
...{
int intob = (int)arynum[i];
stra1 = (string)arynum1[i];
stra2 = (string)arynum2[i];
stra3 = (string)arynum3[i];
arynum[i] = arynum[i + 1];
arynum1[i] = arynum1[i + 1];
arynum2[i] = arynum2[i + 1];
arynum3[i] = arynum3[i + 1];
arynum[i + 1] = intob;
arynum1[i + 1] = stra1;
arynum2[i + 1] = stra2;
arynum3[i + 1] = stra3;
}
}
}
for (int i = 0; i < aryText.Count; i++) //先输出开发部的人员名单
...{
if ("kaifabu ".Equals(arynum2[i]))
...{
ListViewItem lvwob;
stra1 = Convert.ToString(arynum[i]);
stra3 = (string)arynum2[i];
stra4 = (string)arynum3[i];
stra2 = "S" + stra4 + (string)arynum1[i];
lvwob = lvwMylistView.Items.Add(stra1);
lvwob.SubItems.Add(stra2);
lvwob.SubItems.Add(stra3);
lvwob.SubItems.Add(stra4);
}
}
for (int i = 0; i < aryText.Count; i++) //输出营业部的人员名单
...{
if ("yingyebu ".Equals(arynum2[i]))
...{
ListViewItem lvwob;
stra1 = Convert.ToString(arynum[i]);
stra3 = (string)arynum2[i];
stra4 = (string)arynum3[i];
stra2 = "S" + stra4 + (string)arynum1[i];
lvwob = lvwMylistView.Items.Add(stra1);
lvwob.SubItems.Add(stra2);
lvwob.SubItems.Add(stra3);
lvwob.SubItems.Add(stra4);
}
}
}
private void btnSubmit_Click(object sender, EventArgs e)
...{
if (txtBox.Text == "M")
...{
search();
}
else
...{
MessageBox.Show("输入正确指令");
}
}
}
}