c 學生考勤資訊管理系統

2021-10-01 22:16:19 字數 2748 閱讀 2703

/*題目:學生考勤管理系統

考勤資訊記錄了學生的缺課情況,它包括:缺課日期、第幾節課(連續多節課用 begin-end 的形式表示)、課程名稱(課程名稱中不會出現空格)、學生姓名、缺課型別(遲到、早退、請假及曠課)。試設計一考勤管理系統,使之能提供以下功能:

1. 錄入學生的缺課記錄:從鍵盤輸入資料(提示:為避免重複從鍵盤輸入資料,測試時可將資料儲存在檔案中,利用輸入重定向功能讀入),輸入格式為:

缺課日期第幾節課課程名稱學生姓名缺課型別

每行一條紀錄。

例如:2008-04-29 3-4 c++程式設計實驗張三遲到

2008-04-28 3-4 c++程式設計李四曠課

2.修改某個學生的缺課記錄:可以對缺課紀錄的任意部分進行修改。

3.查詢某個學生的缺課情況:查詢結果按照日期公升序排序,同一天內按照所缺課程的時間公升序排序。

4.統計某段時間內(以天為單位),曠課學生姓名及曠課節數,查詢結果先按曠課節數降序排序,曠課節數相同的學生按姓名公升序排序;

5.統計某段時間內,有學生曠課的課程及曠課人次,按曠課人次由多到少排序,曠課人次相同的課程按課程名稱公升序排序;

6.系統以選單方式工作。

通過幾天的奮鬥終於將這個設計做出來了,如下是該程式的詳細過程*/

#include

#include

#include

#include

#include

#include

#include

#include

using namespace std;

struct student_info;

istream& student_info::read(istream& in)

istream& read_record(istream& in,vector& s)//第乙個模組輸入學生的缺課記錄

in.clear();//將記錄的錯誤狀態恢復正確,以繼續讀取記錄

return in;

} bool is_empty(vector& s)//判斷輸入學生的記錄是否為空,為空則返回真

bool compare(student_info& x,student_info& y)//按照時間排序,若日期相等則看課程時間

else if(x.year==y.year&&x.month==y.month&&x.day!=y.day)

else if(x.year==y.year&&x.month!=y.month)

else

} bool time(const student_info& stud,int y1,int m1,int d1,int y2,int m2,int d2)//篩選符合輸入時間段的資料

void rewrite(vector& s)//第二個模組修改某個學生的缺課情況

{ if(!is_empty(s))

{int n,m,j,k;

map > s_name;

map >::iterator ix2;

vector::iterator ix,iter,itera;

string name定義這些引數和迭代器必須在swithc外,不然它可能被忽略跳過

while(true)

cout<<

cin>>n;

if(n==1)

s_name.clear清空map容器

for(ix=s.begin();ix!=s.end();++ix)

s_name[(*ix).name].push_back(*ix);

s.clear();

cout<<"請輸入該學生的姓名: ";

cin>>name;

cout

ix2=s_name.find(name找到符合名字要求的資料,並顯示出

for(iter=(*ix2).second.begin();iter!=(*ix2).second.end();++iter)

cout<<(*iter).year<<"-"<<(*iter).month<<"-"<<(*iter).day<<"\t";

cout<<(*iter).lesson1<<"-"<<(*iter).lesson2;

cout<<"\t"<<(*iter).course<<"\t"<<(*iter).name<<"\t"<<(*iter).type<

itera=(*ix2).second.begin();

cout<<"請輸入要更改記錄的序號: ";

cin>>j;

for(k=0;k!=j-1;++k)

itera;

cout<<

cin>>m;

switch(m)

case 1:

cout<<"請輸入更改的日期(年月日): ";

cin>>(*itera).year>>(*itera).month>>(*itera).day;

break;

case 2:

cout<<"請輸入更改的節次(l1、l2): ";

cin>>(*itera).lesson1>>(*itera).lesson2;

C語言學生資訊管理系統

一.應用程式名稱 student.exe 二.應用程式的主題 設計目的 應用程式的主題是管理好學生成績,設計目的是進一步掌握和實踐c語言程式設計。三 應用程式簡介 1.基本結構 2.基本內容 編寫乙個成績管理程式。每個學生的資訊包含學生學號 姓名 性別和6門課程成績。1 學生資訊建立 順序儲存和鏈式...

C語言資訊管理系統

一 資訊功能模組結構塊圖 職工資訊管理系統 1 檔案 a.匯入檔案 b.儲存檔案 c.退出系統 d.關於我們 2 入錄 3 修改 4 插入 a.乙個員工 b.乙個部門 5 刪除 a.乙個部門 b.乙個員工 c.乙個職稱 d.所有資訊 6 查詢 a.按卡號查 b.職工資訊 c.按職稱查 d.各種工資 ...

C 職工資訊管理系統

內蒙古科技大學課程設計任務書 c 程式設計 程式設計說明書 題目 職工資訊管理系統 姓名 安靜 學號 1376807343 指導教師 王麗穎 日期 2014年12月25日 正文 每個學生在教師提供的課程設計題目中任意選擇一題,獨立完成,題目選定後不可更換。職工資訊管理系統設計 職工資訊包括職工號 姓...