C语言程序设计Word格式文档下载.docx

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

C语言程序设计Word格式文档下载.docx

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

C语言程序设计Word格式文档下载.docx

0)、推出本系统

功能模块分工:

李军:

程序设计与信息输入、浏览

陈辉煌:

页面设计与信息查询

曾超群:

信息修改

阳恩成:

信息删除

张琦:

信息排序

3、课程设计报告内容

3.1职工管理系统的理论依据及算法

主要数据结构:

typedefstruct

{

intnumber;

/*职工号*/

charname[20];

/*姓名*/

charsex[8];

/*性别*/

floatyear;

/*出生年月日*/

chareducat[20];

/*学历*/

charduty[20];

/*职务*/

floatwage;

/*工资*/

charplace[20];

/*住址*/

doubletel;

/*电话*/

}Student;

Studentstu[100];

/*结构体数组变量*/

各函数的功能和实现:

整个系统除了主函数外,另外还有10个函数,实现七大功能:

输入功能、显示功能、查找功能、修改功能、删除功能、排序功能。

各个函数的详细设计说明分别如下:

1、主函数main()

利用无限次循环for(;

;

)和swithch()实现各函数的调用,系统根据输入的数字选项来调用相应的函数。

2、菜单选择函数switch(menu())

这是一个无参函数,主要实现“功能选择”的界面,在这个界面里有显示系统的七大功能,根据每个功能前面的序号进行选择。

等执行完每一个函数功能后,按任一键回到主界面也要通过这个函数来实现!

3、输入记录函数intInput(Studentstud[],intn)

这是一个无参函数,用来执行职工信息的输入,当学生九类信息全部输入后,系统提示“继续写入成绩?

Y/N”,选择“N”函数结束。

4、显示记录函数voidDisplay(Studentstud[],intn)

这是一个不返回值的有参函数,形参为数组,负责对全部职工信息的输出,不足之处就是不能对职工信息进行分页显示。

5、查找记录函数voidSearch(Studentstud[],intn)

这是一个不返回值的有参函数,形参为数组,分别实现按职工号或工资对某个职工进行查找,并显示所查找到的记录。

6、修改函数voidModify(Studentstud[],intn)

这是一个有参函数,形参为数组,能将之前输入的数据进行修改。

7、删除记录函数intDelete(Studentstud[],intn)

这是一个有参函数,形参为数组,先输入要删除的职工的职工号,找到后显示该职工信息,直接进行删除。

8、排序函数voidSort(Studentstud[],intn)

在Studentstud[]这个结构数组中按职工号进行由大到小排序:

voidSort(Studentstud[],intn)/*冒泡法排序*/。

3.2流程图

3.3、源程序如下:

#include<

stdio.h>

/*引用库函数*/

#include<

conio.h>

/*输入输出函数*/

stdlib.h>

string.h>

{intnumber;

charname[20];

intmenu()/*菜单函数*/

charc;

do

{

//system("

cls"

);

/*运行前清屏*/

printf("

┏---------------------------------MENU---------------------------------┓"

/*菜单选择*/

│⊙ω⊙<

<

1>

>

录入职工信息│"

│≧ω≦<

2>

显示所有职工信息│"

│ˋ▂ˊ<

3>

查询职工信息│"

│ˇ△ˇ<

4>

修改职工信息并保存│"

│˙︿˙<

5>

删除职工信息│"

│ ̄□ ̄<

6>

按职工号降序排列│"

│●△●<

0>

退出本系统│"

│***********作者:

1009301班完美组合*********│"

┗----------------------------请选择你需要的操作----------------------┛"

========>

请输入数字0~9:

\n"

c=getchar();

/*读入选择*/

}

while(c<

'

0'

||c>

5'

return(c-'

/*返回选择*/

}

intInput(Studentstud[],intn)/*输入若干条记录*/

{

inti=0;

charsign='

y'

x[10];

/*x[10]为清除多余的数据所用*/

while(sign!

='

n'

&

sign!

N'

)/*选择判断*/

printf("

----------请输入职工号----------:

"

/*交互输入*/

scanf("

%d"

&

stud[n+i].number);

----------请输入职工的姓名------:

%s"

stud[n+i].name);

----------请输入职工的性别------:

stud[n+i].sex);

----------请输入职工的出生年月日:

%f"

stud[n+i].year);

----------请输入职工的学历------:

stud[n+i].educat);

----------请输入职工的职务------:

stud[n+i].duty);

----------请输入职工的工资------:

stud[n+i].wage);

----------请输入职工的住址------:

stud[n+i].place);

----------请输入职工的电话------:

%lf"

stud[n+i].tel);

gets(x);

/*清除多余的输入*/

%s\n"

stud[n+i].name);

=====>

提示:

继续写入成绩?

(Y/N)"

