ImageVerifierCode 换一换
格式:DOCX , 页数:27 ,大小:21.07KB ,
资源ID:9482060      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9482060.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言课程设计报告模板.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言课程设计报告模板.docx

1、C语言课程设计报告模板中国地质大学(武汉)课程设计报告题目c 语言程序设计姓名学号专业统计学所在院系经济管理学院指导老师江俊君日期2016/6/11目 录 21课程论文题目 32程序设计思路 43功能模块图 54数据结构设计 65算法设计 76程序代码 107程序运行结果 168编程中遇到的困难及解决方法 199总结心得及良好建议 2010致谢 201课程论文题目职工信息管理系统内容: 要求职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等 (职工号不重复 )。 功能 :实现简单的职工工资信息管理,职工工资的基本信息包括编号、姓名、基本工资、奖金、工资总额等1. 系统以菜单方式工作

2、。2. 职工信息录入功能(职工信息用文件保存) 。3. 职工信息浏览功能 。4.职工信息查询功能。查询方式。( 1)按学历查询。( 2)按工号查询。2程序设计思路( 1)需求分析系统要以菜单方式工作,因而根据题目要求,提供键盘式选择菜单实现功能选择,职工信息采用文件保存,所以应提供文件的输入、输出等操作;在程序中需要浏览职工的信息,应提供显示、查找、等操作;要实现职工信息的查询,则要提供查找功能(包括按学历查询和按工号查询两种查询方式) ;要实现职工信息的删除、修改,则要提供文件记录的删除 、修改功能。(2)总体设计根据上面的需求分析 ,可以将这个系统设计分为以下模块:职工信息输入模块、职工信

3、息浏览模块、职工信息查询模块、职工信息删除与修改模块(3)数据信息建立职工信息结构体,结构体成员包括工号、姓名、性别、年龄、学历、工资、住址和电话。Struct employeechar num20;char name8;char sex10;char age10;char xueli30;char wanges10;char tel15;char addr50;emN3功能模块图录入模块菜单 浏览模块10080 学历查询60东部40西部20 查询模块北部0第一季度 第三季度工号查询4. 数据结构设计建立职工信息结构体,结构体成员包括工号、姓名、性别、年龄、学历、工资、住址和电话。Struct

4、 employeechar num20;/工号char name30;/姓名char sex10;/性别char age10;/年龄char xueli30;/学历char wanges10;/ 工资char tel15;/电话char addr50;住址emN5算法设计1. 输入模块:输入职工的工号、姓名以及其它的一些职工的相关信息,通过自己定义的 void append() 函数来实现。2. 浏览模块:浏览所有职工的相关信息,通过自己定义的void display()函数来实现。3. 按职工号查询模块:可以按职工号来查询职工的相关信息,通过自己定义的 voidsearch_num() 函数

5、来实现。 8. 按职工的的学历查询模块:可以按职工的学历来查询职工的相关信息,通过自己定义的 void search_xuelil 函数来实现。4. 退出模块: 退出职工信息管理系统, 通过头文件 windows.h 中的 exit ( 0)函数来实现。1. 录入模块void append()int i,n;FILE*fp;fp=fopen(employee_list,wb);/ 俩一起定义 fpprintf( 请输入职工个数 n);scanf(%d,&n);for (i=0;in;i+)printf(请输入职工号:);scanf(%d,&emi.num);printf( 请输入姓名 : );

6、scanf(%s,emi.name);getchar();printf(请输入性别 (f-女 m-男 ): );scanf(%s,&emi.sex);printf(请输入年龄 :);scanf(%s,&emi.age);printf(请输入学历 :);scanf(%s,emi.xueli);printf(请输入工资 :);scanf(%s,&emi.wanges);printf(请输入住址 :);scanf(%s,emi.addr);printf(请输入电话 :);scanf(%s,emi.tel);printf(n);save(n);2. 浏览模块void display()int i;in

7、t m=load();printf( 职工号 printf( 学历 ttt姓名 tt 工资 tt性别 tt 住址 tt年龄 n);电话 n);for(i=0;im;i+)printf(%dt,emi.num);printf(%st,emi.name);printf(%st,emi.sex);printf(%st,emi.age);printf(%st,emi.xueli);printf(%st,emi.wanges);printf(%st,emi.addr);printf(%st,emi.tel);printf(n);2. 查询模块void search()int a;printf(n 按职工

8、号查询请按 1n 按学历查询请按 2n 返回主菜单请按 3n);scanf(%d,&a);switch(a)case 1:printf(case 2:printf(按职工号查询 n);search_num();break;按学历查询 n);search_xueli();break;case 3:main();break;default: printf(您输入有误,请重新选择!n); break;(1) 按工号查询void search_num()int num,i,t; int m=load(); /printf( 请输入要查找的职工号使 m=文件输入的个数:n);scanf(%d,&num)

