c语言实习报告_c语言程序实习报告
c语言实习报告由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“c语言程序实习报告”。
西安科技大学
《C/C++语言程序设计》
课程设计报告
题 目
院、系(部)
专业及班级 姓 名 日 期
1设计目的设计一个职工信息管理系统,使之能提供以下功能: 1)录入职工信息并保存 2)显示所有职工信息 3)查询职工信息 4)修改职工信息并保存 5)删除职工信息 需求说明: 职工信息包括职工号、姓名、性别、出生年月、学历、职务、工资、住址、电话等,并且要求职工号不重复;
录入的职工信息要求用文件形式保存,并可以对其进行浏览、查询、修改、删除等基本操作; 职工信息的显式要求有一定的规范格式;
对职工信息应能够分别按工资及按学历两种方式进行,要求能返回所有符合条件的职工的信息; 对职工信息的修改应逐个地进行,一个职工信息的更改不应影响其他的职工记录;
所设计的系统应以菜单方式工作,应为用户提供清晰的使用提示,依据用户的选择来进行各种处理,并要求在此过程中能够尽可能的兼容用户使用过程中的异常情况。总体设计
1.该系统可以按功能进行模块划分,其模块图如下:
系统模块图
其中:
信息输入模块完成职工信息的输入功能,输入信息包括职工号、姓名、性别、出生年月、学历、职务、工资、住址、电话等;
信息浏览模块完成已录入职工信息的显示;
信息查询模块完成职工信息的查询,查询时对应有按工资查询和按学历查询两种方式; 信息修改模块完成职工信息的修改功能; 信息删除模块完成职工信息的删除功能;
菜单选择模块完成用户命令的接收,此模块也是职工信息管理系统的入口,用户所要进行的各种
操作均需在此模块中进行选择并进而调用其他模块实现相应的功能;
2.数据结构
本系统中主要的数据结构就是职工的信息,包含职工号、姓名、性别、出生年月、学历、职务、工资、住址、电话等,在处理过程中各项可以作为一个职工的不同属性来进行处理
3.程序流程
系统的执行应从功能菜单的选择开始,依据用户的选择来进行后续的处理,直到用户选择退出系统为止,其间应对用户的选择做出判断及异常处理。系统的流程图如下:
程序流程图详细设计
对应于总体设计时的系统功能模块图,各个功能模块的处理逻辑如下: ① 信息输入模块:
打开职工信息文件; while(继续输入){ 读入职工信息;
将读入信息添加到职工信息文件中;
提示是否继续输入; } 关闭职工信息文件;
② 信息浏览模块:
打开职工信息文件; while(不到文件结束){ 从文件中顺序读出一个职工的信息;
按指定格式输出该职工的信息; } 关闭职工信息文件;
③ 信息查询模块:
while(仍继续查询){ if(按工资查询){ 读入查询的职工工资条件;
打开职工信息文件;
while(不到文件结束){ 顺序读出一个职工的信息;
if(该职工信息的工资符合条件)输出该职工的信息; } 关闭职工信息文件;
提示共有几条符合条件的记录; } else if(按学历查询){ 读入学历查询的条件;
打开职工信息文件;
while(不到文件结束){
顺序读出一个职工的信息;
if(该职工信息的学历符合条件)输出该职工的信息;
} 关闭职工信息文件; 提示符合条件的记录数; }
else 提示输入不合适;
提示是否继续查询; }
④ 信息修改模块:
while(继续修改){
从给出信息文件中所有的记录情况; 提示并读入待修改的记录的职工的职工号; 打开职工信息文件;
查找并读出该职工的信息到一个中间变量中; 提示并读入要针对该职工的哪个属性进行修改; 根据用户的选择提示并读入所要修改属性的新值; 在该职工的中间变量中修改刚刚读入的属性值; 提示是否确定要进行修改;
如果用户确定则将中间变量重新写回到原职工信息文件中; 关闭职工信息文件; } ⑤ 信息删除模块:
while(继续删除){ 显示所有职工的信息;
提示并读入待删除的职工的职工号;
打开职工信息文件;
查找是否有符合条件的职工记录; if(有符合条件的记录){ 提示是否确认该删除操作; if(用户确认此操作){ 创建一个新的临时文件;
打开原信息文件;
while(原信息文件中记录未读完){ 读出原信息文件中的下一条记录;
if(此条记录不是待删除记录)写入临时文件中去; }
关闭原信息文件; 关闭临时文件; 读方式打开临时文件;
写方式重建与原信息文件同名的新信息文件; 将临时文件中的内容写入到新信息文件中去; 关闭新信息文件; 关闭临时文件; 删除临时文件; } } else 提示没有符合条件的记录存在; } ⑥ 菜单选择模块:
给出信息提示; 清屏;
绘制菜单(包含输入、显示、查询、修改、删除、退出); 提示菜单选择并读入到变量;
根据读入变量的值调用不同的模块函数;
数据结构:
性别: enum Sex{ male, female };学历 :enum Education{ high, junior, college, master, doctor};日期 :struct Date { int year;int month;int day;};职工信息:struct Info {
char num[5];/* 职工号 */ char name[8];/* 姓名 */ enum Sex sex;/* 性别 */ struct Date birthday;/* 出生年月*/ enum Education education;/* 学历 */ char duty[8];/* 职务 */ double wage;/* 工资 */ char addr[12];/* 地址 */
char phone[8];/* 电话 */ };