C#实验报告上机六

这篇具有很好参考价值的文章主要介绍了C#实验报告上机六。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

题目一:编写C#程序,统计硬盘某个目录下的abc.txt文件中单词的个数。提示:要用到字符串类中的分割字符串等函数

源程序:

using System;
using System.IO;
using System.Linq;
using System.Text.RegularExpressions;
using System.Windows.Forms;
namespace 上机六
{
    public partial class 统计单词数 : Form
    {
        public 统计单词数()
        {
            InitializeComponent();
            StartPosition = FormStartPosition.CenterScreen;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string file = textBox1.Text;
            if (!File.Exists(@file))
                MessageBox.Show("文件" + @file + "不存在");
            else
            {
                int a;
                FileStream fs = new FileStream(@file, FileMode.Open, FileAccess.Read);
                richTextBox1.Clear();
                a = fs.ReadByte();
                while (a != -1)       //是否读到文件末尾
                {
                    richTextBox1.Text += ((char)a).ToString();
                    a = fs.ReadByte();
                }
                fs.Close();
            }

        }
        /*
         * 正则表达式中“\d”表示[0-9]的数字,“\d+”表示由[0-9]的数字组成的数字,“\w”表示[A-Z0-9],
         * “\w+”表示由数字、26 个英文字母或者下划线组成的字符串,“\d+.+\d+”表示小数
         */
        private void button2_Click(object sender, EventArgs e)
        {
            Regex reg = new Regex("\\S+\\w+");
            string InputStr = richTextBox1.Text;
            int Count = reg.Split(InputStr).Count() - 1;
            richTextBox2.Text = "单词个数:" + Count.ToString();
        }
    }
}

运行结果: 

 题目二:编写一个重复文件的检测程序:程序可以实现重复文件检测(即将硬盘某个盘符下的重复文件以ListBox控件列表的形式显示出来,例如:有1.doc、2.doc、3.doc完全一样,则这三个应该放在同一个ListBox1控件中;而a.exe、b.exe完全一样,则放在另一个ListBox2控件中)(可由设计者自行设计分组)。

源程序:

using System;
using System.Collections.Generic;
using System.IO;
using System.Windows.Forms;
namespace 上机六
{
    public partial class 重复文件检测 : Form
    {
        public 重复文件检测()
        {
            InitializeComponent();
            StartPosition = FormStartPosition.CenterScreen;
        }

        string path = @"D:\demo";
        string checktxt = "";
        private void button1_Click(object sender, EventArgs e)
        {
            List<string> files = new List<string>();
            ForeachFile(path, ref files);
            foreach (var f in files)
            {
                try
                {
                    string txt = "";
                    using (StreamReader sr = new StreamReader(f.ToString()))
                    {
                        string line;
                        while ((line = sr.ReadLine()) != null)
                        {
                            txt += line + "\n";
                            Console.WriteLine(line);
                        }
                    }
                    if (checktxt == "")
                    {
                        listBox1.Items.Add(f.ToString());
                        checktxt = txt;
                    }
                    else if (txt == checktxt)
                    {
                        listBox1.Items.Add(f.ToString());
                    }
                    else
                    {
                        listBox2.Items.Add(f.ToString());
                    }


                }
                catch
                {
                    Console.WriteLine("The file could not be read:");
                }
            }
        }
        public static void ForeachFile(string filePathByForeach, ref List<string> result)

        {
            DirectoryInfo theFolder = new DirectoryInfo(filePathByForeach);
            DirectoryInfo[] dirInfo = theFolder.GetDirectories();//获取所在目录的文件夹
            FileInfo[] file = theFolder.GetFiles();//获取所在目录的文件

            foreach (FileInfo fileItem in file) //遍历文件
            {
                result.Add(fileItem.DirectoryName + "\\" + fileItem.Name);
            }
            //遍历文件夹
            foreach (DirectoryInfo NextFolder in dirInfo)
            {
                ForeachFile(NextFolder.FullName, ref result);
            }
        }
    }
}

运行结果: 

C#实验报告上机六

题目三:编程实现个人通讯录信息的添加、删除、查找和更新功能。要求数据库可自行选取,采用编程方式实现,界面自行设计。

源程序:

Main.cs

namespace 手机通讯录系统
{
    public partial class Main : Form
    {
        public Main()
        {
            InitializeComponent();
            StartPosition = FormStartPosition.CenterScreen;
        }