9、;for(i=0;im;i+)if(num=emi.num)printf(n 已找到此人,其记录为: n);printf( 职工号 t 姓名 tt 性别 tt 年龄 n);printf( 学历 tt 工资 tt 住址 tt 电话 n);printf(%dt,emi.num);printf(%st,emi.name);printf(%st,emi.sex);printf(%st,emi.age);printf(%st,emi.xueli);printf(%st,emi.wanges);printf(%st,emi.addr);printf(%st,emi.tel);printf(n);break

10、;if(i=m) / 因为 i=0 , i=m 就超了printf(n 对不起,查无此人 n);printf(n);printf( 返回查询函数请按 1, 继续查询职工号请按 2n); scanf(%d,&t);switch(t)case 1:search();break;case 2:search_num(); break;default:break;(2) 按学历查找void search_xueli()char xueli30;int i,t; int m=load();printf( 请输入要查找的学历 :n);scanf(%s,xueli);for(i=0;im;i+)if(strc

11、mp(emi.xueli,xueli)=0)printf(nprintf(已找到,其记录为:职工号 t 姓名 ttn);性别 tt年龄 n);printf( 学历 tt 工资 tt 住址 tt 电话 n);printf(%dt,emi.num);printf(%st,emi.name);printf(%st,emi.sex);printf(%st,emi.age);printf(%st,emi.xueli);printf(%st,emi.wanges);printf(%st,emi.addr);printf(%st,emi.tel);printf(n);if(i=m)printf(n 对不起,

12、查无此人 n);printf(n);printf( 返回查询函数请按 1, 继续查询学历请按 2n);scanf(%d,&t);switch(t)case 1:search();break;case 2:search_xueli();break;default :break;6程序代码#include #include / 包括 exit ( 0),无需定义#include #include #define N 100/ 可以随便改人数void append(); / 录入void display(); / 浏览void search(); / 查询void search_num(); / 工

13、号void search_xueli();/ 学历void save(int); / 声明一个形参struct employee/ 定义结构体数组 全局变量在char name30;/ 省事char sex10;的中不行char age10;char xueli30;char wanges10;char tel15;char addr50;emN;void main()int n;n=1;while(n)/ 用一个循环使之能够返回printf(* 职工信息管理系统 *n);printf(1. 录入职工信息 n);printf(2. 浏览职工信息 n);printf(3. 查询职工信息 n);p

14、rintf(4. 退出 n);printf( 请按功能序号: n);scanf(%d,&n);switch(n)case 1:append();break;case 2:display();break;case 3:search();break;case 4:exit(0);n=0;break ;default:printf( 输入错误指令 n);printf(n按任意键继续n);getch();void append()int i,n;FILE*fp;fp=fopen(employee_list,wb);/俩一起定义fpprintf(请输入职工个数n);scanf(%d,&n);for (i

15、=0;in;i+)printf(请输入职工号:);scanf(%d,&emi.num);printf(请输入姓名 :);scanf(%s,emi.name);getchar();printf(请输入性别 (f-女 m-男 ): );scanf(%s,&emi.sex);printf(请输入年龄 :);scanf(%s,&emi.age);printf(请输入学历 :);scanf(%s,emi.xueli);printf(请输入工资 :);scanf(%s,&emi.wanges);printf(请输入住址 :);scanf(%s,emi.addr);printf(请输入电话 :);scanf

16、(%s,emi.tel);printf(n);save(n);void save(int n)/save 函数 save 了多少个FILE*fp;int i;if(fp=fopen(employee_list,wb)=NULL) / 能否以写的形式打开, wb2 进制printf (cannot open filen);exit(0);for(i=0;in;i+)if(fwrite(&emi,sizeof(struct employee),1,fp)!=1)/printf(file write errorn);fclose(fp);int load()/ 数出录入的个数FILE*fp;int

17、i;if(fp=fopen(employee_list,rb)=NULL)printf (cannot open filen);exit(0);for(i=0;!feof(fp);i+)/feof fread(&emi,sizeof(struct检查文件是否结束,结束时返回非零值employee),1,fp);/ 以二进制向文件读写数据,地址,字节,读多少个数据,文件指针fclose(fp);return(i);void display()int i;int m=load();printf( 职工号 printf( 学历 ttt姓名 tt 工资 tt性别 tt 住址 tt年龄 n);电话 n)

