C程序设计实验+工资管理系统.docx

上传人:b****3 文档编号:2124989 上传时间:2022-10-27 格式:DOCX 页数:9 大小:269.06KB
下载 相关 举报
C程序设计实验+工资管理系统.docx_第1页
第1页 / 共9页
C程序设计实验+工资管理系统.docx_第2页
第2页 / 共9页
C程序设计实验+工资管理系统.docx_第3页
第3页 / 共9页
C程序设计实验+工资管理系统.docx_第4页
第4页 / 共9页
C程序设计实验+工资管理系统.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

C程序设计实验+工资管理系统.docx

《C程序设计实验+工资管理系统.docx》由会员分享,可在线阅读,更多相关《C程序设计实验+工资管理系统.docx(9页珍藏版)》请在冰豆网上搜索。

C程序设计实验+工资管理系统.docx

C程序设计实验+工资管理系统

________电子工程____系___2014___级____汽车服务工程___专业姓名____匡翔____学号_____2014137065____

………………………………(密)………………………………(封)………………………………(线)………………………………

四川工商学院

课程考查(论文/作业)专用封面

作业(论文)题目:

学校工资管理系统设计

所修课程名称:

C/C++程序设计实验

修课程时间:

2015年9月至2016年1月

完成论文(作业)日期:

2015年12月

评阅成绩:

评阅意见:

平时成绩

考勤、卫生(总分100分)

实验报告

实验报告书写情况(总分100分)

实践操作

编程能力、操作能力(总分100分)

总成绩

平时20%+实验报告30%+实践操作50%

 

评阅教师签名:

年月日

一、设计目的:

学校工资管理系统,为教师提供工资查询服务,为学校提供工资管理,工资统计等服务。

二、设计任务和要求:

每个教师的信息为:

教师号、姓名、性别、单位名称、家庭住址、联系电话、基本工资、津贴、生活补贴、应发工资、电话费、水电费、房租、所得税、卫生费、公积金、合计扣款、实发工资。

注:

应发工资=基本工资+津贴+生活补贴;合计扣款=电话费+水电费+房租+所得税+卫生费+公积金;实发工资=应发工资-合计扣款。

设计一个程序对相关信息进行管理。

教师信息处理

(1)输入教师信息

(2)插入(修改)教师信息:

(3)删除教师信息:

(4)浏览教师信息:

  

教师数据处理:

(1)按教师号录入教师基本工资、津贴、生活补贴、电话费、水电费、房租、所得税、卫生费、公积金等基本数据。

(2)教师实发工资、应发工资、合计扣款计算。

  提示:

计算规则如题目。

(3)教师数据管理

  提示:

输入教师号,读出并显示该教师信息,输入新数据,将改后信息写入文件

(4)教师数据查询:

  提示:

输入教师号或其他信息,即读出所有数据信息,并显示出来。

(5)教师综合信息输出

  提示:

输出教师信息到屏幕。

 

三、系统框图和原理分析:

(1)输入教师信息模块在主菜单中运用结构体teacher,输入教师信息,首先建立链表,将用户输教师工资管理系统1——输入教师信息2——插入教师信息3——修改教师信息4——删除教师信息5——浏览教师信息6——系统信息7——退出系统主界面选择操作结束

输入的教师信息存储到链表中,输入完成后提示用户时候继续输入,如果用户输入“Y”或“y”,则再次调用,实现继续输入教师信息的操作。

如果用户输入“N”或“n”,则返回主菜单界面。

(2)插入教师信息模块在主菜单中调用teacher*insert(),然后按照提示依次输入教师信息,然后再调用voidprint()函数讲所有的教师信息记录打印出来。

然后再返回主菜单界面。

(3)修改教师信息模块在主菜单中调用voidedit()函数。

按教师号查找教师信息,如果找到教师信息,调用voidedit()函数提示用户输入新的教师信息,完成修改的操作。

操作结束后提示用户修改成功。

然后返回主菜单界面。

(4)删除教师信息模块在主菜单中调用del()函数,以删除教师信息,首先按教师编号查询教师信息,如果没有找到教师信息,给出提示信息。

如果查找到该教师信息,给出改教师的全部信息,如果查找到,则删除该教师信息,给出删除成功的提示信息。

然后返回主菜单界面。

(5)浏览教师信息模块在主菜单中调用voidprint()函数来显示教师信息,先判断链表是否为空。

如果链表不为空时,逐条显示链表中教师的信息,显示调用teacher*next()函数按照教师号的大小来显示教师的信息。

然后返回主菜单界面。

(6)系统信息模块在主菜单中输入6,可知系统信息、版本。

(7)退出系统模块将链表中的数据全部释放掉,防止内存泄露。

退出系统。

四、程序流程图

五、关键代码分析

(1) 保存数据函数save() 函数原型:

void save() 

功能描述:

将链表teacher中的N个数据写入到磁盘文件teacher_list中,如果保存成功,则给出提示保存成功,否则返回“cannot ofen file”表示无法打开文件,返回“file write error”表示文件输入错误。

  

(2)浏览教师信息函数query() 

函数原型:

void query(struct teacher *p) 

功能描述:

将链表teacher中的head指向p,然后让用户输入教师号no,依次在链表中需找p,如果教师号不对,则指针往后面拨动一下,使p=p->next;知道找到相对应的正确的教师号。

然后打印出教师的基本信息。

(3) 修改教师信息函数edit() 

函数原型:

void edit(struct teacher *p) 

功能描述:

首先让用户输入希望修改的教师的教师号a, 然后在链表中一条一条查找看p->num是否等于a,如果找到,则让用户再次输入教师的具体信息,输入完毕跳出,转向主菜单界面。

如果没有找到,则令p=p->next。

直到查询完所有的教师记录。

六、设计总结

持续一个学期的课程设计给了我太多的感触,开始从题目上看,感觉题目很大,设计量很大,也很复杂,感觉不是简单的就能解决的。

这样只用重新拾起书继续来看,获得新的知识和巩固以前的C方面的知识。

提升自己的能力。

通过这个学期的课程设计的练习与设计我学会了很多,也更加熟悉C语言程序设计,从中得到了很多乐趣,很快乐,感觉C语言的世界里面奇妙无比。

虽然在途中也遇到很多的苦难,但是还是通过问同学和学长解决了。

最后看到自己设计的程序能够运行起来特别的开心。

这次的程序设计很有意义,也很锻炼人的能力,特别是C语言方面的能力,为自己在C++语言方面打下基础

附录

参考文献

1. 黄梯云 , 管理信息系统(修订版),北京:

高等教育出版社, 2000  

2. 薛华成 , 管理信息系统 ( 第三版) , 北京:

清华大学出版社, 1999  

3. 陈晓红 , 管理信息系统教程,北京:

清华大学出版社, 2003

4. 陈国青等 , 信息系统的组织  管理  建模,北京:

清华大学出版社, 2002  

5. 高阳 , 计算机网络原理与实用技术 , 长沙:

中南工业大学出版社, 1998  

6. 左美云等 , 信息系统的开发与管理教程 , 北京:

清华大学出版社, 2001

附录1---源程序

#include#include#include#include#includeusingnamespacestd;inti;classPerson{public:

voiddisplay(){cout<<"姓名:

";cin>>name;cout<<"工号:

";cin>>num;while(num<=0){cout<<"请重新输入工号大于0的数:

"<>num;}}stringname;//名字intnum;};//工号classTeacher:

publicPerson//教师{public:

Teacher(){ints=1000;wage=s;butie1=0;}voiddisplay1();intwage;//基本工资inttime;intbutie1;intjintie1;};//课时voidTeacher:

:

display1(){cout<<"请输入";

Person:

:

display(); 

    cout << "请输入教师的课时(小时):

  ";     cin >> time;  while(time<=0)   { 

  cout<<"请重新输入课时大于0的数:

"<>time;   

}  

};//补贴 Teacher t[100];  

Leader x[100]; Jianzhi j[100]; void show() { 

    cout << "\t请输入你要录入的对象 :

" << endl;     cout << "\t\t 1:

教师" << endl;     cout << "\t\t 2:

领导" << endl; 

    cout << "\t\t 3:

教师兼职领导" << endl;     cout << "\t\t 4:

退出录入" << endl;     cout << "请选择:

   "; } 

void jiaoshiluru()//教师录入 { 

    ofstream outfile("教师.txt", ios:

:

app);     if (!

outfile) { 

        cerr << "open error!

" << endl;         exit(0);     }     int b; 

    cout << "请选择你要录入教师的个数:

";     cin >> b; 

    for (i = 0; i < b; i++) {         t[i].display1();   cout<<"是否保存信息(y(Y)/n(N))"<>c; 

  if(c=='Y'||c=='y')  

 

        outfile << t[i].num << "    " << t[i].name << "    " << t[i].wage                 << "    " << t[i].time << endl;  

 

} 15 

    } 

    outfile.close(); } 

void wenjianluru()//文件录入 { 

    int c; 

    for (i = 0;; i++)   

        show();         cin >> c;         if (c == 4)  

 

            cout << "退出录入成功。

" << endl;         system("cls");             break;         } else 

            switch (c)   

 

            case 1:

 

                jiaoshiluru();                 break;                          case 2:

 

                Leaderluru();                 break;                          case 3:

 

                jianzhiluru();                 break;             default:

   

 

 

 

                cout << "上一次输入错误。

" << endl;             } 

                break;             }     } } 

void jiaoshishuchu()//教师输

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1