        private void btn_register_Click(object sender, EventArgs e)
        {
            register register = new register();
            register.Show();
        }

        private void btn_login_Click(object sender, EventArgs e)
        {
            login login = new login();
            login.Show();
        }
    }
}

register.cs

namespace 手机通讯录系统
{
    public partial class register : Form
    {
        public register()
        {
            InitializeComponent();
            StartPosition = FormStartPosition.CenterScreen;
        }
        static String connStr = "Data Source=DESKT*****V62P;Initial Catalog=S_T;Persist Security Info=True;User ID=sa;Password=*****";
        private void register_click_Click(object sender, EventArgs e)
        {
            SqlConnection conn = new SqlConnection(connStr);
            conn.Open();
            string sql2 = "INSERT INTO users (user_id, username, password) VALUES (" + new Random().Next(99) + ", '" + t_name.Text + "', '" + t_password.Text + "')";
            SqlCommand cmd = new SqlCommand(sql2, conn);
            int i = cmd.ExecuteNonQuery();
            if (i == 1)
            {
                MessageBox.Show("注册成功!");
                this.Close();
            }
            else
            {
                MessageBox.Show("注册失败!");
            }
        }
    }
}

login.cs

namespace 手机通讯录系统
{
    public partial class login : Form
    {
        public login()
        {
            InitializeComponent();
            StartPosition = FormStartPosition.CenterScreen;
        }
        static String connStr = "Data Source=DESK*****62P;Initial Catalog=S_T;Persist Security Info=True;User ID=sa;Password=*****";
        private void login_click_Click(object sender, EventArgs e)
        {
            SqlConnection conn = new SqlConnection(connStr);
            conn.Open();
            string sql2 = "SELECT count(*) count FROM users where username='" + t_name.Text + "' and password = '" + t_password.Text + "'";
            SqlCommand cmd = new SqlCommand(sql2, conn);
            int i = (int)cmd.ExecuteScalar();
            if (i > 0)
            {
                phoneInfo message = new phoneInfo();
                message.Show();
                this.Close();
            }
            else
            {
                MessageBox.Show("登录失败!");
            }
        }
    }
}

phoneInfo.cs

namespace 手机通讯录系统
{
    public partial class phoneInfo : Form
    {
        static String connStr = "Data Source=DES******V62P;Initial Catalog=S_T;Persist Security Info=True;User ID=sa;Password=*****";
        SqlCommand cmd;
        int RowIndex = -1;
        public phoneInfo()
        {
            InitializeComponent();
            StartPosition = FormStartPosition.CenterScreen;
            Load();
        }
        public new void Load()
        {
            this.ManagePhone_Load(null, null);
        }

        private void ManagePhone_Load(object sender, EventArgs e)
        {
            SqlConnection conn = new SqlConnection(connStr);
            conn.Open();
            String sql = "select * from phone";
            SqlCommand cmd = new SqlCommand(connStr);
            cmd.CommandText = sql;
            cmd.CommandType = CommandType.Text;
            SqlDataAdapter adapter = new SqlDataAdapter(sql, conn);
            DataSet ds = new DataSet();
            adapter.Fill(ds);
            dataGridView1.DataSource = ds.Tables[0];
            conn.Close();
        }

        private void btn_add_Click(object sender, EventArgs e)
        {
            SqlConnection conn = new SqlConnection(connStr);
            conn.Open();
            phoneInfo manage = this;
            addPhone addStudent = new addPhone(conn, manage);
            addStudent.Show();
            ManagePhone_Load(sender, e);
        }

