c语言课程设计人员管理系统Word文件下载.docx

上传人:b****6 文档编号:16232294 上传时间:2022-11-21 格式:DOCX 页数:29 大小:122.57KB
下载 相关 举报
c语言课程设计人员管理系统Word文件下载.docx_第1页
第1页 / 共29页
c语言课程设计人员管理系统Word文件下载.docx_第2页
第2页 / 共29页
c语言课程设计人员管理系统Word文件下载.docx_第3页
第3页 / 共29页
c语言课程设计人员管理系统Word文件下载.docx_第4页
第4页 / 共29页
c语言课程设计人员管理系统Word文件下载.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

c语言课程设计人员管理系统Word文件下载.docx

《c语言课程设计人员管理系统Word文件下载.docx》由会员分享,可在线阅读,更多相关《c语言课程设计人员管理系统Word文件下载.docx(29页珍藏版)》请在冰豆网上搜索。

c语言课程设计人员管理系统Word文件下载.docx

v保存文件、退出

三、设计要求及成果

1.分析课程设计题目的功能需求(可选用数组或链表实现,可多人(最多3人)协作完成一个题目)

2.写出详细设计说明(至少包括功能实现分析和模块流程图)

3.编写程序代码,调试程序使其能正确运行(代码书写要规范,标示符要见名知意,要有必要的注释,每人至少3个函数,每人至少200行代码,不包括注释和花括号)

4.设计完成的软件要便于操作和使用

5.设计完成后提交课程设计报告(请严格按照模板进行排版)

四、进度安排

第一天 

选择课程设计题目,分析课题的要求

第二天 

编程

第三天 

编程及调试

第四天 

写课程设计报告

第五天 

提交课程设计报告(打印稿及电子稿)

五、评分标准

1.根据平时上机考勤、表现和进度,教师将每天点名和检查

2.根据课程设计完成情况,必须有可运行的软件。

3.根据课程设计报告的质量,如有雷同,则所有雷同的所有人均判为不及格。

第一章需求分析

1.1引言

随着管理人数的增加,手动管理人员将会显得不方便。

这时就需要使用软件来实施人性化的管理。

1.2任务概述

做一个程序对人员信息实现:

新建文件、打开文件、输入记录、输出记录、查询记录、

修改、插入和删除记录、保存文件、退出功能

1.3数据描述

●采用结构体来储存人员信息。

●人员信息包括姓名、性别、年龄、身份证号、个人简历。

●姓名长度输入时不能超过10。

●性别输入时只能输入时一个字符w/m。

●身份证长度输入时不能超过20。

●个人简历长度输入时不能超过120。

1.4功能需求

●新建文件、打开文件

●输入记录、输出记录

●查询记录(至少具有两种查询方式,例如以姓名查询和以身份证号查询)

●修改、插入和删除记录

●保存文件、退出

第二章概要设计

2.1总体设计

2.2数据类型设计(或数据结构设计)

typedefstructstudent

{

charname[M];

//姓名

charsex;

//性别

intyear;

//年龄

charnum[20];

//身份证号

charjian[120];

//个人简历

}stu;

//结构体储存

2.3接口设计

表2.1:

函数列表

函数名

函数格式

函数功能

menu

intmenu(void)

用户菜单

read

intread(stust[])

添加人员信息

xieru

voidxieru(stust[],intn)

写信息到文件

duqu

intduqu(stust[]);

从文件读取信息

print

voidprint(stust[],intn)

输出信息到屏幕

shenfenzheng

voidshenfenzheng(stust[],intn)

按身份证查找信息

xingming

voidxingming(stust[],intn)

按姓名查找

xiugai

voidxiugai(stust[],intn)

修改信息

charu

intcharu(stust[],intn)

插入信息

shanchu

voidshanchu(stust[],intn)

删除信息

2.4运行界面设计

第三章详细设计

3.1输入模块设计

inti=-1;

system("

cls"

);

printf("

\t\t***********************************\n"

);

printf("

\t\t*1.更新成员信息*\n"

do{

i++;

printf("

请输入姓名:

\n"

scanf("

%s"

&

st[i].name);

if(atoi(st[i].name)>

=0)

{

请输入性别(w/m):

%c"

st[i].sex);

printf("

请输入年龄:

scanf("

%d"

st[i].year);

请输入身份证号:

st[i].num);

请输入简历:

st[i].jian);

\n编号%d数据添加成功!

i+1);

输入姓名为负数结束输入!

);

}

elsebreak;

}while(st[i].num>

0);

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

数据更新成功!

system("

pause"

//按任意键继续

returni;

}

3.2输出模块设计

inti;

