using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;
namespace _03_03員工專案
}
using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;
namespace _03_03員工專案
//簽退時間
public string outtime
//工號
public string id
//員工姓名
public string name
}}
using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;
namespace _03_03員工專案
public string name
public int age
public string gender
}}
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 _03_03員工專案
private void 新增toolstripmenuitem_click(object sender, eventargs e)
//列表,用於儲存se物件
public listprogrammerlist = new list();
//重新整理datagridview資料
public void bindgrid(listlist)
private void button1_click(object sender, eventargs e) //查詢
}this.datagridview1.datasource = new bindinglist(templist);
}private void 刪除toolstripmenuitem_click(object sender, eventargs e)
messagebox.show("刪除成功");
this.datagridview1.datasource = new bindinglist(programmerlist);}}
}private dictionaryrecordlist = new dictionary();
private void 打卡記錄toolstripmenuitem_click(object sender, eventargs e)
private void 簽到toolstripmenuitem_click(object sender, eventargs e)
public void qian()
//確保沒有簽到過
string work = datagridview1.currentrow.cells["work"].value.tostring();
foreach (string id in recordlist.keys)
}//執行簽到
recor re = new recor();
re.id = work;
re.name = datagridview1.currentrow.cells["name"].value.tostring();
re.time = datetime.now;
this.recordlist.add(re.id, re);
messagebox.show("簽到成功!");
}private void 簽退toolstripmenuitem_click(object sender, eventargs e)
public void tui()
string id = datagridview1.currentrow.cells["work"].value.tostring();
bool isout = false; //標識是否已經簽到過
foreach (string key in recordlist.keys)
}if (!isout)
}private void datagridview1_click(object sender, eventargs e)
private void form1_load(object sender, eventargs e)
public void fujia()
);programmerlist.add(new ss );
programmerlist.add(new ss );
datagridview1.datasource = new bindinglist(programmerlist);}}
}
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;
using system.collections;
namespace _03_03員工專案
public xintian()
private void button1_click(object sender, eventargs e) //儲存
else
pr.name = this.name.text.trim();
arraylist list = new arraylist();
//工號唯一
foreach (ss item in fromparment.programmerlist)
}fromparment.programmerlist.add(pr);
this.close();
}catch (exception ex)
finally}}
}
第三章 堆疊
1.基礎知識 堆疊可以實現很多的應用,遞迴的問題轉化成非遞迴形式,在本質上也是堆疊的問題.它是一種 filo 操作的資料結構,一般也有兩種儲存方式 陣列跟鍊錶實現形式,這裡我給出了鍊錶形式的堆疊模板,裡面包括了基本的堆疊所有的操作,還有兩個比較著名的應用例子,時間倉促,精力比較有限,關於迷宮老鼠還沒...
第三章 曙光
第三章 曙光 第二場校園招聘開始了。其實,洋對這個公司的不是很了解。因為前幾天突然在bbs上面看到了這個公司的招聘資訊,洋覺得這個公司不錯,就上網投了簡歷。接下來的乙個多小時,讓洋很震撼!想不到這個公司這個厲害,而且無論從哪方面來說,絕對不比之前的那個公司差。想不到自己的乙個不經意的決定到了這個大的...
第三章 遞迴
遞迴是一種強大的方法,它允許乙個物件以其自身更小的形式來定義自己。恐怕沒有什麼比觀察神秘的自然界中出現的遞迴現象更好的方法來體會遞迴的重要意義了。想想蕨類植物的葉子,每片葉子的小枝幹都是整片葉子的較小縮影 又或者兩個反光的物體,相互對映對方的漸遠的影像。這樣的例子使我們明白儘管大自然的力量是強大的,...