1. 程式人生 > >基於C#的商店銷售管理系統的設計與實現

基於C#的商店銷售管理系統的設計與實現

一、實驗設計思路

Winform的方式實現,充分利用C#的面向物件特性,模擬了十種商品的進貨、購買與銷售過程,每種商品都有其特定的編號,名稱,價格,庫存(用類product實現)。登入設定分兩種,一種是管理員登入(賬號:lczq,密碼:lz19951002),第二種是使用者登入(賬號:customer,密碼:customer)。

二、實驗設計分析

(1)建立 product 類

class product
{
        //商品編號
        int id;
        public int Id
        {
            get { return id; }
            set { if (value != 0) id = value; }
        }

        //商品名字
        string name;
        public string Name
        {
            get { return name; }
            set { if (value != "") name = value; }
        }

        //商品價格
        double price;
        public double Price
        {
            get { return price; }
            set { if (value >= 0) price = value; }
        }

        //商品數量
        int amount;
        public int Amount
        {
            get { return amount; }
            set { if (value >= 0) amount = value; }
        }

        public product() { }

        public product(int Id, string Name, double Price, int Amount)
        {
            id = Id;
            name = Name;
            price = Price;
            amount = Amount;
        }

        public double sum_price(int number)
        {
            return (double)number * price;
        }
}

(2) 然後分別對管理員和使用者進行視窗設計,buttontextBox會比較多,這裡的設計具體看程式碼,標有註釋。

