C语言程序设计报告Word下载.docx

上传人:b****5 文档编号:19102406 上传时间:2023-01-03 格式:DOCX 页数:19 大小:55.12KB
下载 相关 举报
C语言程序设计报告Word下载.docx_第1页
第1页 / 共19页
C语言程序设计报告Word下载.docx_第2页
第2页 / 共19页
C语言程序设计报告Word下载.docx_第3页
第3页 / 共19页
C语言程序设计报告Word下载.docx_第4页
第4页 / 共19页
C语言程序设计报告Word下载.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

C语言程序设计报告Word下载.docx

《C语言程序设计报告Word下载.docx》由会员分享,可在线阅读,更多相关《C语言程序设计报告Word下载.docx(19页珍藏版)》请在冰豆网上搜索。

C语言程序设计报告Word下载.docx

3.程序流程

三、详细设计

1、数据结构

职工信息:

structemployee

{

intnum;

职工编号

charname[10];

职工姓名

intjiben;

基本工资

intjiangjin;

奖金

intshuikuan;

税款

intkoukuan;

扣款

intshiji;

实发工资

}em[100];

2、各个功能模块的处理流程

1.菜单函数

录入职工信息

浏览职工信息

查询职工信息

删除职工信息

修改职工信息

退出

}

2.录入函数

录入需要创建的职工数

创建完毕

调用保存函数

3.保存函数

创建文件并判断是否能打开

{

可打开文件则将内存中职工的信息输出到磁盘文件中去

不可打开文件则显示“无法打开文件”

{

写入文件出错则保存失败

}

}

关闭文件

4.导入函数

打开创建文件

如果不可打开则显示“无法打开文件”

否则导入文件

关闭文件

5.浏览函数

调用导入函数导入已保存的职工信息

6.删除函数

调用浏览函数

按照姓名删除

显示剩余内容

7.查询函数

选择查询方式

1.按照姓名查询

调用按姓名查询函数

2.按照编号查询

调用按编号查询函数

8.修改函数

调用导入函数

显示原来职工信息

按照姓名修改

按要求修改信息

浏览修改后的信息

四、源程序

#include<

stdio.h>

time.h>

string.h>

#defineN100

voidmenu();

voidinput();

voidsave(int);

voiddisplay();

voiddel();

voidsearch();

voidsearch_num();

voidsearch_name();

voidmodify();

voidmenu()

printf("

\n\t\t┏━━━━━━━━━━┓\n"

);

printf("

\t\t┣━━工资信息管理━━┫"

\n\t\t┗━━━━━━━━━━┛\n"

\n\t\t┏━━━━━━━━━━━━━━━━━━━━━━━━┓"

\n\t\t┃¤

¤

¤

┃"

\n\t\t┃¤

┏━━━━━━━━━━┓¤

┃"

┃┏━━━━━━━━┓┃¤

┃┃⒈录入职工信息┃┃¤

┃┃⒉浏览职工信息┃┃¤

┃┃⒊查询职工信息┃┃¤

┃┃⒋删除职工信息┃┃¤

┃┃⒌修改职工信息┃┃¤

printf("

┃┃⒍退出┃┃¤

┃┗━━━━━━━━┛┃¤

┗━━━━━━━━━━┛¤

\n\t\t┗━━━━━━━━━━━━━━━━━━━━━━━━┛\n"

voidmain()

{

intn,flag;

while

(1)

do

menu();

请选择你需要操作的步骤(1~6):

\n"

scanf("

%d"

&

n);

if(n>

=1&

&

n<

=6)

flag=1;

break;

else

flag=0;

您输入有误,请重新选择!

"

}while(flag==0);

switch(n)

case1:

输入职工信息\n"

input();

break;

case2:

浏览职工信息\n"

system("

cls"

display();

case3:

按职工编号查询职工信息\n"

search();

case4:

删除职工信息\n"

del();

case5:

修改职工信息\n"

modify();

case6:

gotola;

default:

la:

system("

\n\n\n\n\n谢谢使用!

voidinput()

inti,m;

请输入需要创建信息的职工人数:

m);

for(i=0;

i<

m;

i++)

请输入职工号:

"

em[i].num);

请输入姓名:

%s"

em[i].name);

getchar();

请输入基本工资:

em[i].jiben);

