• 方案介紹
  • 附件下載
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

C語言程序設(shè)計(jì)-個(gè)人賬簿管理系統(tǒng)

2024/09/30
1750
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

有需要資料的可了解一下.docx

共1個(gè)文件

目的在于:

  1. 為編碼人員提供依據(jù);
  2. 為修改、維護(hù)提供條件;
  3. 項(xiàng)目負(fù)責(zé)人將按計(jì)劃書的要求布置和控制開發(fā)工作全過程;
  4. 項(xiàng)目質(zhì)量保證組將按此計(jì)劃書做階段性和總結(jié)性的質(zhì)量驗(yàn)證和確認(rèn)。

本說明書的預(yù)期讀者包括:

  1. 項(xiàng)目開發(fā)人員,特別是編碼人員;
  2. 軟件維護(hù)人員;
  3. 技術(shù)管理人員;
  4. 執(zhí)行軟件質(zhì)量保證計(jì)劃的專門人員;
  5. 參與本項(xiàng)目開發(fā)進(jìn)程各階段驗(yàn)證、確認(rèn)以及負(fù)責(zé)為最后項(xiàng)目驗(yàn)收、鑒定提供相應(yīng)報(bào)告的有關(guān)人員。
  6. 合作各方有關(guān)部門的負(fù)責(zé)人;項(xiàng)目組負(fù)責(zé)人和全體參加人員。
    1. 背景
  1. 系統(tǒng)名稱:個(gè)人賬簿管理系統(tǒng)
  2. 任務(wù)提出者:湖北師范大學(xué)軟件工程老師
  3. 開發(fā)者:湖北師范大學(xué)軟件工程學(xué)生
  4. 最終用戶:湖北師范大學(xué)軟件工程學(xué)生
    1. 定義
  1. 個(gè)人賬簿管理系統(tǒng)

本文檔中個(gè)人賬簿管理系統(tǒng)是基于C語言、軟件工程導(dǎo)論、數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計(jì)的應(yīng)用。

    1. 參考資料
  1. 1.《即現(xiàn)訂餐項(xiàng)目需求規(guī)格說明書-V0.2.doc》
  1. 程序系統(tǒng)的結(jié)構(gòu)
    1. 程序系統(tǒng)結(jié)構(gòu)

圖2-1 程序系統(tǒng)架構(gòu)圖

2.2程序結(jié)構(gòu)模塊描述

2.2.1 錄入數(shù)據(jù)

【流程描述】

1.選擇操作:提示內(nèi)容:“請(qǐng)輸入要進(jìn)行的操作:”,操作數(shù)為“1”。

2.輸入數(shù)據(jù):按照提示內(nèi)容,分別輸入內(nèi)容,中間以空格符隔開。

提示內(nèi)容:

請(qǐng)依次輸入數(shù)據(jù)[說明:中間以空格符隔開]:

(本月月份 食品消費(fèi) 房租費(fèi)用 子女費(fèi)用 水電費(fèi)用 醫(yī)療費(fèi)用 儲(chǔ)蓄費(fèi)用 收入費(fèi)用)

3.回車:顯示“數(shù)據(jù)錄入成功”。

【流程圖】

2.2.2查看數(shù)據(jù)

【流程描述】

1.選擇操作:提示內(nèi)容:“請(qǐng)輸入要進(jìn)行的操作:”,操作數(shù)為“2”。

2.回車:系統(tǒng)打開“Myinfor.txt”文件,顯示所有錄入的數(shù)據(jù)。

【流程圖】

2.2.3修改數(shù)據(jù)

【流程描述】

1.選擇操作:提示內(nèi)容:“請(qǐng)輸入要進(jìn)行的操作:”,操作數(shù)為“3”。

2.進(jìn)行2.2.4 查詢數(shù)據(jù)操作,從選擇月份開始。

3.如果輸入的數(shù)據(jù)合法,進(jìn)行2.2.1 錄入數(shù)據(jù)的“2.輸入數(shù)據(jù)”操作?;剀?,輸出“數(shù)據(jù)修改成功”。

【流程圖】

2.2.4查詢數(shù)據(jù)

【流程描述】

  1. 選擇操作:提示內(nèi)容:“請(qǐng)輸入要進(jìn)行的操作:”,操作數(shù)為“4”。:

2.選擇月份:提示內(nèi)容:“請(qǐng)正確輸入要查詢的月份:”

3.判斷:

如果輸入的月份在錄入的數(shù)據(jù)中,則打印該月的賬單。

否則,輸出“沒有符合條件的記錄!” 返回菜單

【流程圖】

2.2.5排序數(shù)據(jù)

【功能描述】

1.選擇操作:提示內(nèi)容:“請(qǐng)輸入要進(jìn)行的操作:”,操作數(shù)為“5”。:

2.進(jìn)行2.2.4 查詢數(shù)據(jù)操作,從2.選擇月份開始。

3.如果輸入的數(shù)據(jù)合法,調(diào)用冒泡排序函數(shù)進(jìn)行從小到大排序,輸出排序后的賬單。

#include<stdio.h>
#include<string.h>
#include<malloc.h>
#include<stdlib.h>

#define LEN sizeof(struct Node)

//賬單結(jié)構(gòu)體
struct Node {
int ID;?? ??? ??? ??? ?//月份
//定義結(jié)構(gòu)體定義各種費(fèi)用
float IncomeTotal;?? ?//收入費(fèi)用
float FoodShoping;?? ?//食品消費(fèi)
float House;?? ??? ?//房租費(fèi)用
float Education;?? ?//子女教育費(fèi)用
float WaterAndEtc;?? ?//水電費(fèi)用
float Hospital;?? ??? ?//醫(yī)療費(fèi)用
float Store;?? ??? ?//儲(chǔ)蓄
float Expend;?? ??? ?//支出總和
struct Node *next;?? ?//指向下一個(gè)節(jié)點(diǎn)的指針
};
typedef struct {// 自定義數(shù)據(jù)類型
int no;
int data;
} pType;
//建立動(dòng)態(tài)鏈表--錄入數(shù)據(jù)
struct Node* CreateLink();
//插入一個(gè)月的數(shù)據(jù)
void Insert(struct Node *head);
//刪除相同元素的值
void DeleteSame(struct Node *L);
//菜單
void menu();
//搜索某一月份的具體收支狀況
struct Node* Search(struct Node *head);
//功能同上
struct Node* SearchNode(struct Node *p1,int n);
//打印一個(gè)月的收支狀況
void PrintOneMonth(struct Node *p);
//輸出詳細(xì)的列表
void PrintAll(struct Node *head);
//對(duì)鏈表進(jìn)行排序
struct Node *Sort(struct Node *head);
//對(duì)單個(gè)鏈表排序
void sort_Node(Node *a);
//修改某一月的記錄
struct Node *Update(struct Node *head);
//刪除數(shù)據(jù)
bool Delete(struct Node **pHead);
//求年支出
int Sum(struct Node *q1);
//主函數(shù)
int main() {
struct Node *a;
int value,count;
count = 1;
menu();
scanf("%d",&value);
if(value!=1)
printf("親,您還未錄入數(shù)據(jù),無法進(jìn)行后續(xù)操作 系統(tǒng)將3秒后退出!n");
else {
while(value>=0) {
switch(value) {
case 1:
if(count ==1 ) {
a=CreateLink();
count++;

  • 有需要資料的可了解一下.docx
    下載

相關(guān)推薦