        private void btn_update_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < dataGridView1.Rows.Count; i++)
            {
                if (dataGridView1.Rows[i].Selected == true)
                {
                    RowIndex = i;
                }
            }
            if (RowIndex == -1)
            {
                MessageBox.Show("请选择学生再修改!");
            }
            else
            {
                SqlConnection conn = new SqlConnection(connStr);
                conn.Open();
                phoneInfo manage = this;
                updatePhone phone = new updatePhone(dataGridView1.Rows[RowIndex].Cells, conn, manage);
                phone.Show();
                ManagePhone_Load(sender, e);
            }
        }

        private void btn_delete_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < dataGridView1.Rows.Count; i++)
            {
                if (dataGridView1.Rows[i].Selected == true)
                {
                    RowIndex = i;
                }
            }
            if (RowIndex == -1)
            {
                MessageBox.Show("请选择学生再删除!");
            }
            else
            {
                DialogResult result = MessageBox.Show("确定删除" + dataGridView1.Rows[RowIndex].Cells[1].Value + "的信息?", "删除", MessageBoxButtons.OKCancel);
                int pid = 0;
                if (result == DialogResult.OK)
                {
                    SqlConnection conn = new SqlConnection(connStr);
                    conn.Open();
                    pid = Convert.ToInt32(dataGridView1.Rows[RowIndex].Cells[0].Value);
                    Console.WriteLine(pid);
                    string sql2 = "delete from phone where pid =" + pid;
                    cmd = new SqlCommand(sql2, conn);
                    cmd.ExecuteNonQuery();
                    RowIndex = -1;
                }
                ManagePhone_Load(sender, e);
            }
        }

        private void btn_close_Click(object sender, EventArgs e)
        {
            this.Close();
          
        }

        private void phoneInfo_Load(object sender, EventArgs e)
        {
            // TODO: 这行代码将数据加载到表“s_TDataSet.phone”中。您可以根据需要移动或移除它。
            this.phoneTableAdapter.Fill(this.s_TDataSet.phone);

        }
    }
}

addPhone.cs

namespace 手机通讯录系统
{
    public partial class addPhone : Form
    {
        private SqlConnection conn;
        private phoneInfo manage;

        public addPhone(SqlConnection conn, phoneInfo manage)
        {
            this.conn = conn;
            this.manage = manage;
            InitializeComponent();

        }

        public addPhone()
        {
            InitializeComponent();
            StartPosition = FormStartPosition.CenterScreen;
        }

        private void btn_add_Click(object sender, EventArgs e)
        {
            string sql2 = "insert into phone (pid, pname, pnumber, pemail) VALUES (" + new Random().Next(999) + ", '" + text_name.Text + "', '" + text_phone.Text + "', '" + text_email.Text + "')";
            SqlCommand cmd = new SqlCommand(sql2, conn);
            MessageBox.Show(sql2);
            cmd.ExecuteNonQuery();
            conn.Close();
            Console.Write(sql2);
            MessageBox.Show("添加成功!");
            manage.Load();
            this.Close();
        }
    }
}

updatePhone.cs

namespace 手机通讯录系统
{
    public partial class updatePhone : Form
    {
        private DataGridViewCellCollection row = null;
        private SqlConnection conn = null;
        private phoneInfo manage = null;
        private int status = 0;
        public updatePhone(DataGridViewCellCollection row, SqlConnection conn, phoneInfo manage)
        {
            InitializeComponent();
            StartPosition = FormStartPosition.CenterScreen;
            this.conn = conn;
            this.row = row;
            this.text_id.Text = Convert.ToString(row[0].Value);
            this.text_name.Text = Convert.ToString(row[1].Value);
            this.text_phone.Text = Convert.ToString(row[2].Value);
            this.text_email.Text = Convert.ToString(row[3].Value);
            int pid = Convert.ToInt32(row[0].Value);
            this.manage = manage;
        }
       
        public int getStatus()
        {
            return status;
        }


        private void btn_update_Click(object sender, EventArgs e)
        {
            int pid = Convert.ToInt32(this.text_id.Text);
            Console.WriteLine(pid);
            string sql2 = "update phone set pname = '" + text_name.Text + "',pnumber = '" + text_phone.Text + "',pemail = '" + text_email.Text + "' where pid =" + pid;
            SqlCommand cmd = new SqlCommand(sql2, conn);
            cmd.ExecuteNonQuery();
            conn.Close();
            Console.Write(sql2);
            MessageBox.Show("修改成功!");
            this.status = -1;
            manage.Load();
            this.Close();
        }
    }
}

运行结果: 

手机通讯系统

C#实验报告上机六

注册

C#实验报告上机六

登录

C#实验报告上机六 手机通讯录系统信息

C#实验报告上机六添加新联系人

C#实验报告上机六

删除联系人

C#实验报告上机六

修改联系人

C#实验报告上机六

C#实验报告上机六文章来源地址https://www.toymoban.com/news/detail-510498.html

