(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 ...