求大神帮我写一个简单的C++程序设计

功能描述:某实验室对研究生每天的科研时间进行管理,研究生每天进入实验室时记录其到达时间,离开实验室时记录其离开时间。两个时间之间的时间段作为其当天的科研工作时间。请你为其设计一个考勤管理系统,该系统需要提供下列功能:
(1) 研究生信息录入功能,提示用户逐项输入研究生信息(时、分、秒分三次逐项输入),并检查输入信息的合法性(如时、分、秒的取值范围),同时以分为单位计算每位同学的科研时间;
(2) 考勤信息浏览功能,显示所有研究生的考勤情况;例如:
----------------------------------------------------------------------------------------------------------------------
学号 姓名 到达时间离开时间科研时间排名
----------------------------------------------------------------------------------------------------------------------
201101 张三08:00:00 17:12:004923
201102 李四09:10:20 17:30:205002
201103 王五08: 10:20 16:10:205401
----------------------------------------------------------------------------------------------------------------------
(3) 排序功能,按科研时间长短进行排序并显示

提示:
(1) 使用数组、结构体
(2) 使用排序算法

功能要求及说明:
(1)使用菜单选择操作,具有友好的人机交互提示和显示,方便用户输入及查看程序运行过程、结果;
(2)程序可以根据用户的选择多次运行,直到用户选择退出;
(3)对于运行解决问题的步骤(例如从键盘输入的数据、输出到显示器的结果),除了能够在显示器上显示以外,能够处理后的结果用文件的方式保存到outfile.txt文件中。

感激不尽~

12345678910111213141516171819202122232425262728293031323334353637383940    #include "stdafx.h"#include<iostream>#include<map>using namespace std;   struct Student{    char name[50];               /*姓名*/    char stu_num[50];            /*学号*/    map<string,short int> count; /*课程以及成绩*/}; /*course 是按照哪个学科的成绩进行排序*/int sort_mystu(Student* stu,int count,string course){    bool ischanged=false;    for(int i=count;i>0;i--){        for(int j=1;j<i;j++){            if(stu[j-1].count[course]>stu[j].count[course]){                Student temp=stu[j-1];                stu[j-1]=stu[j];                stu[j]=temp;                ischanged=true;            }        }        if(!ischanged)            break;    }    return 1;/*我没有加入异常处理,返回值可以返回异常编号,以便查找并处理异常*/} int _tmain(int argc, _TCHAR* argv[]){    Student stu[30];/*假设有30个学生,学生信息的录入我省略了,你自己添加*/    int result=sort_mystu(stu,30,"课程名");    if(result!=1){        /*异常处理*/    }    return 0;

追问

这个并不完全?

温馨提示:答案为网友推荐,仅供参考
相似回答