三、程式流程

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace lczq_weiStore
{
    public partial class Form1 : Form
    {

        int judge = 0;
        bool isOk = false;
        product[] goods = new product[10];
        int[] admin_num = new int[10];
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            init_admin_product();
            init_admin_num();
            this.Text = "Amazon";
        }

        //初始化商品
        void init_admin_product()
        {
            goods[0] = new product(1001, "iphone4", 1699, 40);
            goods[1] = new product(1002, "iphone4s", 1799, 50);
            goods[2] = new product(1003, "iphone5", 2999, 60);
            goods[3] = new product(1004, "iphone5s", 3499, 70);
            goods[4] = new product(1005, "iphone6", 4999, 80);
            goods[5] = new product(1006, "iphone6plus", 5899, 90);
            goods[6] = new product(1007, "MX2", 999, 20);
            goods[7] = new product(1008, "MX3", 1299, 50);
            goods[8] = new product(1009, "MX4", 1799, 60);
            goods[9] = new product(1010, "MX4pro", 2199, 70);

        }

        //初始化運算元組
        void init_admin_num()
        {
            for (int i = 0; i < admin_num.Length; i++) admin_num[i] = 0;
        }

        //登入按鈕
        private void button1_Click_1(object sender, EventArgs e)
        {
            string name = UserName.Text;
            string password = PassWord.Text;
            if (name == "lczq" && password == "lz19951002")
            {
                judge = 1;
            }

            if (name == "customer" && password == "customer")
            {
                judge = 2;
            }

            if (judge == 0)
            {
                MessageBox.Show("userName or passWord is wrong!");
                clear_load();
            }

            else if (judge == 1)
            {
                MessageBox.Show("administrator successfully load!");
                change_load(false);
                clear_load();
                get_admin(true);
                get_administrator_in();
            }

            else
            {
                MessageBox.Show("customer successfully load!");
               
                change_load(false);
                clear_load();
                get_customer(true, false);
                get_administrator_in();
                MessageBox.Show("welcome to lczq_weiStore! In our store,there are " + goods[0].Name + " , "
                   + goods[1].Name + " , " + goods[2].Name + " , " + goods[3].Name + " , " + goods[4].Name
                   + " , " + goods[5].Name + " , " + goods[6].Name + " , " + goods[7].Name + " , " + goods[8].Name
                   + " , " + goods[9].Name + " . " + "Wish you have a good shopping day!");

            }

        }

        //取消登入
        private void button2_Click(object sender, EventArgs e)
        {
            clear_load();
        }

        void change_load(bool ok)
        {
            label1.Visible = ok;
            label2.Visible = ok;
            //label3.Visible = ok;
            UserName.Visible = ok;
            PassWord.Visible = ok;
            button1.Visible = ok;
            button2.Visible = ok;
            
        }
        void clear_load()
        {
            UserName.Clear();
            PassWord.Clear();
            UserName.Focus();
        }

        //載入管理員介面
        void get_admin(bool ok)
        {
            label4.Visible = ok;
            label5.Visible = ok;
            label6.Visible = ok;
            label7.Visible = ok;
            label8.Visible = ok;
            textBox1.Visible = ok;
            textBox2.Visible = ok;
            textBox3.Visible = ok;
            textBox4.Visible = ok;
            textBox5.Visible = ok;
            textBox6.Visible = ok;
            textBox7.Visible = ok;
            textBox8.Visible = ok;
            textBox9.Visible = ok;
            textBox10.Visible = ok;
            textBox11.Visible = ok;
            textBox12.Visible = ok;
            textBox13.Visible = ok;
            textBox14.Visible = ok;
            textBox15.Visible = ok;
            textBox16.Visible = ok;
            textBox17.Visible = ok;
            textBox18.Visible = ok;
            textBox19.Visible = ok;
            textBox20.Visible = ok;
            textBox21.Visible = ok;
            textBox22.Visible = ok;
            textBox23.Visible = ok;
            textBox24.Visible = ok;
            textBox25.Visible = ok;
            textBox26.Visible = ok;
            textBox27.Visible = ok;
            textBox28.Visible = ok;
            textBox29.Visible = ok;
            textBox30.Visible = ok;
            textBox31.Visible = ok;
            textBox32.Visible = ok;
            textBox33.Visible = ok;
            textBox34.Visible = ok;
            textBox35.Visible = ok;
            textBox36.Visible = ok;
            textBox37.Visible = ok;
            textBox38.Visible = ok;
            textBox39.Visible = ok;
            textBox40.Visible = ok;
            textBox41.Visible = ok;
            textBox42.Visible = ok;
            textBox43.Visible = ok; 
            textBox44.Visible = ok;
            textBox45.Visible = ok;
            textBox46.Visible = ok; 
            textBox47.Visible = ok;
            textBox48.Visible = ok;
            textBox49.Visible = ok;
            textBox50.Visible = ok;
            button3.Visible = ok;
            button4.Visible = ok;
            button5.Visible = ok;
            button6.Visible = ok;
            button7.Visible = ok; 
            button8.Visible = ok;
            button9.Visible = ok;
            button10.Visible = ok;
            button11.Visible = ok;
            button12.Visible = ok;
            button13.Visible = ok;
            button14.Visible = ok;
            button15.Visible = ok;
            button16.Visible = ok;
            button17.Visible = ok;
            button18.Visible = ok;
            button19.Visible = ok;
            button20.Visible = ok;
            button21.Visible = ok;
            button22.Visible = ok;
            button23.Visible = ok;
            button24.Visible = ok;
            button25.Visible = ok;

        }

        //管理員登入後載入商品目錄
        void get_administrator_in()
        {
            textBox2.Text = Convert.ToString(goods[0].Id);
            textBox12.Text = goods[0].Name;
            textBox22.Text = Convert.ToString(goods[0].Price);
            textBox32.Text = Convert.ToString(goods[0].Amount);
            textBox1.Text = "0";

            textBox3.Text = Convert.ToString(goods[1].Id);
            textBox13.Text = goods[1].Name;
            textBox23.Text = Convert.ToString(goods[1].Price);
            textBox33.Text = Convert.ToString(goods[1].Amount);
            textBox42.Text = "0";

            textBox4.Text = Convert.ToString(goods[2].Id);
            textBox14.Text = goods[2].Name;
            textBox24.Text = Convert.ToString(goods[2].Price);
            textBox34.Text = Convert.ToString(goods[2].Amount);
            textBox43.Text = "0";

            textBox5.Text = Convert.ToString(goods[3].Id);
            textBox15.Text = goods[3].Name;
            textBox25.Text = Convert.ToString(goods[3].Price);
            textBox35.Text = Convert.ToString(goods[3].Amount);
            textBox44.Text = "0";

            textBox6.Text = Convert.ToString(goods[4].Id);
            textBox16.Text = goods[4].Name;
            textBox26.Text = Convert.ToString(goods[4].Price);
            textBox36.Text = Convert.ToString(goods[4].Amount);
            textBox45.Text = "0";

            textBox7.Text = Convert.ToString(goods[5].Id);
            textBox17.Text = goods[5].Name;
            textBox27.Text = Convert.ToString(goods[5].Price);
            textBox37.Text = Convert.ToString(goods[5].Amount);
            textBox46.Text = "0";

            textBox8.Text = Convert.ToString(goods[6].Id);
            textBox18.Text = goods[6].Name;
            textBox28.Text = Convert.ToString(goods[6].Price);
            textBox38.Text = Convert.ToString(goods[6].Amount);
            textBox47.Text = "0";

            textBox9.Text = Convert.ToString(goods[7].Id);
            textBox19.Text = goods[7].Name;
            textBox29.Text = Convert.ToString(goods[7].Price);
            textBox39.Text = Convert.ToString(goods[7].Amount);
            textBox48.Text = "0";

            textBox10.Text = Convert.ToString(goods[8].Id);
            textBox20.Text = goods[8].Name;
            textBox30.Text = Convert.ToString(goods[8].Price);
            textBox40.Text = Convert.ToString(goods[8].Amount);
            textBox49.Text = "0";

            textBox11.Text = Convert.ToString(goods[9].Id);
            textBox21.Text = goods[9].Name;
            textBox31.Text = Convert.ToString(goods[9].Price);
            textBox41.Text = Convert.ToString(goods[9].Amount);
            textBox50.Text = "0";
        }

        //管理員登入後修改的資訊儲存起來goods[]
        void re_get_administrator_in()
        {
            goods[0].Id = Convert.ToInt32(textBox2.Text);
            goods[0].Name = textBox12.Text;
            goods[0].Price = Convert.ToInt32(textBox22.Text);
            goods[0].Amount = Convert.ToInt32(textBox32.Text);
            textBox1.Text = "0";

            goods[1].Id = Convert.ToInt32(textBox3.Text);
            goods[1].Name = textBox13.Text;
            goods[1].Price = Convert.ToInt32(textBox23.Text);
            goods[1].Amount = Convert.ToInt32(textBox33.Text);
            textBox42.Text = "0";

            goods[2].Id = Convert.ToInt32(textBox4.Text);
            goods[2].Name = textBox14.Text;
            goods[2].Price = Convert.ToInt32(textBox24.Text);
            goods[2].Amount = Convert.ToInt32(textBox34.Text);
            textBox43.Text = "0";

            goods[3].Id = Convert.ToInt32(textBox5.Text);
            goods[3].Name = textBox15.Text;
            goods[3].Price = Convert.ToInt32(textBox25.Text);
            goods[3].Amount = Convert.ToInt32(textBox35.Text);
            textBox44.Text = "0";

            goods[4].Id = Convert.ToInt32(textBox6.Text);
            goods[4].Name = textBox16.Text;
            goods[4].Price = Convert.ToInt32(textBox26.Text);
            goods[4].Amount = Convert.ToInt32(textBox36.Text);
            textBox45.Text = "0";

            goods[5].Id = Convert.ToInt32(textBox7.Text);
            goods[5].Name = textBox17.Text;
            goods[5].Price = Convert.ToInt32(textBox27.Text);
            goods[5].Amount = Convert.ToInt32(textBox37.Text);
            textBox46.Text = "0";

            goods[6].Id = Convert.ToInt32(textBox8.Text);
            goods[6].Name = textBox18.Text;
            goods[6].Price = Convert.ToInt32(textBox28.Text);
            goods[6].Amount = Convert.ToInt32(textBox38.Text);
            textBox47.Text = "0";

            goods[7].Id = Convert.ToInt32(textBox9.Text);
            goods[7].Name = textBox19.Text;
            goods[7].Price = Convert.ToInt32(textBox29.Text);
            goods[7].Amount = Convert.ToInt32(textBox39.Text);
            textBox48.Text = "0";

            goods[8].Id = Convert.ToInt32(textBox10.Text);
            goods[8].Name = textBox20.Text;
            goods[8].Price = Convert.ToInt32(textBox30.Text);
            goods[8].Amount = Convert.ToInt32(textBox40.Text);
            textBox49.Text = "0";

            goods[9].Id = Convert.ToInt32(textBox11.Text);
            goods[9].Name = textBox21.Text;
            goods[9].Price = Convert.ToInt32(textBox31.Text);
            goods[9].Amount = Convert.ToInt32(textBox41.Text);
            textBox50.Text = "0";

            textBox11.Text = Convert.ToString(goods[9].Id);
            textBox21.Text = goods[9].Name;
            textBox31.Text = Convert.ToString(goods[9].Price);
            textBox41.Text = Convert.ToString(goods[9].Amount);
            textBox50.Text = "0";
        }

        //進貨數量增減
        private void button3_Click(object sender, EventArgs e)
        {
            if (admin_num[0] > 0) admin_num[0] -= 1;
            textBox1.Text = Convert.ToString(admin_num[0]);
        }

        private void button5_Click(object sender, EventArgs e)
        {
            if (admin_num[1] > 0) admin_num[1] -= 1;
            textBox42.Text = Convert.ToString(admin_num[1]);
        }

        private void button7_Click(object sender, EventArgs e)
        {
            if (admin_num[2] > 0) admin_num[2] -= 1;
            textBox43.Text = Convert.ToString(admin_num[2]);
        }

        private void button9_Click(object sender, EventArgs e)
        {
            if (admin_num[3] > 0) admin_num[3] -= 1;
            textBox44.Text = Convert.ToString(admin_num[3]);
        }

        private void button11_Click(object sender, EventArgs e)
        {
            if (admin_num[4] > 0) admin_num[4] -= 1;
            textBox45.Text = Convert.ToString(admin_num[4]);
        }

        private void button13_Click(object sender, EventArgs e)
        {
            if (admin_num[5] > 0) admin_num[5] -= 1;
            textBox46.Text = Convert.ToString(admin_num[5]);
        }

        private void button15_Click(object sender, EventArgs e)
        {
            if (admin_num[6] > 0) admin_num[6] -= 1;
            textBox47.Text = Convert.ToString(admin_num[6]);
        }

        private void button17_Click(object sender, EventArgs e)
        {
            if (admin_num[7] > 0) admin_num[7] -= 1;
            textBox48.Text = Convert.ToString(admin_num[7]);
        }

        private void button19_Click(object sender, EventArgs e)
        {
            if (admin_num[8] > 0) admin_num[8] -= 1;
            textBox49.Text = Convert.ToString(admin_num[8]);
        }

        private void button21_Click(object sender, EventArgs e)
        {
            if (admin_num[9] > 0) admin_num[9] -= 1;
            textBox50.Text = Convert.ToString(admin_num[9]);
        }

        private void button4_Click(object sender, EventArgs e)
        {
            admin_num[0] += 1;
            textBox1.Text = Convert.ToString(admin_num[0]);
        }

        private void button6_Click(object sender, EventArgs e)
        {
            admin_num[1] += 1;
            textBox42.Text = Convert.ToString(admin_num[1]);
        }

        private void button8_Click(object sender, EventArgs e)
        {
            admin_num[2] += 1;
            textBox43.Text = Convert.ToString(admin_num[2]);
        }

        private void button10_Click(object sender, EventArgs e)
        {
            admin_num[3] += 1;
            textBox44.Text = Convert.ToString(admin_num[3]);
        }

        private void button12_Click(object sender, EventArgs e)
        {
            admin_num[4] += 1;
            textBox45.Text = Convert.ToString(admin_num[4]);
        }

        private void button14_Click(object sender, EventArgs e)
        {
            admin_num[5] += 1;
            textBox46.Text = Convert.ToString(admin_num[5]);
        }

        private void button16_Click(object sender, EventArgs e)
        {
            admin_num[6] += 1;
            textBox47.Text = Convert.ToString(admin_num[6]);
        }

        private void button18_Click(object sender, EventArgs e)
        {
            admin_num[7] += 1;
            textBox48.Text = Convert.ToString(admin_num[7]);
        }

        private void button20_Click(object sender, EventArgs e)
        {
            admin_num[8] += 1;
            textBox49.Text = Convert.ToString(admin_num[8]);
        }

        private void button22_Click(object sender, EventArgs e)
        {
            admin_num[9] += 1;
            textBox50.Text = Convert.ToString(admin_num[9]);
        }

        //更新庫存
        void update_inventory()
        {
            textBox32.Text = Convert.ToString(goods[0].Amount + admin_num[0]);
            textBox33.Text = Convert.ToString(goods[1].Amount + admin_num[1]);
            textBox34.Text = Convert.ToString(goods[2].Amount + admin_num[2]);
            textBox35.Text = Convert.ToString(goods[3].Amount + admin_num[3]);
            textBox36.Text = Convert.ToString(goods[4].Amount + admin_num[4]);
            textBox37.Text = Convert.ToString(goods[5].Amount + admin_num[5]);
            textBox38.Text = Convert.ToString(goods[6].Amount + admin_num[6]);
            textBox39.Text = Convert.ToString(goods[7].Amount + admin_num[7]);
            textBox40.Text = Convert.ToString(goods[8].Amount + admin_num[8]);
            textBox41.Text = Convert.ToString(goods[9].Amount + admin_num[9]);

        }

        //儲存更新
        private void button23_Click(object sender, EventArgs e)
        {
            update_inventory();
            re_get_administrator_in();
            init_admin_num();
        }

        //取消更新
        private void button24_Click(object sender, EventArgs e)
        {
            get_administrator_in();
            init_admin_num();
        }

        //管理員退出登入
        private void button25_Click(object sender, EventArgs e)
        {
            MessageBox.Show("administrator successfully load out!");
            change_load(true);
            get_admin(false);
            clear_load();
        }

        //載入使用者介面
        void get_customer(bool ok, bool no)
        {
            label4.Visible = ok;
            label5.Visible = ok;
            label6.Visible = ok;
            label7.Visible = ok;
            label8.Visible = ok;
            textBox1.Visible = ok; textBox1.Enabled = no;
            textBox2.Visible = ok; textBox2.Enabled = no;
            textBox3.Visible = ok; textBox3.Enabled = no;
            textBox4.Visible = ok; textBox4.Enabled = no;
            textBox5.Visible = ok; textBox5.Enabled = no;
            textBox6.Visible = ok; textBox6.Enabled = no;
            textBox7.Visible = ok; textBox7.Enabled = no;
            textBox8.Visible = ok; textBox8.Enabled = no;
            textBox9.Visible = ok; textBox9.Enabled = no;
            textBox10.Visible = ok; textBox10.Enabled = no;
            textBox11.Visible = ok; textBox11.Enabled = no;
            textBox12.Visible = ok; textBox12.Enabled = no;
            textBox13.Visible = ok; textBox13.Enabled = no;
            textBox14.Visible = ok; textBox14.Enabled = no;
            textBox15.Visible = ok; textBox15.Enabled = no;
            textBox16.Visible = ok; textBox16.Enabled = no;
            textBox17.Visible = ok; textBox17.Enabled = no;
            textBox18.Visible = ok; textBox18.Enabled = no;
            textBox19.Visible = ok; textBox19.Enabled = no;
            textBox20.Visible = ok; textBox20.Enabled = no;
            textBox21.Visible = ok; textBox21.Enabled = no;
            textBox22.Visible = ok; textBox22.Enabled = no;
            textBox23.Visible = ok; textBox23.Enabled = no;
            textBox24.Visible = ok; textBox24.Enabled = no;
            textBox25.Visible = ok; textBox25.Enabled = no;
            textBox26.Visible = ok; textBox26.Enabled = no;
            textBox27.Visible = ok; textBox27.Enabled = no;
            textBox28.Visible = ok; textBox28.Enabled = no;
            textBox29.Visible = ok; textBox29.Enabled = no;
            textBox30.Visible = ok; textBox30.Enabled = no;
            textBox31.Visible = ok; textBox31.Enabled = no;
            textBox32.Visible = ok; textBox32.Enabled = no;
            textBox33.Visible = ok; textBox33.Enabled = no;
            textBox34.Visible = ok; textBox34.Enabled = no;
            textBox35.Visible = ok; textBox35.Enabled = no;
            textBox36.Visible = ok; textBox36.Enabled = no;
            textBox37.Visible = ok; textBox37.Enabled = no;
            textBox38.Visible = ok; textBox38.Enabled = no;
            textBox39.Visible = ok; textBox39.Enabled = no;
            textBox40.Visible = ok; textBox40.Enabled = no;
            textBox41.Visible = ok; textBox41.Enabled = no;
            textBox42.Visible = ok; textBox42.Enabled = no;
            textBox43.Visible = ok; textBox43.Enabled = no;
            textBox44.Visible = ok; textBox44.Enabled = no;
            textBox45.Visible = ok; textBox45.Enabled = no;
            textBox46.Visible = ok; textBox46.Enabled = no;
            textBox47.Visible = ok; textBox47.Enabled = no;
            textBox48.Visible = ok; textBox48.Enabled = no;
            textBox49.Visible = ok; textBox49.Enabled = no;
            textBox50.Visible = ok; textBox50.Enabled = no;
            textBox54.Visible = ok;
            totalprice.Visible = ok;
            button3.Visible = no;
            button4.Visible = no;
            button5.Visible = no;
            button6.Visible = no;
            button7.Visible = no;
            button8.Visible = no;
            button9.Visible = no;
            button10.Visible = no;
            button11.Visible = no;
            button12.Visible = no;
            button13.Visible = no;
            button14.Visible = no;
            button15.Visible = no;
            button16.Visible = no;
            button17.Visible = no;
            button18.Visible = no;
            button19.Visible = no;
            button20.Visible = no;
            button21.Visible = no;
            button22.Visible = no;
            button23.Visible = no;
            button24.Visible = no;
            button25.Visible = no;
            button26.Visible = ok;
            button27.Visible = ok;
            button28.Visible = ok;
            button29.Visible = ok;
            button30.Visible = ok;
            button31.Visible = ok;
            button32.Visible = ok;
            button33.Visible = ok;
            button34.Visible = ok;
            button35.Visible = ok;
            button36.Visible = ok;
            button37.Visible = ok;
            button38.Visible = ok;
            button39.Visible = ok;
            button40.Visible = ok;
            button41.Visible = ok;
            button42.Visible = ok;
            button43.Visible = ok;
            button44.Visible = ok;
            button45.Visible = ok;
            button46.Visible = ok;
            button47.Visible = ok;
            button48.Visible = ok;

        }

        //使用者減少商品
        void customer_decrease(int pose)
        {
            if (admin_num[pose] > 0)
            {
                admin_num[pose] -= 1;
                double pre_totalprice = Convert.ToDouble(totalprice.Text);
                double now_totalprice = pre_totalprice - goods[pose].Price;
                totalprice.Text = Convert.ToString(now_totalprice);
                goods[pose].Amount += 1;
            }
        }
        private void button26_Click(object sender, EventArgs e)
        {
            customer_decrease(0);
            textBox32.Text = Convert.ToString(goods[0].Amount);
            textBox1.Text = Convert.ToString(admin_num[0]);

        }

        private void button28_Click(object sender, EventArgs e)
        {
            customer_decrease(1);
            textBox33.Text = Convert.ToString(goods[1].Amount);
            textBox42.Text = Convert.ToString(admin_num[1]);

        }

        private void button30_Click(object sender, EventArgs e)
        {
            customer_decrease(2);
            textBox34.Text = Convert.ToString(goods[2].Amount);
            textBox43.Text = Convert.ToString(admin_num[2]);
        }

        private void button32_Click(object sender, EventArgs e)
        {
            customer_decrease(3);
            textBox35.Text = Convert.ToString(goods[3].Amount);
            textBox44.Text = Convert.ToString(admin_num[3]);
        }

        private void button34_Click(object sender, EventArgs e)
        {
            customer_decrease(4);
            textBox36.Text = Convert.ToString(goods[4].Amount);
            textBox45.Text = Convert.ToString(admin_num[4]);
            
        }

        private void button36_Click(object sender, EventArgs e)
        {
            customer_decrease(5);
            textBox37.Text = Convert.ToString(goods[5].Amount);
            textBox46.Text = Convert.ToString(admin_num[5]);
        }

        private void button38_Click(object sender, EventArgs e)
        {
            customer_decrease(6);
            textBox38.Text = Convert.ToString(goods[6].Amount);
            textBox47.Text = Convert.ToString(admin_num[6]);
            
        }

        private void button40_Click(object sender, EventArgs e)
        {
            customer_decrease(7);
            textBox39.Text = Convert.ToString(goods[7].Amount);
            textBox48.Text = Convert.ToString(admin_num[7]);
            
        }

        private void button42_Click(object sender, EventArgs e)
        {
            customer_decrease(8);
            textBox40.Text = Convert.ToString(goods[8].Amount);
            textBox49.Text = Convert.ToString(admin_num[8]);
            
        }

        private void button44_Click(object sender, EventArgs e)
        {
            customer_decrease(9);
            textBox41.Text = Convert.ToString(goods[9].Amount);
            textBox50.Text = Convert.ToString(admin_num[9]);
            
        }


        //使用者新增商品
        void customer_increase(int pose)
        {
            if (goods[pose].Amount > 0)
            {
                admin_num[pose] += 1;
                double pre_totalprice = Convert.ToDouble(totalprice.Text);
                double now_totalprice = pre_totalprice + goods[pose].Price;
                totalprice.Text = Convert.ToString(now_totalprice);
                goods[pose].Amount -= 1;
            }
        }
        private void button27_Click(object sender, EventArgs e)
        {
            customer_increase(0);
            textBox32.Text = Convert.ToString(goods[0].Amount);
            textBox1.Text = Convert.ToString(admin_num[0]);
        }

        private void button29_Click(object sender, EventArgs e)
        {
            customer_increase(1);
            textBox33.Text = Convert.ToString(goods[1].Amount);
            textBox42.Text = Convert.ToString(admin_num[1]);
        }

        private void button31_Click(object sender, EventArgs e)
        {
            customer_increase(2);
            textBox34.Text = Convert.ToString(goods[2].Amount);
            textBox43.Text = Convert.ToString(admin_num[2]);
        }

        private void button33_Click(object sender, EventArgs e)
        {
            customer_increase(3);
            textBox35.Text = Convert.ToString(goods[3].Amount);
            textBox44.Text = Convert.ToString(admin_num[3]);
        }

        private void button35_Click(object sender, EventArgs e)
        {
            customer_increase(4);
            textBox36.Text = Convert.ToString(goods[4].Amount);
            textBox45.Text = Convert.ToString(admin_num[4]);
        }

        private void button37_Click(object sender, EventArgs e)
        {
            customer_increase(5);
            textBox37.Text = Convert.ToString(goods[5].Amount);
            textBox46.Text = Convert.ToString(admin_num[5]);
        }

        private void button39_Click(object sender, EventArgs e)
        {
            customer_increase(6);
            textBox38.Text = Convert.ToString(goods[6].Amount);
            textBox47.Text = Convert.ToString(admin_num[6]);
        }

        private void button41_Click(object sender, EventArgs e)
        {
            customer_increase(7);
            textBox39.Text = Convert.ToString(goods[7].Amount);
            textBox48.Text = Convert.ToString(admin_num[7]);
        }

        private void button43_Click(object sender, EventArgs e)
        {
            customer_increase(8);
            textBox40.Text = Convert.ToString(goods[8].Amount);
            textBox49.Text = Convert.ToString(admin_num[8]);
        }

        private void button45_Click(object sender, EventArgs e)
        {
            customer_increase(9);
            textBox41.Text = Convert.ToString(goods[9].Amount);
            textBox50.Text = Convert.ToString(admin_num[9]);
        }


        //使用者取消已選擇商品
        void customer_cancel()
        {
            for (int i = 0; i < admin_num.Length; i++)
            {
                goods[i].Amount += admin_num[i];
                admin_num[i] = 0;
            }
            textBox32.Text = Convert.ToString(goods[0].Amount);
            textBox33.Text = Convert.ToString(goods[1].Amount);
            textBox34.Text = Convert.ToString(goods[2].Amount);
            textBox35.Text = Convert.ToString(goods[3].Amount);
            textBox36.Text = Convert.ToString(goods[4].Amount);
            textBox37.Text = Convert.ToString(goods[5].Amount);
            textBox38.Text = Convert.ToString(goods[6].Amount);
            textBox39.Text = Convert.ToString(goods[7].Amount);
            textBox40.Text = Convert.ToString(goods[8].Amount);
            textBox41.Text = Convert.ToString(goods[9].Amount);
            textBox1.Text = "0";
            textBox42.Text = "0";
            textBox43.Text = "0";
            textBox44.Text = "0";
            textBox45.Text = "0";
            textBox46.Text = "0";
            textBox47.Text = "0";
            textBox48.Text = "0";
            textBox49.Text = "0";
            textBox50.Text = "0";
            totalprice.Text = "0.0";
        }
        //使用者取消操作
        private void button47_Click(object sender, EventArgs e)
        {
            customer_cancel();
        }

        //使用者退出登入
        private void button48_Click(object sender, EventArgs e)
        {
            customer_cancel();
            MessageBox.Show("customer successfully load out!");
            change_load(true);
            get_customer(false, false);
            clear_load();
        }

        //載入使用者確認商品介面
        void get_shopping_information(bool ok)
        {
            textBox56.Visible = ok;
            textBox57.Visible = ok;
            textBox58.Visible = ok;
            textBox59.Visible = ok;
            textBox60.Visible = ok;
            textBox61.Visible = ok;
            textBox62.Visible = ok;
            textBox63.Visible = ok;
            textBox64.Visible = ok;
            comboBox1.Visible = ok;
            button49.Visible = ok;
            button50.Visible = ok;
            button51.Visible = ok;
        }

        //載入使用者已選擇商品資訊
        void get_shopping_list()
        {
            for (int i = 0; i < admin_num.Length; i++)
            {
                if (admin_num[i] != 0)
                {
                    textBox57.Text += "ID: ";
                    textBox57.Text += Convert.ToString(goods[i].Id);
                    textBox57.Text += " , name: ";
                    textBox57.Text += goods[i].Name;
                    textBox57.Text += " , price: ";
                    textBox57.Text += Convert.ToString(goods[i].Price);
                    textBox57.Text += " , amount: ";
                    textBox57.Text += Convert.ToString(admin_num[i]);
                    textBox57.Text += " , sum_price: ";
                    textBox57.Text += Convert.ToString(goods[i].sum_price(admin_num[i]));
                    textBox57.Text += "\r\n\r\n";
                }
            }
            textBox61.Text = totalprice.Text;
            textBox62.Text = totalprice.Text;
        }

        //折扣資訊
        void get_discount()
        {
            comboBox1.Items.Clear();
            comboBox1.Items.Add("Full 1500 minus 100");
            comboBox1.Items.Add("Full 2000 minus 200");
            comboBox1.Items.Add("Overall hit 5% off");
        }

        //折扣選擇建議
        void get_discount_advice()
        {
            double sum_price = Convert.ToDouble(totalprice.Text);
            if (sum_price >= 1500 && sum_price < 2000)
            {
                textBox64.Text = "Full 1500 minus 100";
            }

            else if (sum_price >= 2000 && sum_price <= 4000)
            {
                textBox64.Text = "Full 2000 minus 200";
            }

            else
            {
                textBox64.Text = "Overall hit 5% off";
            }
        }

        //確認商品選擇按鈕
        private void button46_Click(object sender, EventArgs e)
        {
            get_customer(false, false);
            get_shopping_information(true);
            get_shopping_list();
            get_discount();
            get_discount_advice();

        }

        //折扣選擇按鈕

        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            double sum_price = Convert.ToDouble(totalprice.Text);
            double true_price = 0.0;
            int index = comboBox1.SelectedIndex;
            switch (index)
            {
                case 0:
                    if (sum_price >= 1500)
                    {
                        true_price = sum_price - 100;
                        textBox62.Text = Convert.ToString(true_price);
                    }
                    break;

                case 1:
                    if (sum_price >= 2000)
                    {
                        true_price = sum_price - 200;
                        textBox62.Text = Convert.ToString(true_price);
                    }
                    break;

                case 2:
                    true_price = sum_price * 0.95;
                    textBox62.Text = Convert.ToString(true_price);
                    break;

                default: break;
            }
        }

        //使用者在確認商品介面直接退出登入
        private void button51_Click(object sender, EventArgs e)
        {
            MessageBox.Show("customer successfully load out!");
            get_shopping_information(false);
            customer_cancel();
            change_load(true);
            isOk = false;
            textBox57.Clear();
            textBox61.Clear();
            textBox62.Clear();
            textBox64.Clear();
        }

        //使用者返回上一層
        private void button50_Click(object sender, EventArgs e)
        {
            get_shopping_information(false);
            get_customer(true, false);
            if (isOk == true)
            {
                textBox57.Clear();
                textBox61.Clear();
                textBox62.Clear();
                textBox64.Clear();
                isOk = false;
            }
        }

        //使用者確認購買按鈕
        private void button49_Click(object sender, EventArgs e)
        {
            MessageBox.Show("thanks for the shopping! this time your consumption is " +
                textBox62.Text + "yuan . welcome you to visit again! ");

            isOk = true;
            for (int i = 0; i < admin_num.Length; i++)
            {
                admin_num[i] = 0;
            }
            textBox1.Text = "0";
            textBox42.Text = "0";
            textBox43.Text = "0";
            textBox44.Text = "0";
            textBox45.Text = "0";
            textBox46.Text = "0";
            textBox47.Text = "0";
            textBox48.Text = "0";
            textBox49.Text = "0";
            textBox50.Text = "0";
            totalprice.Text = "0.0";

        }

    }
}

