C 課程設計

2023-01-23 01:24:04 字數 2789 閱讀 5634

一設計題目

使用繼承的方法,編寫最多能輸入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<<"姓名已存在!"<

《C 課程設計》報告

課程設計題一 使用類和物件設計回應程式 一課題內容和要求 1 測試程式如下 假使類名為wel e void main void 2 測試程式的輸出結果如下 wel e thank you.輸入 how are you?輸出 how are you?輸入 fine,thank you.輸出 fine,...

C課程設計報告

課程名稱 c語言課程設計 課題名稱班級檔案管理系統 專業電子資訊 班級1502 學號 201501030232 姓名湛興 指導教師黃曉宇陳世清黃哲 2016年 7 月 3 日 湖南工程學院 課程設計任務書 課程名稱 c語言課程設計 課題班級檔案管理系統 專業班級電子資訊1502班 學生姓名湛興 學號...

C 課程設計報告

2014屆 物件導向課程設計 課程設計報告 課程設計題目 公司員工管理系統 學院軟體學院 專業 軟體工程 電子商務 學生姓名王鑫 班級 1421812 學號 201420181220 指導老師魏振華 2015年6月25日 公司員工管理系統課程設計報告 根據對公司人員管理的需要,編寫乙個 公司人員管理...