軟體工程第三次作業 ATM管理系統

2022-07-11 19:54:11 字數 4275 閱讀 8372

部落格班級

軟體工程

作業要求

作業要求

作業目標

根據atm機的功能設計**,並完成atm系統**的建立

學號3180701219

編寫乙個atm管理系統,語言不限,要求應包括以下主要功能:

(1)開戶,銷戶

(2)查詢賬戶餘額

(3)存款

(4)取款

(5)轉賬(乙個賬戶轉到另乙個賬戶)等...

標頭檔案

#include #include #include #include using namespace std;
結構體
typedef struct accountnode;

typedef struct nodenode;

函式宣告
void menu();					//主選單

void createaccount(node* &head); //開戶

void login(node* head); //登入

bool cancel(node* &head); //銷戶

void loginmenu(); //登入選單

node* find(node* head, string accountnumber); //根據賬號找客戶

主選單
void menu()//主選單

開戶
void createaccount(node* &head)

//隨機生成銀行賬號

char temp[20];//0000 0000 0000 0000 0 0

string accountnumber;

srand((unsigned int)time(null));

sprintf(temp, "%d%d%d%d%d%d", rand() % 9000 + 1000,

rand() % 9000 + 1000, rand() % 9000 + 1000, rand() % 9000 + 1000, rand() % 10, rand() % 10);//sprintf格式化字串

accountnumber = temp;

node* pnode = new node;

pnode->acc.name = name;

pnode->acc.password = password;

pnode->acc.accountnumber = accountnumber;

pnode->acc.money = 0;

pnode->next = null;

node* p = head;

while (p != null && p->next != null)

p = p->next;

if (head == null)

head = pnode;

else

p->next = pnode;

printf("\n\n\t\t\t\t\t恭喜您,開戶成功!\n");

cout << "\n\t\t\t\t\t您的賬號為:" << accountnumber << endl;

}

登入選單
void loginmenu()

登入及(訪問款、查詢餘額、轉賬、修改密碼)
void login(node* head)

printf("\n\t\t\t\t\t請輸入您的密碼:");

cin >> password;

while (p->acc.password != password)

while (1)

break;

case 3:

printf("\n\n\t\t\t\t\t請輸入您的轉賬的賬號:");

cin >> otheraccountnumber;

printf("\n\t\t\t\t\t請輸入您的轉賬金額:");

cin >> money;

temp = find(head, otheraccountnumber);

if (!temp)

p->acc.money -= money;

temp->acc.money += money;

printf("\n\t\t\t\t\t\t轉賬成功!\n");

break;

case 4:

printf("\n\n\t\t\t\t\t您的餘額為:%.2f\n", p->acc.money);

break;

case 5:

printf("\n\n\t\t\t\t\t請輸入您的新密碼:");

cin >> newpassword;

p->acc.password = newpassword;

printf("\n\t\t\t\t\t\t密碼修改成功!\n");

break;

case 6:

return;

default:

printf("\t\t\t\t\t\t\t輸入有誤!\n");

} system("pause");

}}

查詢函式
node* find(node* head, string accountnumber)

return p;

}

銷戶
bool cancel(node* &head)

q = p;

p = p->next;

while (p != null)

q = p;

} return false;

}

主函式
int main()

system("pause");

} return 0;

}

主選單

建立賬戶

存款介面

轉賬介面

登出賬戶

任務內容

計畫完成需要的時間(min)

實際完成需要的時間(min)

planning

計畫20

15estimate

估計這個任務需要多少時間,並規劃大致工作步驟

200240

development

開發10

30analysis

需求分析(包括學習新技術)

1010

design spec

生成設計文件

1020

design review

設計複審

1020

coding standard

**規範

1010

design

具體設計

2030

coding

具體編碼

3020

code review

**複審

2030

test

測試(自我測試,修改**,提交修改)

2030

reporting

報告10

20test report

測試報告

1015

size measurement

計算工作量

2020

postmortem & process improvement plan

事後總結,並提出過程改進計畫510

個人總結

本次對atm管理系統的編寫主要使用c++來進行編寫,複習了一些c++的基本語法,其中在建立新節點的時候,由於使用了string容器,導致malloc不能使用,不過一開始並沒有發現這個問題,導致我走了很多的彎路,好在後期及時發現,使用new來建立新的節點,才解決了問題。

軟體工程管理 第三次作業

1.結對程式設計 一種開發的方式,兩個人共同使用同一臺電腦,共同研究開發同乙個任務。任務可以是多樣的,寫需求,搭建框架,開發 測試等。體會到的好處 1 有利於經驗和知識的分享。2 促進溝通,增強合作意識,提高表達能力。3 能夠快速應對團隊中人員流失問題。在結對中,發現自己表述能力還是有問題的,有些問...

軟體工程第三次作業

影印機的工作過程大致如下 未接到影印命令時處於 閒置 狀態,一旦接到 影印命令 則進入 影印 狀態,完成乙個影印命令 規定的工作後又回到閒置狀態,等待下乙個影印命令 如果執行影印命令時 發現沒紙 則進入 缺紙 狀態,發出警告,等待裝紙,裝滿紙 後進入閒置狀態,準備接收影印命令 如果影印時發生 卡紙故...

軟體工程第三次作業

最大連續子陣列和 最大子段和 問題 給定n個整數 可能為負數 組成的序列a 1 a 2 a 3 a n 求該序列如a i a i 1 a j 的子段和的最大值。當所給的整數均為負數時定義子段和為0,依此定義,所求的最優值為 max,1 i j n 例如,當 a 1 a 2 a 3 a 4 a 5 a...