四、實驗總結

寫了一天多了,實驗自己測了一下,bug還是蠻多的,從中總結出了自己寫窗體應用程式時思路不是很清晰,想象力不夠啊,程式碼寫得也很冗雜,有待提高。

//over

/*

以下內容與本實驗無關

*/

昨天倆老師突然闖進1106,說以後不能在實驗室過夜,我想肯定是院長的發的牢騷 。。。

今天在ACM實驗室待著待著,突然又闖進來幾個老師,說ACM實驗室以後也成為公共實驗室 ,說我們不能自己帶鑰匙了,說每天早上八點可以找老師開門,晚上九點四十必須清場,說ACM實驗室會裝上攝像頭監控,說…………

呵、呵、呵、、、、、、

不知道他們在想什麼。。。

神煩。越來越覺得華師計算機學院的某些老師,領導就是巨坑,某些管理制度更是令人難以接受。

明天呢,是不是要四個老師繼續突然闖進來,然後xxxxoooo一大片讓人聽到耳朵就不清淨的話。

唉唉,算了,不吐槽了,,做好自己的事就好。

相關推薦

[原始碼和文件分享]基於C++的庫存管理系統設計實現

一 需求分析 1.1 總體要求 運用面向物件程式設計知識,利用C++語言設計和實現一個“庫存管理系統設計”,主要完成對商品的銷售、統計和簡單管理。在實現過程中,需利用面向物件程式設計理論的基礎知識,充分體現出C++語言關於類、繼承和封裝等核心概念,每一個類應包含資料成員和成員函式。 1.

