長途汽車管理系統(tǒng)課程設(shè)報(bào)告

上傳人:仙*** 文檔編號:29402076 上傳時(shí)間:2021-10-07 格式:DOC 頁數(shù):25 大?。?42KB
收藏 版權(quán)申訴 舉報(bào) 下載
長途汽車管理系統(tǒng)課程設(shè)報(bào)告_第1頁
第1頁 / 共25頁
長途汽車管理系統(tǒng)課程設(shè)報(bào)告_第2頁
第2頁 / 共25頁
長途汽車管理系統(tǒng)課程設(shè)報(bào)告_第3頁
第3頁 / 共25頁

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《長途汽車管理系統(tǒng)課程設(shè)報(bào)告》由會員分享,可在線閱讀,更多相關(guān)《長途汽車管理系統(tǒng)課程設(shè)報(bào)告(25頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。

1、 1 概述 隨著時(shí)代的進(jìn)步,科學(xué)技術(shù)的迅猛發(fā)展,計(jì)算機(jī)的應(yīng)用已經(jīng)設(shè)計(jì)到生活的方方面面,有的應(yīng)用與國防領(lǐng)域,有的應(yīng)用于教育領(lǐng)域,有的應(yīng)用于商業(yè)領(lǐng)域,與之而來的是各種各樣的軟件,這些軟件給人們提供了方便。人們也享受著這些軟件給自己帶來的便利,足不出戶即可做很多很多的事情,可以網(wǎng)上購買衣服,充值話費(fèi)等。在春節(jié)將要來臨之際,很多學(xué)生都要訂票回家,有很多學(xué)生回家坐火車,訂火車票,當(dāng)然也有不少學(xué)生回家坐汽車,訂長途汽車票。為了方便訂長途汽車票回家的學(xué)生,也為了方便長途汽車方面的運(yùn)營。我特地做了一個(gè)長途汽車管理系統(tǒng),這個(gè)系統(tǒng)對于回家的學(xué)生來說主要是為了查看長途汽車的相關(guān)信息,從而避免因訂票緊張

2、而訂不到回家的長途汽車票,同時(shí)學(xué)生還可以通過這個(gè)軟件來查看自己所訂的票數(shù)和乘坐的長途汽車編號、車次等相關(guān)信息;而對于長途汽車運(yùn)營商來說,可以由系統(tǒng)管理員來添加新的長途汽車方面的信息,比如起始點(diǎn)和終點(diǎn)、起始時(shí)間等相關(guān)的重要信息。也可以刪除某條長途汽車的信息,更改長途汽車相關(guān)信息等等。 2 需求分析 在春節(jié)快來臨之際,很多在遠(yuǎn)方求學(xué)的學(xué)生都希望回家過年,他們希望早點(diǎn)訂到自己回家的票,不至于因訂票緊張而錯失回家的最后一班車,有很多學(xué)生回家乘坐火車,不少學(xué)生回家乘坐長途汽車,長途汽車雖然票價(jià)貴了點(diǎn),但是比火車速度快,也沒有火車擁擠,可以讓那些希望早點(diǎn)回家的同學(xué)早點(diǎn)的回家,避免長時(shí)間乘坐火

3、車,學(xué)生乘坐長途汽車可以直達(dá)目的地,不需要中途到站停車。這個(gè)長途汽車管理系統(tǒng)軟件一方面是針對需要訂購長途汽車的學(xué)生服務(wù),學(xué)生可以通過此軟件來查看目前有哪些長途汽車可以回家的,還可以查看票價(jià),實(shí)現(xiàn)訂票;另外一方面可以給管理員來添加新的長途汽車信息,刪除沒有的長途汽車信息,修改長途汽車信息。這個(gè)軟件主要是針對上面兩個(gè)方面進(jìn)行設(shè)計(jì)的,基本上滿足了學(xué)生和管理員的需求。 3 系統(tǒng)設(shè)計(jì) (一)E-R圖 (二)關(guān)系模式 Lb(cn,lno,lkind,lsp,lep,lst

4、,lnt,ln,price) Ps(id,pwd,slevel) Bd(lno,id,cn,nm) (三)表的定義: 1.Lb表 字段 類型 主鍵 非空 說明 cn nvarchar(8) Y Y 車次 lno nvarchar(6) N Y 長途汽車編號 lkind nvarchar(8) N Y 長途汽車種類 lsp nvarchar(8) N Y 起始點(diǎn) lep nvarchar(8) N Y 終點(diǎn) lst

5、nvarchar(8) N Y 起始時(shí)間 lnt nvarchar(10) N N 所需時(shí)間 ln int N Y 剩余票數(shù) price int N Y 票價(jià) 2.Ps表 字段 類型 主鍵 非空 說明 id nvarchar(20) Y Y 用戶名 pwd nvarchar(20) N Y 密碼 slevel nvarchar(8) N Y 權(quán)限 3.Bd表 字段 類型 主鍵 非空 說明 lno nvarchar

6、(6) N Y 長途汽車編號 id nvarchar(20) N Y 用戶名 cn nvarchar(8) N Y 所選車次 nm int N Y 票數(shù) 附:Bd表的主鍵是(lno,id,nm) 4 系統(tǒng)實(shí)現(xiàn)及界面流程 通過建立三個(gè)表格:Lb,Ps,Bd,主鍵、外鍵之間的聯(lián)系來創(chuàng)建數(shù)據(jù)庫,在系統(tǒng)中第一個(gè)界面主要是給登陸和注冊用的,普通乘客查看信息必須先注冊,用注冊的賬號和自己設(shè)的密碼來登陸,登陸之后進(jìn)入第二個(gè)界面,可以查看長途汽車信息,訂票,查看自己訂的長途汽車票數(shù)

7、和車次等;如果是管理員,則無需注冊,數(shù)據(jù)庫里面已經(jīng)有管理員的賬號了,管理員進(jìn)入第二個(gè)界面,可以添加長途汽車信息,也可以更改長途汽車信息,刪除長途汽車信息,但是訂票對管理員是不允許的,當(dāng)然管理員也可以修改自己的密碼,由于管理員無訂票功能,故管理員也無需查看當(dāng)前用戶訂票信息。 流程圖: 已經(jīng)注冊? 注冊新用戶 否 輸入用戶名和密碼 是 確認(rèn)密碼 登錄 選擇身份 兩次輸入一致?

8、 重新輸入 否 管理員 普通乘客 是 注冊成功 輸入用戶名和密碼 密碼正確? 重新輸入密碼 否 是 長途汽車查詢界面 查詢長途汽車信息 修改、刪除、添加信息(管理員) 訂票(普通乘客)

9、 系統(tǒng)各功能模塊的介紹 (1)用戶登錄模塊設(shè)計(jì) (a)登陸窗口如圖1; 圖1.登錄界面 (b)登錄身份選擇如圖2 圖2.用戶身份選擇 (c)注冊界面如圖3 圖3.注冊界面 (d)注冊后提示如圖4 圖4.注冊后提示 (f)注冊成功提示如圖5 圖5.提示注冊成功 (2)長途汽車查詢模塊設(shè)計(jì) (a) 普通乘客登錄成功后進(jìn)入界面如圖6 圖6.普通乘客進(jìn)入長途汽車查詢界面 (b)查詢長途汽車信息如圖7 圖7.查詢長途汽車信息 (c)訂票提示成功如圖8 圖8.訂票提示成功 (d)查看用戶訂票信息 圖9.查詢用戶訂票信息

10、 (e)用戶密碼修改提示如圖10 圖10.用戶密碼修改提示 (f)密碼修改成功后提示如圖11 圖11.密碼修改成功后提示 (g)管理員登錄長途汽車管理系統(tǒng)界面如圖12 圖12.管理員登錄長途汽車管理界面 (h)管理員查詢長途汽車信息如圖13 圖13.管理員查詢長途汽車信息 (i)管理員修改長途汽車信息如圖14、圖15 圖14.管理員修改后提示 圖15.管理員修改成功后 (j)管理員刪除長途汽車信息如圖16、圖17 圖16.管理員刪除長途汽車信息提示 圖17.管理員刪除長途汽車信息成功后 (k)管理員添加長途汽車信息如圖18、圖19

11、 圖18.添加長途汽車后提示信息 圖19.添加成功后信息 5 源代碼 form1窗口: 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; namespace longbus { public partial class

12、 Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { string use = Login1(); Login2(use); } private void Login2(string use)

13、 { if (use == "管理員") { SqlConnection cn = new SqlConnection("server=.;database=longbus;integrated security=true"); cn.Open(); string id = textBox1.Text; string pwd = textBox2.Text; stri

14、ng sql = " Select count(*) from Ps where id=" + id + " and pwd=" + pwd + ""; SqlCommand cmd = new SqlCommand(sql, cn); int result = (int)cmd.ExecuteScalar(); string sql1 = " Select count(*) from Ps where id=" + id + " and pwd=" + pwd + "and sle

15、vel=" + use + ""; SqlCommand cmd1 = new SqlCommand(sql1, cn); int quanxian = (int)cmd1.ExecuteScalar(); cn.Close(); if (result > 0) { Form2 form2 = new Form2(); form

16、2.p = 1; form2.Show(); form2.textBox9.Text = textBox1.Text; Hide(); } else MessageBox.Show("用戶名或密碼錯誤"); } } private string Login1()

17、 { string use = boBox1.Text.ToString(); if (use == "普通乘客") { SqlConnection cn = new SqlConnection("server=.;database=longbus;integrated security=true"); cn.Open(); string id = textBox1.Text;

18、 string pwd = textBox2.Text; string sql = " Select count(*) from Ps where id=" + id + " and pwd=" + pwd + ""; SqlCommand cmd = new SqlCommand(sql, cn); int result = (int)cmd.ExecuteScalar(); string sql1= " Select count(*) from Ps

19、 where id=" + id + " and pwd=" + pwd + "and slevel="+use+""; SqlCommand cmd1 = new SqlCommand(sql1, cn); int quanxian = (int)cmd1.ExecuteScalar(); cn.Close(); if (result > 0)

20、 { if (quanxian>0) { Form2 form2 = new Form2(); form2.Show(); form2.textBox9.Text = textBox1.Text; Hide();

21、 } else MessageBox.Show("權(quán)限不夠"); } else MessageBox.Show("用戶名或密碼錯誤"); } return use; } private void button2_Click(o

22、bject sender, EventArgs e) { Register(); } private void Register() { if (this.textBox3.Text.ToString() == "") MessageBox.Show("用戶名不能為空"); else { if (this.textBox4.Text.ToString

23、() == "") MessageBox.Show("密碼不能為空"); else { if (this.textBox5.Text.ToString() == "") MessageBox.Show("確認(rèn)密碼不能為空"); else { if (this.te

24、xtBox4.Text.ToString() != this.textBox5.Text.ToString()) MessageBox.Show("兩次密碼不一致!"); else { if (MessageBox.Show("確定所填信息?", "message", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == Dialo

25、gResult.Yes) { using (SqlConnection con = new SqlConnection("server=(local);Trusted_Connection=SSPI;database=longbus")) { con.Open();

26、 SqlCommand cmd = new SqlCommand("insert into Ps(id,pwd) values(" + this.textBox3.Text.ToString() + "," + this.textBox5.Text.ToString() + ")", con); cmd.ExecuteNonQuery(); con.Close(); Me

27、ssageBox.Show("注冊成功!"); } } } } } } } private void button3_Click(object sender, EventArgs e) { Application.Exit();

28、 } private void button4_Click(object sender, EventArgs e) { panel1.Visible = false; panel2.Visible = true; } private void button5_Click(object sender, EventArgs e) { panel2.Visible = false; panel1

29、.Visible = true; } } } Form2 窗口: 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; namespace longbus { public partial class F

30、orm2 : Form { public Form2() { InitializeComponent(); } string Sql; public int p = 0; private void button5_Click(object sender, EventArgs e) { Form1 form1 = new Form1(); form1.Show();

31、 Hide(); } private void button1_Click(object sender, EventArgs e) { Sql = "select * from lb where lsp = " + comboBox1.Text + " and lep = " + comboBox2.Text + ""; datag1(); } private void datag1() {

32、SqlConnection cn = new SqlConnection("server=.;database=longbus;integrated security=true"); DataTable dt = new DataTable(); SqlDataAdapter da = new SqlDataAdapter(Sql, cn); da.Fill(dt); dataGridView1.DataSource =dt; } private vo

33、id Form2_Load(object sender, EventArgs e) { Form1 f1 = new Form1(); if (p == 0) { button2.Hide(); button3.Hide(); button4.Hide(); } if (p == 1) {

34、 button6.Hide(); groupBox4.Hide(); } SqlConnection cn = new SqlConnection("server=.;database=longbus;integrated security=true"); cn.Open(); SqlCommand cmd1 = new SqlCommand("select distinct

35、lsp from Lb", cn); SqlCommand cmd2 = new SqlCommand("select distinct lep from Lb", cn); SqlDataReader dr1 = cmd1.ExecuteReader(); while (dr1.Read()) { comboBox1.Items.Add(dr1["lsp"]); } dr1.Close();

36、 SqlDataReader dr2 = cmd2.ExecuteReader(); while (dr2.Read()) { comboBox2.Items.Add(dr2["lep"]); } dr2.Close(); cn.Close(); } private void button2_Click(object sender, EventArgs e) {

37、 if (this.textBox1.Text.ToString() == "") MessageBox.Show("添加信息不能為空"); else { if (MessageBox.Show("確定添加?", "message", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes) { tr

38、y { using (SqlConnection cn = new SqlConnection("server=(local);Trusted_Connection=SSPI;database=longbus")) { cn.Open(); SqlCommand cmd = new SqlCommand("insert into Lb(cn

39、,lno,lkind,lsp,lep,lst,lnt,ln,price) values ("+textBox12.Text+"," + textBox1.Text + "," + textBox2.Text + "," + textBox3.Text + "," + textBox4.Text + "," + textBox5.Text + "," + textBox6.Text + "," + textBox7.Text + "," + textBox8.Text + ")", cn); cmd.ExecuteNonQuery();

40、 cn.Close(); MessageBox.Show("success!"); } } catch { throw; } dataGridView1.DataSourc

41、e = null; SqlConnection cn1 = new SqlConnection("server=.;database=longbus;integrated security=true"); DataTable dt1 = new DataTable(); SqlDataAdapter da = new SqlDataAdapter("select * from lb ",cn1); da.Fill(dt1);

42、 dataGridView1.DataSource = dt1; } } } private void button3_Click(object sender, EventArgs e) { delete(); this.button1_Click(sender, e); } private void delete() {

43、 string str = textBox12.Text; if (str != "") { if (MessageBox.Show("您確定要刪除本條信息嗎?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes) { using (SqlConnection con = new SqlConnection

44、("server=.;Trusted_Connection=SSPI;database=longbus")) { con.Open(); SqlCommand cmd = new SqlCommand("delete from Lb where cn=" + str + "", con); cmd.Connection = con; cmd.Execute

45、NonQuery(); DataTable dt = new DataTable(); dataGridView1.DataSource = dt; MessageBox.Show("刪除成功"); con.Close(); } } } } private

46、void button4_Click(object sender, EventArgs e) { update(); datag1(); } private void update() { if (this.textBox1.Text.ToString() == "") MessageBox.Show("車次不能為空"); else {

47、 if (MessageBox.Show("確定修改?", "message", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes) { try { string txt1 = this.dataGridView1.Rows[this.dataGridView1.CurrentCell.RowIndex].Cells[0].Val

48、ue.ToString(); string Sql = "update lb set cn=" + this.textBox12.Text + " where cn=" + txt1 + ""; sql(Sql); Sql = "update lb set lno=" + this.textBox1.Text + " where cn=" + this.textBox12.Text + ""; s

49、ql(Sql); Sql = "update lb set lkind=" + this.textBox2.Text + " where cn=" + this.textBox12.Text + ""; sql(Sql); Sql = "update lb set lsp=" + this.textBox3.Text + " where cn=" + this.textBox12.Text + "";

50、 sql(Sql); Sql = "update lb set lep=" + this.textBox4.Text + " where cn=" + this.textBox12.Text + ""; sql(Sql); Sql = "update lb set lst=" + this.textBox5.Text + " where cn=" + this.textBox12.Text + "";

51、 sql(Sql); Sql = "update lb set lnt=" + this.textBox6.Text + " where cn=" + this.textBox12.Text + ""; sql(Sql); Sql = "update lb set ln=" + this.textBox7.Text + " where cn=" + this.textBox12.Text + "";

52、 sql(Sql); Sql = "update lb set price=" + this.textBox8.Text + " where cn=" + this.textBox12.Text + ""; sql(Sql); SqlConnection cn1 = new SqlConnection("server=.;database=longbus;integrated security=true");

53、 DataTable dt1 = new DataTable(); dataGridView1.DataSource = dt1; MessageBox.Show("success!"); txt1 = ""; } catch (InvalidCastException a)

54、 { throw (a); } } } } private void sql(string Sql) { try { using (SqlConnection cn = new SqlConnection("server=(local);Trusted_Connection=

55、SSPI;database=longbus")) { cn.Open(); SqlCommand cmd = new SqlCommand(Sql, cn); cmd.ExecuteNonQuery(); cn.Close(); } } catch (InvalidCastException a)

56、 { throw (a); } } private void dataGridView1_MouseClick(object sender, MouseEventArgs e) { mouseclick(); } private void mouseclick() { this.textBox12.Text = this.dataGri

57、dView1.Rows[this.dataGridView1.CurrentCell.RowIndex].Cells[0].Value.ToString(); this.textBox1.Text = this.dataGridView1.Rows[this.dataGridView1.CurrentCell.RowIndex].Cells[1].Value.ToString(); this.textBox2.Text = this.dataGridView1.Rows[this.dataGridView1.CurrentCell.RowIn

58、dex].Cells[2].Value.ToString(); this.textBox3.Text = this.dataGridView1.Rows[this.dataGridView1.CurrentCell.RowIndex].Cells[3].Value.ToString(); this.textBox4.Text = this.dataGridView1.Rows[this.dataGridView1.CurrentCell.RowIndex].Cells[4].Value.ToString(); thi

59、s.textBox5.Text = this.dataGridView1.Rows[this.dataGridView1.CurrentCell.RowIndex].Cells[5].Value.ToString(); this.textBox6.Text = this.dataGridView1.Rows[this.dataGridView1.CurrentCell.RowIndex].Cells[6].Value.ToString(); this.textBox7.Text = this.dataGridView1.Rows[this.d

60、ataGridView1.CurrentCell.RowIndex].Cells[7].Value.ToString(); this.textBox8.Text = this.dataGridView1.Rows[this.dataGridView1.CurrentCell.RowIndex].Cells[8].Value.ToString(); } private void button7_Click(object sender, EventArgs e) { if

61、(this.textBox10.Text.ToString() == "") MessageBox.Show("新密碼不能為空"); else { if (this.textBox11.Text.ToString() == "") MessageBox.Show("確認(rèn)密碼不能為空"); else {

62、 if (this.textBox10.Text.ToString() != this.textBox11.Text.ToString()) MessageBox.Show("兩次輸入的密碼不一致"); else { if (MessageBox.Show("確定修改?", "message", MessageBoxButtons.YesNo, Mess

63、ageBoxIcon.Warning) == DialogResult.Yes) using (SqlConnection con = new SqlConnection("server=(local);Trusted_Connection=SSPI;database=longbus")) { con.Open();

64、SqlCommand cmd = new SqlCommand("update Ps set pwd=" + this.textBox10.Text + " where pwd in(select pwd from Ps where id="+textBox9.Text+") ", con); cmd.ExecuteNonQuery(); con.Close(); Messa

65、geBox.Show("密碼修改成功!", "提示"); } } } } } private int insert() { SqlConnection cn = new SqlConnection("server=.;database=longbus;integrated security=true");

66、 cn.Open(); string id = textBox1.Text; string pwd = textBox2.Text; string sql = "select count(*) from bd,lb where bd.lno=lb.lno and bd.lno=" + textBox1.Text + " and id=" + textBox9.Text + " and lsp="+textBox3.Text+" and lep="+textBox4.Text+""; SqlCommand cmd = new SqlCommand(sql, cn); int result = (int)cmd.ExecuteScalar();

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!