到了这里,关于C#实验报告上机六的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数学实验课MATLAB实验报告一(题目+代码)

    今天是2022年10月14日星期五,农历九月十九,多云,有点冷。闲得无聊就把前些天做的数学实验课作业敲上来了。一共有6个题。代码里的注释写得非常详细!!! 题目 令 f ( x ) = x 2 2 f(x)=dfrac{x^2}{2} f ( x ) = 2 x 2 ​ ,定义二元函数 g ( x 1 , x 2 ) = { m a x f ( x ) , x ∈ ( x 1 , x 2 ) m

    2024年02月07日
    浏览(39)
  • 数理统计SPSS软件实验报告一--描述性统计

    实验报告内容: 1 、实验目的: 熟练掌握利用SPSS进行描述性统计分析的基本技能。 2 、实验要求: (1) 利用SPSS软件计算常用统计量(样本均值、中位数、众数、分位数;最大值、最小值、极差、总和、样本方差、样本标准差、变异系数;偏度系数、峰度系数等)的值; (2)

    2023年04月12日
    浏览(57)
  • 数理统计SPSS软件实验报告二--参数估计

    实验报告内容: 1 、实验目的: 熟练掌握利用SPSS进行参数估计的实现方法。 2 、实验要求: (1) 利用SPSS软件求未知参数的点估计; (2) 利用SPSS软件求未知参数的置信区间。 3 、仪器用具及材料: PC机,SPSS软件 4 、实验内容: 一、 测厚仪 有两台测厚仪,由一个人按同一规程

    2024年02月05日
    浏览(92)
  • 算法分析基础上机题目

    【问题描述】 假设有一个旅行商人要拜访n个城市,他必须选择所要走的路径,路径的限制是每个城市只能拜访一次,而且最后要回到原来出发的城市。路径的选择目标是要求得的路径路程为所有路径之中的最小值。 【输入形式】 城市数目,以及城市之间的距离 【输出形式

    2024年02月08日
    浏览(42)
  • 【数据挖掘】练习6:上机题目

    练习6:上机题目 一:实验目的与要求 1:了解R语言中各种图形元素的添加方法,并能够灵活应用这些元素。 2:了解R语言中的各种图形函数,掌握常见图形的绘制方法。 二:实验内容 1:某银行在降低贷款拖欠率的数据 bankloan 的示例数据。 2:比较违约与不违约情形不同特

    2024年04月17日
    浏览(44)
  • 基于微信小程序的毕业设计题目(5)php点餐外卖小程序(含开题报告、任务书、中期报告、答辩PPT、论文模板)

    基于微信小程序的毕业设计题目(5)php点菜外卖小程序(含开题报告、任务书、中期报告、答辩PPT、论文模板) 目的 :本课题主要目标是设计并能够实现一个基于微信小程序外卖点菜系统,前台用户使用小程序,后台管理使用基PHP+MySql的B/S架构;通过后台添加菜品,用户通过小程

    2024年02月09日
    浏览(39)
  • 基于微信小程序的毕业设计题目(12)php在线教育视频点播学习小程序(含开题报告、任务书、中期报告、答辩PPT、论文模板)

    基于微信小程序的毕业设计题目(12)php在线教育视频点播学习小程序(含开题报告、任务书、中期报告、答辩PPT、论文模板) 目的 :本课题主要目标是设计并能够实现一个基于微信小程序视频点播系统,前台用户使用小程序,后台管理使用基PHP+MySql的B/S架构;通过后台添加课

    2024年02月08日
    浏览(56)
  • 实验四 微程序控制器实验报告

    我班算是几乎最后一个做实验的班级了,报告参考了一些朋友提供的数据加上一些自己的主观拙见,本人水平有限加之制作仓促难免有错误,望大家批评指正。  (1) 掌握微程序控制器的组成原理。 (2) 掌握微程序的编制、写入,观察微程序的运行过程。 (3) 基于数据通路图,

    2024年02月06日
    浏览(40)
  • 基于微信小程序的毕业设计题目(7)php旅游攻略小程(含开题报告、任务书、中期报告、答辩PPT、论文模板)

    目的 :本课题主要目标是设计并能够实现一个基于微信景区景点旅游攻略小程序系统,前台用户使用小程序,小程序使用微信开发者工具开发;后台管理使用基PP+MySql的B/S架构,开发工具使用phpstorm;通过后台添加景区景点信息,管理景区景点订单,管理评论等,用户通过小

    2024年02月09日
    浏览(54)
  • 微信小程序实验报告-----学生家教小程序

    实验报告 课程名称:       企业级前端应用开发实践                            实验项目:              学生家教小程序                          实验地点:                                          专业班级:                

    2024年02月08日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包