[原始碼和文件分享]基於C++的學生生活系統設計實現

一 需求分析 需要設計並實現如下場景:在那山的那邊,湖的那邊,有一所學校,學校裡有一幢宿舍樓,宿舍樓有若干層,每一層有若干房間 ,一群學生快樂地生活在這裡。他們每天可做的事情有: 換宿舍,從一個房間搬到另一個房間 退學,亦即搬出宿舍樓 入學,亦即搬入宿舍樓

[原始碼和文件分享]基於QT的考試管理系統設計實現

一、專案概要 1.1 專案名稱 考試管理系統 1.2 專案目標 培養快速學習新的知識,解決問題的能力 規劃專案的整體功能以及相關需求分析,並設計出合理的資料庫,並熟悉整個試題系統的開發流程。 1.3 軟體概要 開發一個考試管理系統,考生可以進行練習,

基於WebGIS的Web服務器日誌管理系統設計實現_愛學術——免費下載

富客戶端 平臺 .com 服務器日誌 操作 shu 實現 c51 bsp 【摘要】WebGIS優勢是通過互聯網對地理空間數據進行發布和應用,以實現空間數據的共享和相互操作。將WebGIS和富客戶端技術引入Web服務器日誌管理領域,從總體設計、數據庫設計、實現框架等幾個方面設