18、;for(i=0;im;i+)printf(%dt,emi.num);printf(%st,emi.name);printf(%st,emi.sex);printf(%st,emi.age);printf(%st,emi.xueli);printf(%st,emi.wanges);printf(%st,emi.addr);printf(%st,emi.tel);printf(n);void search()int a;printf(n 按职工号查询请按 1n 按学历查询请按 2n 返回主菜单请按scanf(%d,&a);switch(a)case 1:printf( 按职工号查询 n);sea

19、rch_num();break;case 2:printf( 按学历查询 n);search_xueli();break;case 3:main();break;default: printf( 您输入有误,请重新选择 !n); break;3n);void search_num()int num,i,t; int m=load(); /printf( 请输入要查找的职工号使 m=文件输入的个数:n);scanf(%d,&num);for(i=0;im;i+)if(num=emi.num)printf(n 已找到此人,其记录为: n);printf( 职工号 t 姓名 tt 性别 tt 年龄

20、n);printf( 学历 tt 工资 tt 住址 tt 电话 n);printf(%dt,emi.num);printf(%st,emi.name);printf(%st,emi.sex);printf(%st,emi.age);printf(%st,emi.xueli);printf(%st,emi.wanges);printf(%st,emi.addr);printf(%st,emi.tel);printf(n);break;if(i=m) / 因为 i=0 , i=m 就超了printf(n 对不起,查无此人 n);printf(n);printf( 返回查询函数请按 1, 继续查询职

21、工号请按 2n); scanf(%d,&t);switch(t)case 1:search();break;case 2:search_num(); break;default:break;void search_xueli()char xueli30;int i,t; int m=load();printf( 请输入要查找的学历 :n);scanf(%s,xueli);for(i=0;im;i+)if(strcmp(emi.xueli,xueli)=0)printf(n已找到,其记录为:n);printf(职工号 t姓名 tt性别 tt年龄 n);printf(学历 tt工资 tt住址 tt

22、电话 n);printf(%dt,emi.num);printf(%st,emi.name);printf(%st,emi.sex);printf(%st,emi.age);printf(%st,emi.xueli);printf(%st,emi.wanges);printf(%st,emi.addr);printf(%st,emi.tel);printf(n);if(i=m)printf(n 对不起,查无此人 n);printf(n);printf( 返回查询函数请按 1, 继续查询学历请按 2n);scanf(%d,&t);switch(t)case 1:search();break;ca

23、se 2:search_xueli();break;default :break;7程序运行结果1.运行程序菜单模块初始化,如图1. 按 1 进入职工信息录入模块, 输入职工信息工号 007,姓名007,性别 M ,年龄 30,学历 zhongguodizhidaxue ,工资 9999,住址 beiqu21d 电话 888888 如图2. 在输入完 N 个数据后,按 2 进入职工信息浏览模块,看到信息3. 按 3 进入职工查询模块,如图按 1 进入按职工号查询模块,输入 007 查询,如图按 2 进入学历查询模块,输入 zhongguodizhidaxue ,如图按 1 返回查询函数,按 4

24、 退出,如图8编程中遇到的困难及解决方法这一次老师让我们从第 8 题和第 21 题中选,瞄了两眼,决定选职工信息管理第 8 题,没想到这么难弄,足足用了两周时间才搞定。上机好几次之后,遇到一些小问题需要解决而我又不太熟悉的就去查书、上网或者问同学。其中以查书居多。比如对于结构体和全局、局部变量,总是会出现数据没用的现象,问同学后发现把结构体放在主函数前作全局变量,就没事了。还有在数组的比较就是 strcmp(a,b) 中发自现只有两个a、 b 一样类型时才有用。其中有一些特别简单的问题,比如函数中没有返回值,类型就只能是空( void )的等。最重要的是对文件这个类型的认识。因为对其极其不熟悉, 所以可以说我是自己自学了一遍对于文件的读写,写文件时几乎从书上照搬了过来,并且常出错,如 fwrite()写进文件中括号里各项的输入,最后在上网查阅后得以找到解决方法。不过最终完成了这次编程。9总结心得及建议上机实习需要有一定的 C 语言基础,其是学习程序设计语言必不可少的实践环节,某些东西必须通过上机才能发现,比如对知识点的掌握程度,一个不小心就会出现一串令人崩溃的 error。等课堂上许多关于 C 语言的语法规则, 听起来十分枯燥无味, 也不容易记住,死记硬背是不可取的。然而要使用 C 语言这个工具解决实际问题,又必须掌握它。通过多次上

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

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