C語言綜合實驗 二 之計費管理系統的資料結構設計

2021-09-11 08:01:40 字數 2843 閱讀 2056

(1)在「搭建程式框架」功能迭代上進行開發,資料設計。

根據「計費管理系統」需求,分析出系統資料資訊包括:卡資訊、計費資訊、充值退費資訊、計費標準資訊、管理員資訊。對以上各類資訊做出相應的表設計。

(2)定義卡資訊變數。

步驟一:直接定義卡資訊變數。

根據資料設計內容定義卡資訊變數。

步驟二:用結構體定義卡資訊。

卡資訊的結構體型別定義如下:

//定義卡資訊結構體

typedef struct card

card;

(3)新增卡資訊。

在「資料結構」的基礎上進行迭代開發,新增一張新的卡,將卡資訊存到結構體變數中。

卡資訊包括:卡號、密碼、開卡金額、卡狀態、開卡時間、截止時間、最後使用時間、使用次數、累積金額和刪除標識。

(4)顯示卡資訊。

從卡資訊結構體中,獲取卡號,密碼,開卡金額,卡狀態,並以列表方式顯示。

使用printf()函式和製表符「t」,按照**的形式顯示卡號,密碼,開卡金額,卡狀態。

(5)儲存新增的卡資訊。

將新增卡的資訊儲存到結構體陣列中,上一次迭代,是將新增的卡資訊儲存在卡的結構體中,這樣只能儲存一條卡資訊。

(6)查詢對應的卡資訊。

根據輸入的卡號,查詢卡號相同的卡資訊。

(7)顯示查詢到的卡資訊。

沿用第一次的main.cpp

menu.h

選單標頭檔案

void outputmenu();

void add();

void query();

menu.cpp

選單原始檔

#define _crt_secure_no_warnings//消除scanf警告

#include"stdio.h"

#include"stdlib.h"

#include "string.h"

#include"menu.h"

#include"card.h"

card *card = initial();

void outputmenu()

case '1':

case '2':

case '3':

case '4':

case '5':

case '6':

case '7':

case '8':

default:

} } while (1);

}void add()

char pwd[30];

printf("請輸入密碼(長度1-8):\n");

scanf("%s", pwd);

while (strlen(pwd) > 8)

float balance;

printf("請輸入開卡金額(人民幣):\n");

scanf("%f", &balance);

printf("新增卡的資訊如下:\n");

printf("卡號\t密碼\t狀態\t金額\n");

printf("%s\t%s\t0\t%.1f\n", no, pwd, balance);

addcard(card, no, pwd, balance);

int i;

printf("1.繼續新增\n");

printf("2.返回上級選單\n");

printf("0.退出\n");

scanf("%d", &i);

switch (i)

case 1:

case 2: }}

void query()

card *t = querycard(card, no);

printf("查詢卡的資訊如下:\n");

printf("卡號\t密碼\t狀態\t金額\n");

printf("%s\t%s\t%d\t%.1f\n", t->aname, t->apwd,t->nstatus,t->fbalance);

int i;

printf("1.繼續查詢\n");

printf("2.返回上級選單\n");

printf("0.退出\n");

scanf("%d", &i);

switch (i)

case 1:

case 2:

}}

card.h

卡片標頭檔案

typedef struct card card;

card* addcard(card *card,char no,char pwd,float balance);

card* initial();

card* querycard(card *card,char no);

card.cpp

卡片原始檔

#define _crt_secure_no_warnings//消除scanf警告

#include "stdio.h"

#include "stdlib.h"

#include "string.h"

#include "card.h"

#include "time.h"

card* addcard(card *card,char no,char pwd,float balance)

card* initial()

card* querycard(card *card,char no)

} if(flag) return t;

else return null;

}

C語言綜合實驗 四 之計費管理系統的鍊錶基本操作

1 定義鍊錶 2 插入操作 將值為x的新結點插入到鍊錶中。先檢查插入位置的合法性,然後找到待插入位置的前驅結點,再在其後插入新結點。3 查詢操作 在鍊錶中查詢值為x的結點,首先要判斷鍊錶是否為空,不為空時利用指標p順指標向後查詢,直到查詢到值為x的結點,則查詢成功 如果走到鏈尾p為null,則查詢失...

C語言綜合實驗2 長整數運算

1 實驗題目 長整型數運算,c中的long int所能表示的資料範圍有限,現要求程式設計完成超過long int所能表示的資料範圍以上的十進位制正的長整數的加法和乘法運算。1 int readlongint char x 此函式用於讀入乙個正的長整數到x中,函式返回長整數的實際長度 要求輸入時檢查所...

實驗二 線性表的綜合實驗(c )

2 單鏈表 c 實驗目的 鞏固線性表的資料結構的儲存方法和相關操作,學會針對具體應用,使用線性表的相關知識來解決具體問題。實驗內容 建立乙個由 n個學生成績的順序表,n的大小由自己確定,每乙個學生的成績資訊由自己確定,實現資料的對錶進行插入 刪除 查詢等操作。分別輸出結果。includeusing ...