欢迎来到沃文网! | 帮助中心 分享知识,传播智慧!
沃文网
全部分类
  • 教学课件>
  • 医学资料>
  • 技术资料>
  • 学术论文>
  • 资格考试>
  • 建筑施工>
  • 实用文档>
  • 其他资料>
  • ImageVerifierCode 换一换
    首页 沃文网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    C课程设计报告(VC6)职工工资信息管理系统.doc

    • 资源ID:1144202       资源大小:127KB        全文页数:15页
    • 资源格式: DOC        下载积分:10积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录 微博登录
    二维码
    微信扫一扫登录
    下载资源需要10积分
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,下载更划算!
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C课程设计报告(VC6)职工工资信息管理系统.doc

    1、沈阳理工大学C语言课程设计报告 课 题 职工工资信息管理系统院(系、部、中心) 通信工程学院 班 级 信息工程091 姓 名 李正洲 任 课 教 师 程勇 1设计目的一、 通过程序设计,达到理论与实际应用相结合,提高对信息管理系统的分析能力,能够根据实际应用,初步实现系统功能模块及算法的设计,通过编程基本实现信息管理系统。二、 实现系统功能:各种基本信息数据的录入;各种基本数据的修改;各种基本数据的插入;各种基本数据的删除;基于各种数据的查询;基于各种数据的计算。三、 职工相关信息:(1)职工基本信息:如工资卡号,身份证号,姓名,性别,年龄,工龄,部门,技术职称,技术职称编号,家庭电话号码,手

    2、机号码等。(2)工资基础信息:技术职称编号,技术职称,基本工资,职务工资,各种补助等。(3)费用扣除信息:工资卡号,水费,电费,清洁费(5元/月),闭路电视费(10元/月)等。(4)工资单数据:工资卡号,姓名,应发工资,水费,电费,清洁费,闭路电视费,税金,实发工资,特别奖励。其中:税金计算方法为:应发工资1400元,税金=(应发工资-1400) 10%。四、 程序要求:1. 只能使用C语言,源程序要有适当的注释,使程序容易阅读。2. 要有用户界面。3. 必须使用结构和链表等数据结构。4. 使用文件保存数据。5. 至少输出一份报表,鼓励自行增加新功能。2. 概要设计结束一、主要设计思想:主函数

    3、无限循环;操作之前先开辟内存,建立动态链表,文件中如果有数据则导入内存,每条记录存入一个链表节点;数据的录入、修改、插入、删除、查询等均是对内存中的链表进行操作,每次操作后将数据保存到文件。二、函数模块:载入模块;新建记录模块;查询模块:修改模块;删除模块;显示模块;打印报表模块;保存数据到文件模块。三、1. 载入模块: 声明: void loadRec(); 功能:由主函数调用,在每次操作前新建链表,预载入保存的职工信息记录。 2. 新建记录模块:声明: void newRec(); 功能:由主函数调用,新建职工记录。 3. 查询模块: 声明: void searchRec(); 功能:由主

    4、函数调用,查询职工记录。 4. 修改模块: 声明: void modifyRec(); 功能:有主函数调用,先查询指定职工记录,再修改。 5. 删除模块: 声明: void deleteRec(); 功能:由主函数调用,先查询指定职工记录,再删除。 6. 显示模块: 声明: void displayRec(); 功能:由主函数调用,显示所有职工记录。 7. 打印报表模块:声明: void printRec(); 功能: 由主函数调用,打印记录报表。 8. 保存数据模块:声明: void saveRec(); 功能:由新建记录模块、修改模块、删除模块调用。保存数据到文件。 四、各功能模块的结构流

    5、程图如下:3. 调试报告一、调试错误:内存不能为“read”。 错误原因:定义的结构体指针,程序中在逻辑上引用了不可用的内存,引发操作错误。 解决方法:细读程序,了解程序逻辑上对指针的定义和调用,找出坏指针,修改。 二、调试问题:在显示数据时,怎么判断链表中有无数据的问题。 解决方法:另外开辟了一块结构体大小的内存,当有文件载入或者有新记录建立时,把它连到链表的前面,否则不连。以此作为显示数据的判断条件。 三、调试错误:显示出的数据中出现乱码。 错误原因:打印了程序头部没有记录的空链表节点。 解决方法:head=head-next 将链表头部连到先一个节点。4. 程序清单#include/*I

    6、/O 函数*/#include/*字符串函数*/#include/*动态存储分配函数*/#include /*标准函数库*/#include/*屏幕操作函数*/#define NULL 0 /*宏定义*/#define LEN sizeof(struct worker)/*宏定义*/struct worker /*数据结构 链表*/char id19;char name9;char sex3;int age;int work_age;char department7;char position7;char position_num6;char credit_num20;char telepho

    7、ne13;char mobile14;float basepay;float positionpay;float others;int waterpay;int powerpay;double maypay;int neatpay;int tvpay;int extra;double endpay;struct worker *next;void newRec();/*新建职工记录*/void searchRec();/*查询职工记录*/void modifyRec();/*修改职工记录*/void deleteRec();/*删除职工记录*/void displayRec();/*显示所有职

    8、工信息*/void loadRec();/*导入文件到内存*/void saveRec();/*保存所有记录*/void printRec();/*输出报表*/int menu_select();/*主菜单*/struct worker * head,* p1,* p2,* p3;/*定义结构体指针 head为头指针 p1为输入数据缓存空间指针 p2为尾指针*/void main() /*主函数*/for(;)loadRec();switch(menu_select()case 1: system(cls); newRec();break;case 2: system(cls); search

    9、Rec();break;case 3: system(cls); modifyRec();break;case 4: system(cls); deleteRec();break;case 5: system(cls); displayRec();break;case 6: system(cls); printRec();break;case 0: exit(0);int menu_select()/*主菜单*/char *menu=tt*菜单*n,ttt1.新建职工记录 ,ttt2.查询职工记录,ttt3.修改职工记录,ttt4.删除职工记录,ttt5.显示所有信息,ttt6.打印职工报表,

    10、ttt0.退出(任何情况下按Ctrl+C退出程序);int c,i;for(i=0;i=7;i+) printf(%sn,menui);doprintf(ntt 输入你的选择(06):);scanf(%d,&c);while(c6);return c;void loadRec()/*导入文件到内存*/p2=p3=(struct worker *)malloc(LEN);/*开辟一个新单元*/p3-next =NULL;head=p1=(struct worker *)malloc(LEN);/*开辟一个新单元*/p1-next =NULL;FILE * fp;if(fp=fopen(data,

    11、rb)!=NULL)fp=fopen(data,rb);p2-next =p1;dofread(p1,LEN,1,fp);p2-next =p1;p2=p1;p1=(struct worker * )malloc(LEN);/*开辟一个新单元*/while(p2-next!=NULL);fclose(fp);return;void newRec()/*新建职工记录*/printf(nnttt请正确输入职工基本信息:(本项信息没有的用“/”代替)nttt请输入身份证号码:);scanf(%s, p1-id);printf(ttt请输入姓名:);scanf(%s,p1-name );printf(

    12、ttt请输入性别:);scanf(%s,p1-sex );printf(ttt请输入年龄:);scanf(%d,&p1-age );printf(ttt请输入工龄:);scanf(%d,&p1-work_age );printf(ttt请输入部门:);scanf(%s,p1-department );printf(ttt请输入技术职称:);scanf(%s,p1-position );printf(ttt请输入技术职称编号:);scanf(%s,p1-position_num );printf(ttt请输入工资卡号:);scanf(%s,p1-credit_num );printf(ttt请输

    13、入家庭电话号码:);scanf(%s,p1-telephone );printf(ttt请输入手机号码:);scanf(%s,p1-mobile );printf(ttt请输入基本工资:);scanf(%f,&p1-basepay );printf(ttt请输入职务工资:);scanf(%f,&p1-positionpay );printf(ttt请输入各种补助资金:);scanf(%f,&p1-others );printf(ttt请输入水费:);scanf(%d,&p1-waterpay );printf(ttt请输入电费:);scanf(%d,&p1-powerpay );printf(

    14、ttt请输入特别奖励资金:);scanf(%d,&p1-extra );p1-neatpay =5;p1-tvpay =10;p1-maypay =(p1-basepay + p1-positionpay + p1-others + p1-extra) -(p1-waterpay + p1-powerpay + p1-neatpay +p1-tvpay );double cathe;cathe=p1-basepay + p1-positionpay ;if(cathe=800)cathe=cathe-(cathe-800)*0.05;else cathe=cathe-(cathe-1400)*

    15、0.1;p1-endpay =(cathe + p1-others + p1-extra) -(p1-waterpay + p1-powerpay + p1-neatpay +p1-tvpay );p2-next =p1;p2=p1;p2-next =NULL;saveRec();/*保存数据*/printf(ntt按任意键返回.n);getch();system(cls); /*清屏*/void saveRec()/*保存所有记录*/p1=head;FILE *fp;fp=fopen(data,wb);dofwrite(p1,LEN,1,fp);p1=p1-next ;while(p1!=N

    16、ULL);fclose(fp);void searchRec()/*查询职工记录*/p1=head;char id19;printf(nntt请输入职工身份证以便查证:);scanf(%s,id);while(strcmp(p1-id,id )!=NULL)if(p1-next =NULL)printf(nnttt找不到该职工信息!n);goto back;else p1=p1-next ;printf(ttt信息如下:nttt身份证号码:);printf(%sn,p1-id );printf(ttt姓名:);printf(%sn,p1-name);printf(ttt性别);printf(%

    17、sn,p1-sex);printf(ttt年龄:);printf(%dn,p1-age);printf(ttt工龄:);printf(%dn,p1-work_age);printf(ttt电话号码:);printf(%sn,p1-telephone);printf(ttt手机号码:);printf(%sn,p1-mobile );printf(ttt技术职称编号:);printf(%sn,p1-position_num );printf(ttt部门:);printf(%sn,p1-department );printf(ttt职务:);printf(%sn,p1-position );prin

    18、tf(ttt工资卡号:);printf(%sn,p1-credit_num );printf(ttt基本工资:);printf(%.0fn,p1-basepay );printf(ttt职务工资:);printf(%.0fn,p1-positionpay );printf(ttt各种补助:);printf(%.0fn,p1-others );printf(ttt特别奖励:);printf(%dn,p1-extra );printf(ttt应发工资:);printf(%.0fn,p1-maypay );printf(ttt水费:);printf(%dn,p1-waterpay );printf(

    19、ttt电费:);printf(%dn,p1-powerpay );printf(ttt清洁费:);printf(%dn,p1-neatpay );printf(ttt闭路电视费:);printf(%dn,p1-tvpay );printf(ttt实发工资:);printf(%.0fn,p1-endpay );printf(nttt按任意键返回.n);getch();system(cls); /*清屏*/back:return;void modifyRec()/*修改职工记录*/p1=head;char id19;printf(nnttt请输入职工身份证以便查证:);scanf(%s,id);w

    20、hile(strcmp(p1-id,id )!=NULL)if(p1-next =NULL)printf(nnttt找不到该职工信息!n);goto back;else p1=p1-next ;printf(ttt信息如下:nttt身份证号码:);printf(%sn,p1-id );printf(ttt姓名:);printf(%sn,p1-name);printf(ttt性别);printf(%sn,p1-sex);printf(ttt年龄:);printf(%dn,p1-age);printf(ttt工龄:);printf(%dn,p1-work_age);printf(ttt电话号码:)

    21、;printf(%sn,p1-telephone);printf(ttt手机号码:);printf(%sn,p1-mobile );printf(ttt技术职称编号:);printf(%sn,p1-position_num );printf(ttt部门:);printf(%sn,p1-department );printf(ttt职务:);printf(%sn,p1-position );printf(ttt工资卡号:);printf(%sn,p1-credit_num );printf(ttt基本工资:);printf(%.0fn,p1-basepay );printf(ttt职务工资:);

    22、printf(%.0fn,p1-positionpay );printf(ttt各种补助:);printf(%.0fn,p1-others );printf(ttt特别奖励:);printf(%dn,p1-extra );printf(ttt应发工资:);printf(%.0fn,p1-maypay );printf(ttt水费:);printf(%dn,p1-waterpay );printf(ttt电费:);printf(%dn,p1-powerpay );printf(ttt清洁费:);printf(%dn,p1-neatpay );printf(ttt闭路电视费:);printf(%d

    23、n,p1-tvpay );printf(ttt实发工资:);printf(%.0fnnn,p1-endpay );printf(请正确输入职工基本信息:(本项信息没有的用“/”代替)nttt请输入身份证号码:);scanf(%s, p1-id);printf(ttt请输入姓名:);scanf(%s,p1-name );printf(ttt请输入性别:);scanf(%s,p1-sex );printf(ttt请输入年龄:);scanf(%d,&p1-age );printf(ttt请输入工龄:);scanf(%d,&p1-work_age );printf(ttt请输入部门:);scanf(%

    24、s,p1-department );printf(ttt请输入技术职称:);scanf(%s,p1-position );printf(ttt请输入技术职称编号:);scanf(%s,p1-position_num );printf(ttt请输入工资卡号:);scanf(%s,p1-credit_num );printf(ttt请输入家庭电话号码:);scanf(%s,p1-telephone );printf(ttt请输入手机号码:);scanf(%s,p1-mobile );printf(ttt请输入基本工资:);scanf(%f,&p1-basepay );printf(ttt请输入职务

    25、工资:);scanf(%f,&p1-positionpay );printf(ttt请输入各种补助资金:);scanf(%f,&p1-others );printf(ttt请输入水费:);scanf(%d,&p1-waterpay );printf(ttt请输入电费:);scanf(%d,&p1-powerpay );printf(ttt请输入特别奖励资金:);scanf(%d,&p1-extra );saveRec();printf(ttt修改成功!n);printf(nttt按任意键返回.n);getch();system(cls); /*清屏*/back:return;void dele

    26、teRec()/*删除职工记录*/struct worker * p0;char id19;p0=p1=head;printf(nnttt请输入要删除职工的身份证号码:);scanf(%s,id);if(strcmp(id,p1-id )=NULL)head=head-next ;elsep1=p1-next ;while(strcmp(p1-id,id )!=NULL)if(p1-next =NULL)printf(nnttt找不到该职工信息!n);goto back;else p0=p1; p1=p1-next ;p0-next =p1-next ;saveRec();printf(ttt

    27、删除记录成功!n);printf(nttt按任意键返回.n);getch();system(cls); /*清屏*/back:return;void displayRec()/*显示所有职工信息*/if(p3-next =NULL)printf(nnttt无记录!n);goto back;else p1=head;doprintf(ttt信息如下:nttt身份证号码:);printf(%sn,p1-id );printf(ttt姓名:);printf(%sn,p1-name);printf(ttt性别);printf(%sn,p1-sex);printf(ttt年龄:);printf(%dn,

    28、p1-age);printf(ttt工龄:);printf(%dn,p1-work_age);printf(ttt电话号码:);printf(%sn,p1-telephone);printf(ttt手机号码:);printf(%sn,p1-mobile );printf(ttt技术职称编号:);printf(%sn,p1-position_num );printf(ttt部门:);printf(%sn,p1-department );printf(ttt职务:);printf(%sn,p1-position );printf(ttt工资卡号:);printf(%sn,p1-credit_num

    29、 );printf(ttt基本工资:);printf(%.0fn,p1-basepay );printf(ttt职务工资:);printf(%.0fn,p1-positionpay );printf(ttt各种补助:);printf(%.0fn,p1-others );printf(ttt特别奖励:);printf(%dn,p1-extra );printf(ttt应发工资:);printf(%.0fn,p1-maypay );printf(ttt水费:);printf(%dn,p1-waterpay );printf(ttt电费:);printf(%dn,p1-powerpay );prin

    30、tf(ttt清洁费:);printf(%dn,p1-neatpay );printf(ttt闭路电视费:);printf(%dn,p1-tvpay );printf(ttt实发工资:);printf(%.0fn,p1-endpay );printf(ttt_nn);p1=p1-next ;while(p1!=NULL);printf(nttt按任意键返回.n);getch();system(cls); /*清屏*/back:return;void printRec()FILE * fp;fp=fopen(printRec.txt,w);if(p3-next =NULL)printf(nnttt

    31、无记录!n);goto back;elsefprintf(fp, %s ,身份证号码);fprintf(fp,%s ,姓名);fprintf(fp,%s ,性别);fprintf(fp,%s ,年龄);fprintf(fp,%s ,工龄);fprintf(fp,%s ,电话号码);fprintf(fp,%s ,手机号码);fprintf(fp,%s ,技术职称编号);fprintf(fp,%s ,部门);fprintf(fp,%s ,职务);fprintf(fp,%s ,工资卡号);fprintf(fp,%s ,基本工资);fprintf(fp,%s ,职务工资);fprintf(fp,%s

    32、,各种补助);fprintf(fp,%s ,特别奖励);fprintf(fp,%s ,应发工资);fprintf(fp,%s ,水费);fprintf(fp,%s ,电费);fprintf(fp,%s ,清洁费);fprintf(fp,%s ,闭路电视费);fprintf(fp,%s n,实发工资);p1=head;dofprintf(fp, %s |,p1-id );fprintf(fp,%s |,p1-name);fprintf(fp,%s |,p1-sex);fprintf(fp,%d |,p1-age);fprintf(fp,%d |,p1-work_age);fprintf(fp,%

    33、s |,p1-telephone);fprintf(fp,%s |,p1-mobile );fprintf(fp,%s |,p1-position_num );fprintf(fp,%s |,p1-department );fprintf(fp,%s |,p1-position );fprintf(fp,%s |,p1-credit_num );fprintf(fp,%.0f |,p1-basepay );fprintf(fp,%.0f |,p1-positionpay );fprintf(fp,%.0f |,p1-others );fprintf(fp,%d |,p1-extra );fpr

    34、intf(fp,%.0f |,p1-maypay );fprintf(fp,%d |,p1-waterpay );fprintf(fp,%d |,p1-powerpay );fprintf(fp,%d |,p1-neatpay );fprintf(fp,%d |,p1-tvpay );fprintf(fp,%.0f n,p1-endpay );p1=p1-next ;while(p1!=NULL);printf(nnttt打印成功!n);printf(nttt按任意键返回.n);getch();system(cls); /*清屏*/back:return;6. 主要参考文献1. 廖雷,C语言程序设计基础实验教程,高等教学出版社,2004。2. 谭浩强,C语言设计,北京:清华大学出版社,2005.


    注意事项

    本文(C课程设计报告(VC6)职工工资信息管理系统.doc)为本站会员(精***)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给沃文网发消息,QQ:2622162128 - 联系我们

    版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

    Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1

    陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922