基於Web的企業排班管理系統設計實現_愛學術——免費下載

安全 html 快速 開發框架 管理 document 企業 search src 【摘要】隨著我國企業的快速發展,落後的排班方式正日益影響企業的工作效率。本文即探討基於Web的企業排班管理。提出基於SSH開發框架並結合MVC設計模式來開發企業排班管理系統,提高系統的安全性

文獻綜述十四:基於Oracle11g的超市進銷存管理系統設計實現

一、基本資訊   標題:基於Oracle11g的超市進銷存管理系統設計與實現   時間:2016   出版源:技術創新   檔案分類:對資料庫的研究 二、研究背景   為超市設計開發的超市管理系統,採用的是 VC+ Oracle模 式的電子管理平臺,研究基於C/S模式的電子資訊管理的實現。 三、具體內容   

文獻綜述十八:基於SSH框架的進銷存管理系統設計實現

一、基本資訊   標題:基於SSH框架的進銷存管理系統設計與實現   時間:2017   出版源:內蒙古科技與經濟   檔案分類:對框架的研究 二、研究背景   進銷存管理系統在各企業中廣泛應用,使用SSH框架,很大程度上提高了開發效率及系統的可靠性和易用性。 三、具體內容   文獻的主要內容分為三大部分。一

基於JAVA的網上商城商家管理系統設計實現