请输入奖金:

em[i].jiangjin);

请输入税款:

em[i].shuikuan);

请输入扣款:

em[i].koukuan);

em[i].shiji=em[i].jiben+em[i].jiangjin-em[i].shuikuan-em[i].koukuan;

\n创建完毕!

save(m);

voidsave(intm)

inti;

FILE*fp;

if((fp=fopen("

employee_list"

"

wb"

))==NULL)

printf("

cannotopenfile\n"

exit(0);

if(fwrite(&

em,sizeof(structemployee),1,fp)!

=1)

filewriteerror\n"

fclose(fp);

intload()

inti=0;

if((fp=fopen("

rb"

))==NULL)

else

do

fread(&

em,sizeof(structemployee),1,fp);

i++;

while(feof(fp)==0);

fclose(fp);

return(i-1);

voiddisplay()

inti;

intm=load();

\n职工号\t姓名\t基本工资\t奖金\t税款\t扣款\t实际工资\n"

for(i=0;

i++)/*m为输入部分的职工人数*/

\n%d\t%s\t%d\t%d\t%d\t%d\t%d\n"

em[i].num,em[i].name,em[i].jiben,em[i].jiangjin,em[i].shuikuan,em[i].koukuan,em[i].shiji);

按任意键继续\n"

getchar();

voiddel()

intm=load();

inti,j,n,t,flag;

charname1[10];

\n原来的职工信息:

display();

请输入要删除的职工的姓名:

scanf("

name1);

for(flag=1,i=0;

flag&

i++)

if(strcmp(em[i].name,name1)==0)

\n已找到此人,原始记录为:

\n%d\t%s\t%d\t%d\t%d\t%d\t%d\n"

\n确实要删除此人信息请按1,不删除请按0\n"

if(n==1)

for(j=i;

j<

m-1;

j++)

em[j]=em[j+1];

if(!

flag)

m=m-1;

else

\n对不起,查无此人!

\n浏览删除后的所有职工信息:

\n继续删除请按1,不再删除请按0\n"

t);

switch(t)

case0:

}system("

voidsearch()

intt,flag;

\n按姓名查询请按1;

按编号查询请按2;

返回主菜单请按3\n"

if(t>

t<

=3)

else

while(flag==1)

switch(t)

{

按姓名查询\n"

search_name();

按编号查询\n"

search_num();

main();

default:

voidsearch_name()

charname1[10];

inti,t;

请输入要查找的姓名:

for(i=0;

if(strcmp(name1,em[i].name)==0)

\n已找到此人,其记录为:

if(i==m)

\n对不起,查无此人\n"

返回查询函数请按1,继续按姓名查询请按2\n"

voidsearch_num()

intnum;

inti,t=0;

请输入要查找的编号:

num);

if(em[i].num==num)

\n已找到,其记录为:

返回查询函数请按1,继续按编号查询请按2\n"

voidmodify()

intb,c,i,n,t,flag;

请输入要修改的职工的姓名:

name);

if(strcmp(em[i].name,name)==0)

\n职工号\t姓名\t基本\t奖金\t税款\t扣款\t实际工资\n"

\n确实要修改此人信息请按1;

不修改请按0\n"

if(n==1)

\n需要进行修改的选项\n1.职工号2.姓名3.基本工资4.奖金5.税款6.扣款7.实际工资\n"

请输入你想修改的那一项序号:

c);

if(c>

8||c<

1)

\n选择错误,请重新选择!

if(flag==1)

switch(c)

职工号改为:

em[i-1].num=num;

姓名改为:

strcpy(em[i-1].name,name);

基本工资改为:

jiben);

em[i-1].jiben=jiben;

奖金改为:

jiangjin);

em[i-1].jiangjin=jiangjin;

税款改为:

shuikuan);

扣款改为:

koukuan);

em[i-1].koukuan=koukuan;

case7:

实际工资改为:

shiji);

em[i-1].shiji=shiji;

}

\n是否确定所修改的信息?

\n是请按1;

不,重新修改请按2:

\n"

b);

}

while(b==2);

\n浏览修改后的所有职工信息:

\n继续修改请按1,不再修改请按0\n"

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

当前位置:首页 > 经管营销 > 公共行政管理

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

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