一設計題目
使用繼承的方法,編寫最多能輸入10個職工的資訊表,再根據這個表產生乙個職工資訊簡表,並利用多型性實現資訊的輸出。
1 基本設計要求
設計要求實現如下功能:
1) 建立職工資訊資料,包括職工編號、姓名、性別和年齡。
2) 根據職工資訊表,建立只含有姓名和年齡的職工資訊簡表。
3) 使用繼承的方法構造2個類,使用相應的物件陣列放置10個職工資訊。
4) 編寫同名display()成員函式,用來輸出陣列的內容。
5) 另外編制乙個函式printer(),用來根據實際物件輸出它們的內容。
2 進一步的要求
設計選單,簡單介面為:
1. 增加職工記錄
2. 生成資訊簡表
3. 顯示原始記錄
4. 顯示簡表記錄
5. 結束程式執行
選擇1-5:
原始記錄和簡表記錄都存放在磁碟檔案中。
二設計思路
這是乙個職工資訊記錄程式,一共包含增加、刪除、修改職工記錄、顯示原始記錄、簡表記錄、退出程式等六個模組。每個模組都有各自的函式,分別由「read_record()」、「write_record()」、「add_record()」、「delete_record()」、「alter_record()」、「generate_record()」和過載的「printer()」函式實現,在「printer()」函式中還有利用多型性實現的「display()」函式來顯示記錄。
在程式開始執行時,首先讀取原先在磁碟上已有的記錄,然後以偽圖形介面提示使用者進行各種資料操作,當錄入資料時,如有重複資料,則提示資料重複,要求輸入不同的資料。當程式要結束執行時,會提示使用者是否儲存當前所做的操作,y為儲存,n為不儲存,n為取消退出(大小寫均可)。為減少限制性,編號採用string型別,避免用int型別時,使用者輸入非數字字元時程式的崩潰。
為增強健壯性,編號、姓名要求唯一,並且對輸入的性別限制為「m」和「f」(大小寫都可以),對輸入的年齡限制為「1-18」,若用其他任意字元代替,則提示輸入錯誤,要求重新輸入。
三程式清單
#include
#include
#include
#include
using namespace std;
class cstaff職工資訊記錄基類
};class ******_data: public cstaff簡表記錄類 ****** data
;class detail_data: public cstaff原始記錄類 detail data
;char show();
ofstream fsim_data("staff_",ios::out);
ofstream fdet_data("staff_",ios::out);
void read_record(detail_data a,int &n); //讀取磁碟檔案記錄
void write_record(detail_data a,int &n); //寫入磁碟檔案記錄
int add_record(detail_data a, int &n); //增加職工資訊記錄
int delete_record(detail_data a,int &n); //刪除職工資訊記錄
int alter_record(detail_data a,int &n); //修改職工資訊記錄
int generate_record(detail_data d, ******_data s,int &n);//生成簡表
void printer(******_data *pt, int &n顯示簡表記錄
void printer(detail_data *pt, int &n顯示原始記錄
int main()
system("pause");
break;
case '22.刪除職工記錄
if (delete_record(det_dat,last_dat))
}fsim_
fdet_
remove("staff_");
remove("staff_");
return 0;
}char show()
} while(select[0] < '1' || select[0] >'6'); //對選擇進行限制
return select[0];
}void read_record(detail_data a,int &n) //讀取職工記錄
}void write_record(detail_data a,int &n) //寫入職工記錄
}int add_record(detail_data a,int &n1.增加職工記錄
{ if (n<10)
{bool repeat=true;
do{cout<<"\n請輸入編號:";
cin>>a[n].num;
for(int k=0; k
if(a[n].num==a[k].num)//判斷編號是否重複
cout<<"編號已存在!\n";
repeat = false;
break;
else {
repeat = true;
while (!repeat);
repeat = true;
do{cout<<"請輸入姓名:";
cin>>a[n].name;
for(int k=0; k
if(a[n].name==a[k].name)//判斷姓名是否重複
cout<<"姓名已存在!"< 課程設計題一 使用類和物件設計回應程式 一課題內容和要求 1 測試程式如下 假使類名為wel e void main void 2 測試程式的輸出結果如下 wel e thank you.輸入 how are you?輸出 how are you?輸入 fine,thank you.輸出 fine,... 課程名稱 c語言課程設計 課題名稱班級檔案管理系統 專業電子資訊 班級1502 學號 201501030232 姓名湛興 指導教師黃曉宇陳世清黃哲 2016年 7 月 3 日 湖南工程學院 課程設計任務書 課程名稱 c語言課程設計 課題班級檔案管理系統 專業班級電子資訊1502班 學生姓名湛興 學號... 2014屆 物件導向課程設計 課程設計報告 課程設計題目 公司員工管理系統 學院軟體學院 專業 軟體工程 電子商務 學生姓名王鑫 班級 1421812 學號 201420181220 指導老師魏振華 2015年6月25日 公司員工管理系統課程設計報告 根據對公司人員管理的需要,編寫乙個 公司人員管理...《C 課程設計》報告
C課程設計報告
C 課程設計報告