**基於JAVA的網上商城商家管理系統設計與實現** 基於JAVA的網上商城商家管理系統設計與實現mysql資料庫建立語句 基於JAVA的網上商城商家管理系統設計與實現oracle資料庫建立語句 基於JAVA的網上商城商家管理系統設計與實現sqlserver資料庫建立語句

[原始碼和文件分享]基於JSP的停車場資訊管理系統設計實現

1.1 專案背景 軟體系統的名稱是停車場管理系統。我們開發的系統將幫助停車場管理員和物業公司更加智慧化的管理停車場,省去很多的人力物力。方便隨時查詢停車場的情況,也有助於車主方便隨時查詢附近可以停車的停車場。 1.1.1使用者基本情況介紹 角色1:停車場管理員 檢視剩餘車位數量,

基於RFID的簡易圖書管理系統設計實現

  本次開發主要做了從串列埠分別獲取讀者卡號和圖書卡號,實現圖書管理,圖書借閱,讀者管理等功能。開發語言是C#,開發環境使用Visual Studio 2015。資料庫採用sql Server。   RFID選擇   讀者卡跟圖書卡均採用125K,一般稱之為低頻卡,典型的

《超市智慧化管理系統設計實現》論文筆記(四)

一、基本資訊 標題:超市智慧化管理系統設計與實現 時間:2014 來源:電子科技大學 關鍵詞:超市; 資料庫; 商品; 窗體; 控制元件; 二、研究內容 1.主要內容:         該篇論文主要表述的是完成一個超

