欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    c语言程序设计教师工资管理系统.doc

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

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

    c语言程序设计教师工资管理系统.doc

    二、总体设计(对设计目标进行总体分析,说明要采用的基本思路,说明遇到的问题和解决方法。说明完成本次课程设计的完整过程。要描述程序的设计思想,画出本次课程设计完整的程序框图或流程图。)三、详细设计(要求列出所有编写的函数清单,说明每个函数的功能,各形式参数的意义,画出各函数的调用关系图。即模块功能说明(如函数功能、入口及出口参数说明,函数调用关系描述等)。)四、程序运行结果测试与分析(要针对程序处理的不同情况列出有代表性的输入和输出,用足够多的实例说明程序完成了设计任务和目标。)五、结论与心得(主要说明程序调试中发现的问题和解决办法,包括你在该设计中主要承担什么任务,在设计中学到了什么,哪里遇到了困难,解决的办法,可能但因时间关系没有来得及完成的想法,今后的目标等。)要求:课程设计进行一周,每天班长负责考勤,旷课一次扣1.5分提交内容:课程设计报告,做好的程序给我演示c语言程序设计教师工资管理系统_具体的设计报告教师工资管理系统每个教师的信息为:教师号、姓名、性别、单位名称、家庭住址、联系电话、基本工资、津贴、生活补贴、应发工资、电话费、水电费、房租、所得税、卫生费、公积金、合计扣款、实发工资。注:应发工资=基本工资+津贴+生活补贴;合计扣款=电话费+水电费+房租+所得税+卫生费+公积金;实发工资=应发工资合计扣款。A、教师信息处理 (1)输入教师信息(2) 插入(修改)教师信息: (3) 删除教师信息: (4) 浏览教师信息:提示:具体功能及操作参考题1。 B、教师数据处理:(1) 按教师号录入教师基本工资、津贴、生活补贴、电话费、水电费、房租、所得税、卫生费、公积金等基本数据。(2) 教师实发工资、应发工资、合计扣款计算。 提示:计算规则如题目。 (3) 教师数据管理提示:输入教师号,读出并显示该教师信息,输入新数据,将改后信息写入文件(4) 教师数据查询:提示:输入教师号或其他信息,即读出所有数据信息,并显示出来。 (5) 教师综合信息输出提示:输出教师信息到屏幕。1. 课程设计目的和要求A 巩固和加强c语言程序设计课程的理论知识。 B 掌握c语言的基本概念,语法,语义和数据类型的使用特点。C 掌握c语言程序设计的方法及编程技巧,能正确使用c语言编写程序。 D 进一步理解和运用结构化程序设计的思想和放法。 E 使学生掌握调试程序的基本方法及上机操作方法。F 通过查询手册和文献资料,培养学生独立分析问题和解决问题的能力。 G 初步掌握开发一个小型实用系统的基本方法。 H 培养学生的创新能力和创新思维。I 培养学生良好的程序设计风格。进一步理解和运用2.课程设计题目及内容教师工资管理系统每个教师的信息为:教师名,姓名,性别,单位名称,家庭住址,联系电话,基本工资,津贴,生活补贴,应发工资,电话费,水电费,房租,所得税,卫生费,公积金,合计扣款,实发工资。注:应发工资=基本工资+津贴+生活补贴;合计扣款=电话费+水电费+房租+所得税+卫生费+公积金;实发工资=应发工资合计扣款。1教师信息处理 J 输入教师信息K 插入(修改)教师信息 L 删除教师信息; M 浏览教师信息;(提示:具体功能及操作参考题1。) 2教师数据处理;A. 按教师号录入教师基本工资,津贴,生活补贴,电话费,水电费,房租,所得税,卫生费,公积金等基本信息;B. 教师实发工资、应发公资、合计扣款; C. 教师数据管理;(提示:输入教师号,读出并显示该教师信息,输入新数据,将改后信息写入文件。) D. 教师数据查询;(提示:输入教师好或其他信息,即读出所有数据信息,并显示出来。) E. 教师综合信息输出;(提示;输出教师信息到屏幕。)一、 需求分析 教师信息处理A输入教师信息B插入修改教师信息 C删除教师信息 D浏览教师信息 教师数据处理A按教师号录入教师基本工资、津贴、生活补贴、电话费、水电费、房租、所得税、卫生费、公积金等基本数据。B教师实发工资,应发工资,合计扣款计算。 C教师数据管理 D教师数据查询 E教师综合信息输出二总体设计 4总体设计建立动态链表。删除结点插入结点三、详细设计源程序#include<stdio.h> #include<stdlib.h> #include<conio.h>#define LEN sizeof(struct teacher) struct teacher *creat(); struct teacher intnum; char name10; char sex8; char unit10; char address10; longtelnum; float salary_1; float allowance; floatlife_allow; float salary_2; floattel_fee; float tax; floathealth_fee; floatwater_fee; float rent; float grant; floattotal_fee; floatactual_salary; struct teacher *next; ;int n;struct teacher *head; FILE *fp;struct teacher *creat(void) struct teacher *p1,*p2; n=0; p1=p2=(struct teacher *)malloc(LEN); printf("教师号:");scanf("%d",&p1->num);fflush(stdin); printf("教师姓名:"); gets(p1->name); printf("教师性别:"); gets(p1->sex);printf("单位名称:"); gets(p1->unit);printf("家庭地址:"); gets(p1->address);printf("电话号码:");scanf("%ld",&p1->telnum);fflush(stdin);printf("基本工资:");scanf("%f",&p1->salary_1);fflush(stdin);printf("津贴:");scanf("%f",&p1->allowance);fflush(stdin);printf("生活补贴:");scanf("%f",&p1->life_allow);fflush(stdin);printf("电话费:");scanf("%f",&p1->tel_fee);fflush(stdin);printf("个人所得税:");scanf("%f",&p1->tax);fflush(stdin);printf("房租:");scanf("%f",&p1->rent);fflush(stdin);printf("公积金:");scanf("%f",&p1->grant);fflush(stdin);printf("水电费:");scanf("%f",&p1->water_fee);fflush(stdin);第printf("卫生费:");scanf("%f",&p1->health_fee);fflush(stdin);p1->salary_2=p1->salary_1+p1->allowance+p1->life_allow;p1->total_fee=p1->tel_fee+p1->water_fee+p1->rent+p1->tax+p1->health_fee+p1->grant; p1->actual_salary=p1->salary_2-p1->total_fee; head=NULL; while(p1->num!=0) n=n+1; if(n=1)head=p1; else p2->next=p1; p2=p1; p1=(struct teacher*)malloc(LEN); printf("教师号:");scanf("%d",&p1->num);fflush(stdin); printf("教师姓名:"); gets(p1->name); printf("教师性别:"); gets(p1->sex);printf("单位名称:"); gets(p1->unit);printf("家庭地址:"); gets(p1->address);printf("电话号码:");scanf("%ld",&p1->telnum);fflush(stdin);printf("基本工资:");scanf("%f",&p1->salary_1);fflush(stdin);printf("津贴:");scanf("%f",&p1->allowance);fflush(stdin);printf("生活补贴:");scanf("%f",&p1->life_allow);fflush(stdin);8printf("电话费:");scanf("%f",&p1->tel_fee);fflush(stdin);printf("个人所得税:");scanf("%f",&p1->tax);fflush(stdin);printf("房租:");scanf("%f",&p1->rent);fflush(stdin);printf("公积金:");scanf("%f",&p1->grant);fflush(stdin);printf("水电费:");scanf("%f",&p1->water_fee);fflush(stdin);printf("卫生费:");scanf("%f",&p1->health_fee);fflush(stdin);p1->salary_2=p1->salary_1+p1->allowance+p1->life_allow;p1->total_fee=p1->tel_fee+p1->water_fee+p1->rent+p1->tax+p1->health_fee+p1->grant; p1->actual_salary=p1->salary_2-p1->total_fee; p2->next=NULL; return(head); void print(struct teacher *head) struct teacher *p; printf("nNow,These %d records are:n",n); p=head; if(head!=NULL) do printf("教师号:%5dtt",p->num); printf("教师姓名:%-10sn",p->name); printf("教师性别:%-6stt",p->sex);页printf("单位名称:%-10sn",p->unit); printf("家庭地址:%-10st",p->address); printf("电话号码:%8ldn",p->telnum); printf("基本工资:%5.0ftt",p->salary_1); printf("津贴:%5.0fn",p->allowance); printf("生活补贴:%5.0ft",p->life_allow); printf("t电话费:%5.0fn",p->tel_fee); printf("个人所得税:%5.0ft",p->tax); printf("卫生费:%5.0fn",p->health_fee); printf("水电费:%5.0ftt",p->water_fee); printf("房租:%5.0fn",p->rent); printf("公积金:%5.0ftt",p->grant); printf("应发工资:%5.0fn",p->salary_2); printf("合计扣款:%5.0ftt",p->total_fee); printf("实发工资:%5.0fnnn",p->actual_salary); p=p->next; while(p!=NULL); struct teacher *insert(struct teacher*head,struct teacher *teach) struct teacher *p0,*p1,*p2; p1=head; p0=teach; if(head=NULL) head=p0;p0->next=NULL; else while(p0->num>p1->num)&&(p1->next!=NULL) p2=p1;p1=p1->next; if(p0->num<p1->num) if(head=p1)head=p0; else p2->next=p0; p0->next=p1; else p1->next=p0;p0->next=NULL; n=n+1; return(head);struct teacher *del(struct teacher *head,int number) struct teacher *p1,*p2; if(head=NULL)printf("nlist nulln");return(head); p1=head; while(number!=p1->num&&p1->next!=NULL) p2=p1;p1=p1->next; if(number=p1->num) if(p1=head)head=p1->next; else p2->next=p1->next; printf("删除:%dn",number); n=n-1; else printf("%ld is not foundn",number); return(head); void save() int i;struct teacher *p1; p1=head;if(fp=fopen("teacher_list","wb")=NULL) printf("cannot open filen"); return;for(i=0;i<n;i+) if(fwrite(p1,sizeof(struct teacher),1,fp)!=1) printf("file write errorn"); p1=p1->next; fclose(fp); void load() 下一struct teacher *p1,*p2;if(fp=fopen("teacher_list","rb")=NULL) printf("cannot open filen"); return; p1=p2=(struct teacher *)malloc(LEN); head=p1; do if(fread(p1,sizeof(struct teacher),1,fp)!=1) printf("file errorn"); goto end;if(p1->next!=NULL) p2=p1;p1=(struct teacher *)malloc(LEN); p2->next=p1; else break; while(1); end: fclose(fp); void query(struct teacher *p) int no; p=head; printf("please input num:n"); scanf("%d",&no);while(p->num!=no) p=p->next;printf("基本工资:%5.0ftt",p->salary_1); printf("津贴:%5.0fn",p->allowance); printf("生活补贴:%5.0ft",p->life_allow); printf("t电话费:%5.0fn",p->tel_fee); printf("个人所得税:%5.0ft",p->tax);页printf("水电费:%5.0ftt",p->water_fee); printf("房租:%5.0fn",p->rent); printf("公积金:%5.0ftt",p->grant); printf("应发工资:%5.0fn",p->salary_2); printf("合计扣款:%5.0ftt",p->total_fee); printf("实发工资:%5.0fnnn",p->actual_salary); void edit(struct teacher *p) int a; printf("please input num:n"); scanf("%d",&a); printf("%dnn",a); for(;) if(p->num=a) printf("教师号:%5dtt",p->num); printf("教师姓名:%-10sn",p->name); printf("教师性别:%-6stt",p->sex); printf("单位名称:%-10sn",p->unit); printf("家庭地址:%-10st",p->address); printf("电话号码:%8ldn",p->telnum); printf("基本工资:%5.0ftt",p->salary_1); printf("津贴:%5.0fn",p->allowance); printf("生活补贴:%5.0ft",p->life_allow); printf("t电话费:%5.0fn",p->tel_fee); printf("个人所得税:%5.0ft",p->tax); printf("卫生费:%5.0fn",p->health_fee); printf("水电费:%5.0ftt",p->water_fee); printf("房租:%5.0fn",p->rent); printf("公积金:%5.0ftt",p->grant);printf("合计扣款:%5.0ftt",p->total_fee); printf("实发工资:%5.0fnnn",p->actual_salary); printf("请输入新数据:n"); printf("教师号:");scanf("%d",&p->num);fflush(stdin); printf("教师姓名:");gets(p->name); printf("教师性别:");gets(p->sex); printf("工作单位:");gets(p->unit); printf("家庭地址:");gets(p->address);printf("电话号码:");scanf("%ld",&p->telnum);fflush(stdin);printf("基本工资:");scanf("%f",&p->salary_1);fflush(stdin);printf("津贴:");scanf("%f",&p->allowance);fflush(stdin);printf("生活补贴:");scanf("%f",&p->life_allow);fflush(stdin);printf("电话费:");scanf("%f",&p->tel_fee);fflush(stdin);printf("个人所得税:");scanf("%f",&p->tax);fflush(stdin);printf("房租:");scanf("%f",&p->rent);fflush(stdin);printf("公积金:");scanf("%f",&p->grant);fflush(stdin);printf("水电费:");scanf("%f",&p->water_fee);fflush(stdin);printf("卫生费:");scanf("%f",&p->health_fee);fflush(stdin);p->salary_2=p->salary_1+p->allowance+p->life_allow;p->total_fee=p->tel_fee+p->water_fee+p->rent+p->tax+p->health_fee+p->grant; p->actual_salary=p->salary_2-p->total_fee; break; p=p->next; void welcome() printf("ttt+-+n");printf("ttt| |n");printf("ttt| 欢迎使用教师工资管理系统 |n");printf("ttt| |n");printf("ttt+-+n");printf("nn"); char mainmenu() char choice; printf("n温馨提示:为保证您的操作得到保存,请按正常顺序退出系统_n"); printf("nn");printf("ttt-n"); printf("ttt| 教师工资管理系统 |n"); printf("ttt-n"); printf("ttt| 1-输入教师信息 |n"); printf("ttt| 2-插入教师信息 |n"); printf("ttt| 3-删除教师信息 |n"); printf("ttt| 4-浏览教师信息 |n"); printf("ttt| 5-录入教师信息 |n"); printf("ttt| 6-查询教师信息 |n"); printf("ttt| 7-修改教师信息 |n");printf("ttt| 8-加载教师信息 |n"); printf("ttt| 0-退出系统 |n"); printf("ttt|*·*·*·*·*·*·*·*·*·*·|n"); printf("ttt-n"); printf("请输入您的选择:"); do fflush(stdin);scanf("%c",&choice);fflush(stdin); while(choice<'0'|choice>'8'); return(choice); void main()struct teacher *teach; intdel_num; char choice; while(1) welcome(); choice=mainmenu(); switch(choice) case '0': system("cls"); exit(0); case '1': printf("input records:n"); head=creat(); break; case '2':printf("input the inserted record:n"); teach=(struct teacher *)malloc(LEN); printf("教师号:");scanf("%d",&teach->num);fflush(stdin); printf("教师姓名:");gets(teach->name); printf("教师性别:");gets(teach->sex); printf("单位名称:");gets(teach->unit); printf("家庭地址:");gets(teach->address);printf("电话号码:");scanf("%ld",&teach->telnum);fflush(stdin);printf("基本工资:");scanf("%f",&teach->salary_1);fflush(stdin);printf("津贴:");scanf("%f",&teach->allowance);fflush(stdin);printf("生活补贴:");scanf("%f",&teach->life_allow);fflush(stdin);printf("电话费:");scanf("%f",&teach->tel_fee);fflush(stdin);printf("个人所得税:");scanf("%f",&teach->tax);fflush(stdin);printf("房租:");scanf("%f",&teach->rent);fflush(stdin);printf("公积金:");scanf("%f",&teach->grant);fflush(stdin);printf("水电费:");scanf("%f",&teach->water_fee);fflush(stdin);printf("卫生费:");scanf("%f",&teach->health_fee);fflush(stdin); teach->salary_2=teach->salary_1+teach->allowance+teach->life_allow;teach->total_fee=teach->tel_fee+teach->water_fee+teach->rent+teach->tax+teach->health_fee+teach->grant; teach->actual_salary=teach->salary_2-teach->total_fee; head=insert(head,teach); print(head); break; case '3': printf("input the delete number:"); scanf("%d",&del_num); getchar(); head=del(head,del_num);break;case '4': print(head); break; case '5': save(); break; case '6':query(head);break; case '7':edit(head);break;case '8':load();break; 调试与测试进入页面输入持续两周的课程设计给了我太多感触,题目很大,设计量很大,也很繁杂,非一人之力可以解决。这样只是重新捡起书本来看,获得新知识。提升自己的能力。整个程序的设计是分模块实现具体的功能,每个模块分别由不同的函数。每个同学都有自己的分工。链表的建立实现输入信息功能,相比较于数组更加方便,更节省内存空间。通过使用文件fread和fwrite函数方便的将数据信息写入文件以及将文件中的信息载入显示段。通过这十几天的训练与设计我学会了很多,也更加熟悉c语言程序设计,从中得到很多乐趣,很快乐,感觉这些天我并没有浪费掉,而是利用了他,虽然天很热,可是能看见同学们自己设计的程序运行起来我还是很开心。13 心很是来序的自见是可天,利,浪没我觉乐趣很到,序 熟也了学设训几段显息信将件写信的方函 件间存节,更数相功信实建链分己都每的由块个能的现分设力能升。得,书新只样决力一繁,量计很触太给程的输页测 ; ' ' ;)( :' ) ; ( :' ) _ = , ) "( :' ) , = _ - - > >- ; - + - + + _ > > - - + - =_ - ; ( ;_ > &% ):卫" ) _ ,% )"电 ) ; "% )公 ) ; - "():租 ) &% )税" ) ) - "%):电 ) > &"")补生 ) ; - ,%():"( ) ;_ > ,% )本" ) ) - & "):话( ) ):庭家 ) - ):位( ():性" ) ( )师" ; ( ) "" )号" ( ) ( )" " '' ; ) ; ;( ; ( ) ; ( ; ; * ( ) ; > |0' ; ) ,( ;) )选您"( )- "|·*·*| )统退-0 ;) 信加-| ) 信改- )|息教查 ( )息教录-| " 师教- "息教- " )" 信- " " 信教- ( )- ( )统理师| )- ( ) "统退常请存作您保示 " ( )""() -+ ) " )"|系工师欢 " ) ( ) - ) ; _ > >- -+ > > -+_>= _ - > ) ; -&% )卫 ) ; ,% ):电 ) ) &"():积 ) ; >&%()"房() ) " ():所个 ) ) - ():电 ) ; _ , ()"补( ) ; "" ):"() ) & ")本( ) ) >" ( )"话( ) -)庭" ) -()"作( ) - ):性( ; - )名" ; ;>&""):教 ;:数输( 0:实" _ ,0:计") " .%积 ; -, %租 )_ %水 > 0 卫 )>, 0%得个 > 0%话 ; >,.%活( ; - %津 ) - 0%工基 ; >" %号"( ; >, :地( ; > -:单 )> -别" , :姓" "%号教 = -( ;(;, " ;&% ; ( ; _ , 0:发( ; .:扣( ) >,0 工" ) - 金" ; ,0:"( ; -" 0.电( ) 税人( ) >" 费电" ) _ ,0贴生( ; >-0%贴 ) .%本" -= = - ) "%( ;" ; = )* ( ( : ; ; = -; ) ) ! ; ) ( )! , , = ; ( ) ( ) ( ) ) , ( =( 页页" .- . : ( ; ;) " ! + ; ; )= " = * ( ; ( ) ":除 ; >= > - = ) ( ; ; ) > > ! ( = ; " = * ) * ) ( =; -0 -;0 > = )= >( - ! ( > -0 =>- = = = 0 ) = - ,0%工"( ; -, 0%款合 ; -"0%工发 ; 0 公" ; - 0.租( ) >, :" ; _ , .:卫 )>,. 所个 _ .:电 >,. 补" ) " 贴( > 0%工本 ; -" :电 >- :庭( ) -"-:单 ) -, :师" ) -" 0名教( ) -"%教( ) = ( " " ;* ) ) - -= - _ >+> + - _ + - >=_ ) ) > "")"卫") ; _ - )费" ) ; "" )"金() ) -&"( )"房 ) ( ) ,%():所个() ; >&," )"电" ) - "" ):活" ) >, ):津() )_ > "% )"本基 ) ( ) -& ():话电 ) - )址家() - ;:" ) >( ;"师( ; > ;)姓" ; ," ):教 ( * ( ;= - ;= = + ) -( = ; - _ - _ > > + > -= _ >+ =_ >) - "()生 ; - ,():电 ) ( ; ," )金 ) ) > "%):" ) ) -, ")得个() ) >& ():话 ) ) -&"( ):活( ) ) &%")"" ) ; > "" ):工( ) ) ,"()"号( ) > ":" ) "称位 ) -( ;:性教 ; >( ;:名" ; -""():教 ( * ; ;, ( * _ _ ; _ ; 0 ; ; *

    注意事项

    本文(c语言程序设计教师工资管理系统.doc)为本站会员(豆****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开