%c"

sign);

/*输入判断*/

i++;

}

return(n+i);

}

voidDisplay(Studentstud[],intn)/*显示所有记录*/

inti;

if(!

stud)

没有记录"

else

{

┏--------------------------------------------------------------------------------┓\n"

/*格式头*/

职工号\t姓名\t性别\t生日\t学历\t职务\t工资\t住址\t电话\n"

┗--------------------------------------------------------------------------------┛\n"

for(i=1;

i<

n+1;

i++)/*循环输入*/

{

printf("

%d\t"

stud[i-1].number);

%s\t"

stud[i-1].name);

stud[i-1].sex);

%6.0f"

stud[i-1].year);

stud[i-1].educat);

stud[i-1].duty);

%8.0f\t"

stud[i-1].wage);

stud[i-1].place);

%11.0lf"

stud[i-1].tel);

}

\t\t\t\n"

voidSearch(Studentstud[],intn)/*查找并显示一个记录*/

ints=0;

intt=0;

printf("

按职工号查找请输入1,按工资查找请输入2\n"

scanf("

t);

switch(t)/*选择判断*/

case1:

/*按职工号查找*/

输入需要查找职工的职工号:

s);

while((stud[i].number-s)!

=0&

n)i++;

/*查找判断*/

if(i==n)

=====>

对不起,无法找到该职工的信息!

/*输入失败信息*/

return;

-------------------------------------\n"

/*输出该职工信息*/

职工号:

%d\n"

stud[n-1].number);

姓名:

stud[n-1].name);

性别:

stud[n-1].sex);

出生年月日:

%8.0f\n"

stud[n-1].year);

学历:

stud[n-1].educat);

职务:

stud[n-1].duty);

工资:

%f\n"

stud[n-1].wage);

住址:

stud[n-1].place);

电话:

%11.0lf\n"

stud[n-1].tel);

break;

case2:

/*按姓名查找*/

输入需要查找职工的工资:

while((stud[i].wage-s)!

voidModify(Studentstud[],intn)/*修改职工信息*/

输入需要修改职工信息的职工号:

对不起,无该职工的信息……\n"

-----------------------------------该职工的信息---------------------------------\n"

--------------------------------------------------------------------------------\n"

请输入职工号:

请输入职工的姓名:

请输入职工的性别:

请输入职工的出生年月日:

请输入职工的学历:

请输入职工的职务:

请输入职工的工资:

请输入职工的住址:

请输入职工的电话:

intDelete(Studentstud[],intn)/*按职工号查找,删除一条记录*/

inti=0,j;

输入需要删除职工的职工号:

/*交互式问寻*/

/*查找判断*/

对不起,无法找到该职工号……\n"

/*返回失败信息*/

return(n);

for(j=i;

j<

n-1;

j++)/*删除操作*/

strcpy(stud[j].name,stud[j+1].name);

stud[j].number=stud[j+1].number;

strcpy(stud[j].sex,stud[j+1].sex);

stud[j].year=stud[j+1].year;

strcpy(stud[j].educat,stud[j+1].educat);

strcpy(stud[j].duty,stud[j+1].duty);

stud[j].wage=stud[j+1].wage;

strcpy(stud[j].place,stud[j+1].place);

stud[j].tel=stud[j+1].tel;

已成功删除!

/*返回成功信息*/

return(n-1);

voidSort(Studentstud[],intn)/*按职工号排序*/

inti,j,k;

floats;

chart[20];

for(i=0;

i++)/*冒泡法排序*/

for(j=0;

n-1-i;

j++)

if(stud[j].number<

stud[j+1].number)

{

k=stud[j+1].number;

stud[j+1].number=stud[j].number;

stud[j].number=k;

strcpy(t,stud[j+1].name);

strcpy(stud[j+1].name,stud[j].name);

strcpy(stud[j].name,t);

strcpy(t,stud[j+1].sex);

strcpy(stud[j+1].sex,stud[j].sex);

strcpy(stud[j].sex,t);

s=stud[j+1].year;

stud[j+1].year=stud[j].year;

stud[j].year=s;

strcpy(t,stud[j+1].educat);

strcpy(stud[j+1].educat,stud[j].educat);

strcpy(stud[j].educat,t);

strcpy(t,stud[j+1].duty);

strcpy(stud[j+1].duty,stud[j].duty);

strcpy(stud[j].duty,t);

s=stud[j+1].wage;

stud[j+1].wage=stud[j].wage;

stud[j].wage=s;

strcpy(t,stud[j+1].place);

strcpy(stud[j+1].place,stud[j].place);

strcpy(stud[j].place,t);

s=stud[j+1].tel;

stud[j+1].tel=stud[j].tel;

stud[j].tel=s;

}

%8

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

当前位置:首页 > 初中教育 > 数学

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

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