[原始碼和文件分享]基於C#語言的計算器的設計實現

一 需求分析 利用c#語言實現一個計算器程式,包括普通計算器模式、科學計算器模式;實現實數(包括正數、負數、0)的加、減、乘、除、平方等基本遠算,並實現非負數的開方運算。 二 程式設計與實現 首先設計主窗體,包括兩個TextBox用來顯示資料,使用資料繫結實現,在Model中實現INot

一種基於WiFi的室內定位系統設計實現 _RFID世界網

參考:http://network.chinabyte.com/376/12363876.shtml 1. 引言 位置資訊在人們的日常生活中扮演著重要的作用。在郊外、展覽館、公園等陌生環境中,使用定位導航資訊可為觀眾遊覽提供更便捷的服務;在倉儲物流過程中,對物品進行實時定

基於C#的商店銷售管理系統設計實現

一、實驗設計思路 用Winform的方式實現,充分利用C#的面向物件特性,模擬了十種商品的進貨、購買與銷售過程,每種商品都有其特定的編號,名稱,價格,庫存(用類product實現)。登入設定分兩種,一種是管理員登入(賬號:lczq,密碼:lz19951002),第二種是使

[原始碼和文件分享]基於C++的物資管理系統設計實現

一 需求分析 程式需實現以下功能: 新物資資訊錄入(編號、名稱、庫存) 查詢已錄入的所有物資資訊(編號或名稱為索引) 新增物資資訊(編號或名稱為索引) 領物資並生成領料單(編號或名稱為索引) 瀏覽領料單或物資庫存清單 物資資訊儲存,建