system("

//清屏

编号\t姓名\t性别\t年龄\t身份证号\t\t简介\n"

for(i=0;

i<

n;

i++)

{printf("

%d\t%s\t%c\t%d\t%-24s%s\n"

i+1,st[i].name,st[i].sex,st[i].year,st[i].num,st[i].jian);

}

3.3查找模块设计

charx[20];

\t\t*2.身份证号查找*\n"

输入你要查询的身份证号:

"

scanf("

x);

{

if(strcmp(st[i].num,x)==0)

姓名\t性别\t年龄\t身份证号\t\t简介\n"

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

st[i].name,st[i].sex,st[i].year,st[i].num,st[i].jian);

system("

return;

未找到!

charx[10];

\t\t*3.姓名查找*\n"

输入你要查询的姓名:

scanf("

for(i=0;

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

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

按键返回!

getchar();

/*按任意健*/

3.4

保存及读取模块设计

FILE*fp;

if((fp=fopen("

ren.txt"

"

w"

))==NULL)

保存文件失败!

return;

}

fwrite(st,sizeof(stu),n,fp);

保存成功!

fclose(fp);

intduqu(stust[])

r"

文件不存在!

打开失败!

return0;

!

feof(fp);

fread(&

st[i],sizeof(stu),1,fp);

读取成功!

returni-1;

第四章测试分析

4.1测试程序执行情况

第五章用户手册(可选)

5.1使用说明

运行程序会显示菜单根据菜单输入编号实现相应功能;

1.更新人员信息

2.身份证号查找

3.姓名查找

4.修改信息

5.插入信息

6.删除信息

7.输出信息

8.保存文件

9.读取文件

0.退出

5.2运行说明

只有退出程序时。

保存文件。

下次运行按读取。

才能读取成功!

更新人员信息会覆盖到当前的人员信息。

需要注意。

第六章课程设计总结

全部模块化设计。

未定义全局变量做干扰。

采用结构体。

不足之处,身份证长度未做限定,有些不足。

需要改善的有数据存储方式。

改成链式存可能会更佳。

还可以进一步优化程序使其实现分级菜单。

实现真正意义上的新建文件,读取文件。

所遇到的问题是如何给每个数据的储存文件取不同名字。

如何把每个文件名读取进来。

通这次的课程设计,我们对C语言这门课程有了深一步的理解。

它是计算机程序设计的重要理论技术基础,在我们计算机专业的学习中占据十分重要的地位,同时也使我们知道要学习这门课程,仅学习书本上的知识是不够的,还要有较高的实践能力。

因为我们学习知识就是为了实践,而只有实践多编写程序才能更好的理解与掌握书本上的东西。

通过本课题,进一步熟悉了C语言的基本东西。

我们还要学会分析题目的已知与未知,学会中合起来考虑问题,在逐步的展开思想,特别是碰到大问题时要细细的分解成为许多小的问题来解决。

同时我还学到了课外的知识,碰到难题是不要逃避,而是要迎难而上,反复的实验调试结果后,再错的基础上做修改。

谈到错是成功之母,说明我们在莫一件事上要多次吸取经验教训。

这次课程设计,让我对于以往上课不理解、不太清楚的问题,通过亲身实践弄懂了许多,同时因为程序是在老师及同学的帮主下完成的,当中有很多程序都是几个同学一起讨论出来的,让我体会到了集体的力量是无限的,当然更让我坚定了以后要好好掌握C语言这一门课程的决心!

附录:

程序代码

#include<

stdio.h>

stdlib.h>

string.h>

//字符串操作

#defineN30//人数

#defineM10//名字长度

}stu;

intmenu(void);

//用户菜单

intread(stust[]);

//添加人员信息

voidxieru(stust[],intn);

//写入信息到文件

//从文件读取信息

voidprint(stust[],intn);

//输出信息

voidshenfenzheng(stust[],intn);

//按身份证查找信息

voidxingming(stust[],intn);

//按姓名查找

voidxiugai(stust[],intn);

//修改信息

intcharu(stust[],intn);

//插入信息

voidshanchu(stust[],intn);

//删除信息

main()

inta,n;

sturen[N];

color0A"

//修改颜色

while

(1)

system("

//清屏

\t******************人员管理系统*******************\n"

\t**\n"

\t*1.更新人员信息2.身份证号查找3.姓名查找*\n"

\t*4.修改信息5.插入信息6.删除信息*\n"

\t*7.输出信息8.保存文件9.读取文件*\n"

\t*0.退出*\n"

\t*************************************************\n"

a=menu();

switch(a)

case1:

n=read(ren);

break;

case2:

shenfenzheng(ren,n);

case3:

xingming(ren,n);

case4:

xiugai(ren,n);

case5:

n=charu(ren,n);

case6:

shanchu(ren,n);

n--;

case7:

print(ren,n);

system("

case8:

xieru(ren,n);

case9:

n=duqu(ren);

case0:

system("

\n\n\n"

\t**************************************************\n"

\t*谢谢使用!

*\n"

exit(0);

//exit(code)当code为0时正常退出。

非0时出现某种错误后退

default:

输入错误!

请输入0-9的数字!

return0;

intmenu(void)//用户菜单

inta;

\n\t输入你的选择(0-9):

[]\b\b"

a);

returna;

}

intduqu(stust[])

fread(&

inti=-1;

else

输入你

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

当前位置:首页 > 经管营销 > 经济市场

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

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