文獻綜述三:基於JSP的商品資訊管理系統設計開發

一、基本資訊   標題:基於JSP的商品資訊管理系統設計與開發   時間:2015   出版源:Computer Knowledge and Technology   檔案分類:jsp技術的系統開發 二、研究背景   通過了解公司產品人工現狀的一些管理方面的現狀和要求,運用計算機技術開發的商品資訊管理系統,能

基於WEB的銷售管理系統基於java畢業設計

**基於WEB的銷售管理系統,基於java畢業設計** 基於WEB的銷售管理系統mysql資料庫建立語句 基於WEB的銷售管理系統oracle資料庫建立語句 基於WEB的銷售管理系統sqlserver資料庫建立語句 基於WEB的銷售管理系統spring spring

C語言課設銷售管理系統設計

一.          C程式設計課程設計題目簡介 該設計要求學生以某公司銷售管理業務為背景,設計、開發一套“銷售管理系統”軟體。 通過該題目的設計過程,可以培養學生結構化程式設計的思想,加深對高階語言基本語言要素和控制結構的理解,針對c語言中的重點和難點內容進行訓練,獨

基於James技術的企業電子郵件系統設計實現

     基於James技術的企業電子郵件系統設計與實現   轉載:https://www.taodocs.com/p-156363658.html        1、簡介     

文獻筆記03-基於異構資料來源的網路等級考試報名管理系統設計實現

一、基本資訊 標題:基於異構資料來源的網路等級考試報名管理系統設計及實現 時間:2008. 出版源:中國知網 領域分類:計算機應用及軟體 二、研究背景 隨著我國高校擴大招生工作的進行,高校對學生的等級考試管理工作也面臨著新的要求。全國大學英語四、六級考試,專業外語四、八級考試,計算機等級考試,普通