文档库 最新最全的文档下载
当前位置:文档库 › 职工信息管理系统设计 高质量C语言程序

职工信息管理系统设计 高质量C语言程序

职工信息管理系统设计     高质量C语言程序
职工信息管理系统设计     高质量C语言程序

设计题目:职工信息管理系统设计

级别: A

2012年 9 月 5 日

论文摘要:

文本主要通过C语言程序设计一个职工信息管理系统用以录入,浏览,查询,删除,修改职工的职工号、姓名、性别、年龄、学历、工资、住址、电话、等信息。 并且能利用文件系统长久地保留原始数据,本程序由于有较大难度,因此我与曾懋睿同学合作完成。我完成的部分是职工信息的录入,浏览,删除,修改,

目录

1.设计目的与要求 (2)

1.1设计目的 (2)

1.2设计要求 (2)

2.总体设计 (3)

3.详细设计 (4)

3.1数据定义 (4)

3.2算法流程 (4)

4.编码 (5)

4.1总体框架 (5)

4.2模块设计 (5)

5.调试 (6)

6.总结 (8)

7.答辩记录 (9)

8.教师意见 (10)

9.参考文献 (10)

正文

1.设计目的与要求

1.1设计目的

职工信息管理系统是一个工作单位不可缺少的管理工具 它管理的数据对于公司的决策者和管理者来说都至关重要 所以职工信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。对单位的职工进行管理 包括插入、删除、查找、排序等功能。

1.2设计要求

职工对象包括职工号、姓名、性别、年龄、出生年月、学历、工资、住址、电话等信息。

1 新增一名职工 将新增职工对象储存在职工管理文件中。

2 删除一名职工 从职工管理文件中删除一名职工对象。

3 查询 从职工管理文件中查询符合某些条件的职工。

4 修改 检索某个职工对象 对其某些属性进行修改。

5 浏览 浏览全部职工信息。

其中我做的是录入,浏览,删除,修改,部分。

2总体设计

本程序包含三大模块:输入模块、查询模块、储存模块。

输入模块:包括DOS界面下的菜单,信息录入、修改和显示。

查询模块:包括DOS界面下的信息显示和按条件查询功能。

储存模块:包括程序开始从staff.txt文件中读入数据存入链表,以及程序结束时将修改后的信息存入staff.txt文档。

3详细设计

3.1数据定义

根据详细设计的要求,我定义了如下几种操作系统的调用

(1)录入职工信息void record();

(2)浏览职工信息void displayAll();

(3)删除职工信息void del();

(4)修改职工信息void change();

另有查询与信息的读写部分由我的搭档曾懋睿同学来完成。

最后我们把程序综合到一起。

3.2算法流程:

对于我的部分有如下流程

开始 1 录入职工信息 显示主菜单 2浏览信息 0结束 4删除信息 5修改信息

运行程序后输入选项1录入职工的信息通过record()函数录入,在由链表insert()函数进行临时插入信息数据,然后分别根据主菜单进行选项2信息浏览由displayAll()函数执行,选项4删除信息由del()函数执行,选项5修改信息由change()执行。录入与浏览部分可直接由程序执行出来,而删除部分在主菜单中选择4后弹出“请输入您要删除的职工工号”,如果输入的职工号存在于数据库中,将删除该职工信息,并返回主菜单,如果没用该职工的工号,将弹出“请核对”信息并返回主菜单。修改部分也是通过职工号来修改职工的信息如果该职工号不存在,也将返回主菜单。

4.编码

4.1总体框架

0,退出职工管理系统;

1,提示依次输入职工信息,录入完毕自动返回主界面;

2,浏览职工信息,依次输出职工的信息。

3,查询职工信息,提示查询方式1按工资,2按学历,0取消,返回主菜单;

4,删除职工信息,提示输入删除的职工号,输入正确则删除该职工信息,并返回主菜单,如不存在该工号,则提示核对,并返回主菜单。

5,修改职工信息,提示输入职工号,输入正确则进入修改信息内容1姓名,2年龄,3性别,4出生年月,5地址,6工资,7学历,8电话,0取消。

4.2模块设计

void record() //录入职工信息

void insert(struct staff *stu)//临时插入信息数据void display(struct staff *p)//输出信息

void displayAll() //浏览职工信息

void query() //职工信息查询菜单

void query_by_wage() //按工资查询职工信息

void query_by_diploma() //按学历查询职工信息void writeData() //写入文件

void readData() //读取文件

void freeAll() //释放整段链表

void del() //删除职工信息

void change() //修改职工信息

5调试

对录入,浏览,删除,修改部分有以下调试;

录入

浏览

删除

修改

6总结

本次课程设计的主题是职工信息管理系统,这个程序相对于我以前见过的程序,它要大得多,运行的结果也没有预期的那么好,数据的输出格式不太规范,而且各模块也出现了一些小问题。在老师和同学的帮助下,我很有耐心的一次又一次的进行修改,最后运行的结果基本达到了预期的目的。

当然这次课我也学到很多。

当我面对一个实际问题,应该迅速根据问题性质和特点抽象成特定的数据结构,当然每个问题都有可能能够抽象成多种数据结构,每种数据结构适应于不同的算法。因此应该综合考虑这样的数据结构、算法以及它们的空间和时间效率,然后从中选择最合适的一种作为实现程序的基础。

本次课程设计中遇到了很多以前没有遇到过的问题,也曾想过要放弃,但看到同学们都那么认真,这也给了我继续完成的信心。在同学和老师的帮助下,我顺利的结束了本次课程设计,让我知道原来凭借自己努力取得的成功会让自己这么欣慰,也让我知道了团结的重要性。

经过这么多天的课程设计使我认识到,c语言的学习要注重实践与理论知识相结合的方法,C语言是一门注重逻辑思维的课程,学好c语言不仅可以提高我们对课程钻研的积极性,而且可以提高我们的综合能力,为我们将来走上工作岗位起了不小的铺垫作用。

7.答辩记录

8.教师意见

参考文献:

1.C程序设计(第四版)谭浩强著;清华大学出版社

C语言程序设计第四版第六章答案_谭浩强

1、用筛选法求100之内的素数。解: #include #include int main() {int i,j,n,a[101]; for (i=1;i<=100;i++) a[i]=i; a[1]=0; for (i=2;i int main() {int i,j,min,temp,a[11]; printf("enter data:\n"); for (i=1;i<=10;i++)

{printf("a[%d]=",i); scanf("%d",&a[i]); } printf("\n"); printf("The orginal numbers:\n"); for (i=1;i<=10;i++) printf("%5d",a[i]); printf("\n"); for (i=1;i<=9;i++) {min=i; for (j=i+1;j<=10;j++) if (a[min]>a[j]) min=j; temp=a[i]; a[i]=a[min]; a[min]=temp; } printf("\nThe sorted numbers:\n"); for (i=1;i<=10;i++) printf("%5d",a[i]); printf("\n"); return 0; } 3、求一个3×3的整型矩阵对角线元素之和。解: #include int main() { int a[3][3],sum=0; int i,j; printf("enter data:\n"); for (i=0;i<3;i++) for (j=0;j<3;j++) scanf("%3d",&a[i][j]); for (i=0;i<3;i++) sum=sum+a[i][i]; printf("sum=%6d\n",sum);

C语言程序设计(谭浩强)第四版-课后答案

第一章程序设计和C语言【第15页】 1-5 #include int main ( ) { printf ("**************************\n\n"); printf(" Very Good!\n\n"); printf ("**************************\n"); return 0; } 1-6 #include int main() {int a,b,c,max; printf("please input a,b,c:\n"); scanf("%d,%d,%d",&a,&b,&c); max=a; if (max #include int main() {float p,r,n; r=0.1; n=10; p=pow(1+r,n); printf("p=%f\n",p); return 0; }

3-2-1 #include #include int main() {float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5; p=1000; r5=0.0585; r3=0.054; r2=0.0468; r1=0.0414; r0=0.0072; p1=p*((1+r5)*5); // 一次存5年期 p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后将本息再存3年期 p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后将本息再存2年期 p4=p*pow(1+r1,5); // 存1年期,到期后将本息存再存1年期,连续存5次 p5=p*pow(1+r0/4,4*5); // 存活期存款。活期利息每一季度结算一次 printf("p1=%f\n",p1); // 输出按第1方案得到的本息和 printf("p2=%f\n",p2); // 输出按第2方案得到的本息和 printf("p3=%f\n",p3); // 输出按第3方案得到的本息和 printf("p4=%f\n",p4); // 输出按第4方案得到的本息和 printf("p5=%f\n",p5); // 输出按第5方案得到的本息和 return 0; } 3-2-2 #include #include int main() {double r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5; p=1000; r5=0.0585; r3=0.054; r2=0.0468; r1=0.0414; r0=0.0072; p1=p*((1+r5)*5); // 一次存5年期 p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后将本息再存3年期 p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后将本息再存2年期 p4=p*pow(1+r1,5); // 存1年期,到期后将本息存再存1年期,连续存5次

C语言程序设计(何钦铭)课后习题作业

第一章习题 1、对C语言来说,下列标示符中哪些是合法的,哪些是不合法的 Total, _debug, Large&Tall, Counter1, begin_ 答:合法的:_debug、Counter1、begin_。 不合法的:Total、Large&Tall。 2、改写节中的流程图,求1—100中能被6整除的所有整数的和。 3、改写节中的程序,求1—100中能被6整除的所有整数的和,并在编程环境中验证该程序

的运行结果。 答:程序为: #include<> int main(void) { int i,sum=0; for(i=1;i<=100;i++) if(i%6==0)sum=sum+i; printf("sum=%d\n",sum); return 0; } 4、对于给定的整数n(n>1),请设计一个流程图判别n是否为一个素数(只能被1和自己整除的整数),并分析该流程图中哪些是顺序结构、哪些是分支结构和循环结构。

第二章作业 1.编写程序,输入两个整数num和num2,计算并输出她们的和、差、积、商。 答:程序: #include<> void main() { int num1,num2,y1,y2,y3,y5; double y4; printf("请输入两个数:num1,num2\n"); scanf("%d%d",&num1,&num2); y1=num1+num2; y2=num1-num2; y3=num1*num2; y4=num1*num2; y5=num1%num2; printf("num1,num2和y1=%d\nnum1,num2差y2=%d\nnum1,num2积y3=%d\nnum1,num2商y4=%lf\nnum1,num2余y5=%d\n",y1,y2,y3,y4,y5); } 2.为了倡导居民节约用电,某省电力公司执行“阶梯电价”,安装一户一表的居民用户电价分为两个“阶梯”:月用电量50千瓦时以内的,电价为元/千瓦时;超出50千瓦时的用电量,电价上调元/千瓦时。编写程序,输入用户的月用电量(千瓦时),计算并输出该用户应支付的电费(元)。 答:程序: #include<> void main()

《C语言程序设计》课后习题答案(第四版)谭浩强

第1章程序设计和C语言1 1.1什么是计算机程序1 1.2什么是计算机语言1 1.3C语言的发展及其特点3 1.4最简单的C语言程序5 1.4.1最简单的C语言程序举例6 1.4.2C语言程序的结构10 1.5运行C程序的步骤与方法12 1.6程序设计的任务14 1-5 #include int main ( ) { printf ("**************************\n\n"); printf(" Very Good!\n\n"); printf ("**************************\n"); return 0; } 1-6#include int main() {int a,b,c,max; printf("please input a,b,c:\n"); scanf("%d,%d,%d",&a,&b,&c); max=a; if (max

2.5结构化程序设计方法34 习题36 第章最简单的C程序设计——顺序程序设计37 3.1顺序程序设计举例37 3.2数据的表现形式及其运算39 3.2.1常量和变量39 3.2.2数据类型42 3.2.3整型数据44 3.2.4字符型数据47 3.2.5浮点型数据49 3.2.6怎样确定常量的类型51 3.2.7运算符和表达式52 3.3C语句57 3.3.1C语句的作用和分类57 3.3.2最基本的语句——赋值语句59 3.4数据的输入输出65 3.4.1输入输出举例65 3.4.2有关数据输入输出的概念67 3.4.3用printf函数输出数据68 3.4.4用scanf函数输入数据75 3.4.5字符数据的输入输出78 习题82 3-1 #include #include int main() {float p,r,n; r=0.1; n=10; p=pow(1+r,n); printf("p=%f\n",p); return 0; } 3-2-1 #include #include int main() {float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5; p=1000;

员工工资管理系统c语言编程

员工工资管理系统c语言 编程 The latest revision on November 22, 2020

#include<> #include<> #include<> #include<> #define null 0 typedef struct Info1 { char num[10]; char name[10]; char depar[10]; char yfsalary[10]; char aband[10]; char tax[10]; char sfsalary[10]; struct Info1 *next; }Info2; typedef struct Info1 *Info; Info head; void display(); void find(); void modify(); void add(); void del(); void list(); void listOne(Info s); Info isExists(char *num); void init(); void init() { head=(Info)malloc(sizeof(Info2)); head->next=null; } void main() { init(); while(1) { char c;

display(); scanf("%c",&c); switch(c) { case '1':find();break; case '2':add();break; case '3':modify();break; case '4':del();break; case '5':list();break; case '6':printf("\t\t...退出系统!\n");return; default: printf("\t\t输入错误!请按任意键返回重新选择(1-7)\n");getchar(); } } } void display() { printf("\n\t** 欢迎使用员工信息管理系统 **\n\n"); printf("\t请选(1-7):\n"); printf("\t============================================\n"); printf("\t\t1.查询员工信息\n"); printf("\t\t2.录入员工信息\n"); printf("\t\t3.修改员工信息\n"); printf("\t\t4.删除员工信息\n"); printf("\t\t6.显示所有员工信息\n"); printf("\t\t7.退出系统\n"); printf("\t============================================\n"); printf("\t您的选择是: "); } void listOne(Info p) { printf("\n该员工信息记录如下: "); printf("\n===================================================== =====\n\n"); printf("%-12s%-10s%-10s%-7s%-7s%-10s%-10s%\n","员工编号","姓名","部门","应付工资","保险","税金","实付工资"); printf("%-12s%-10s%-10s%-7s%-7s%-10s%-10s%\n",p->num,p->name,p->depar,p->yfsalary,p->aband,p->tax,p->sfsalary); } Info isExists(char *num)

汇编语言程序设计教学大纲

《汇编语言程序设计》课程教学大纲 二、课程简介 汇编语言是计算机能够提供给用户使用的最快最有效的语言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言,因而,对程序的空间和时间要求很高的场合及需要直接控制硬件的应用场合,汇编语言的应用是必不可少三、课程目标 汇编语言课程是计算机专业的一门专业选修课。通过本课程的学习,应使学 生系统地了解计算机组成原理与内部的运行机理,掌握汇编语言程序设计及相关 知识,为学习本专业后继课程和进行与硬件有关的技术工作打下良好基础。通过 上机实验,使学生受到软硬件实验的初步训练,并培养学生分析问题和解决问题 的能力。 四、教学内容及要求 第一章基础知识 1.教学内容 (1) 为什么要用汇编语言编写程序 (2) 进位计数制与不同基数的数之间的转换 (3) 二进制数和十六进制数运算 (4) 计算机中数和字符的表示 (5) 几种基本的逻辑运算 2.基本要求 了解机器指令、代码指令、机器语言、汇编指令、汇编语言、汇编语言源程 序、汇编程序、汇编等概念;掌握进位计数制与不同基数的数之间的转换及

运算;计算机中数和字符的表示;“与”、“或”、“非”、“异或”等几种基本的逻辑运算; 第二章80X86计算机组织 1.教学内容 计算机系统概述、存储器、中央处理机和外部设备。 2.基本要求 理解计算机的硬件和软件系统及其关系。掌握计算机的基本结构及总线;存储器的内容、地址及存储器的分段;中央处理机的组成、80X86系列CPU工作寄存器构成和功能,特别是段寄存器和标志寄存器;外设接口、端口和8086/8088的端口地址范围和访问方法。 第三章80X86的指令系统 1.教学内容(重点内容) IBM PC机的寻址方式、IBM PC机的指令系统。 2.基本要求 熟练掌握IBM PC机寻址方式及物理地址的计算;数据传送、算术、逻辑、串处理、控制转移和处理机控制指令六组中的所有指令的格式、操作、及影响的标志位。了解机器语言的指令组成; 第四章汇编语言程序格式 1.教学内容 汇编程序功能、伪操作、汇编语言程序格式、汇编语言程序的上机过程。 2.基本要求 掌握DEBUG程序和命令及能用DEBUG 程序调试和运行简单小程序;汇编语言上机步骤、汇编程序的功能;数据定义及存储器分配、表达式赋值“EQU”和“=”、段定义、程序开始和结束、对准、基数控制等六类伪操作;汇编语言程序格式中的名字、操作、操作数和注释等项。 第五章循环与分支程序设计 1.教学内容 程序设计的一般步骤和基本结构、循环程序设计和分支程序设计 2.基本要求 掌握汇编语言程序的编制步骤和结构化程序设计的三种基本结构;循环的设计方法和多层循环的设计;分支程序的设计方法,并能编制相应的程序。第六章子程序结构 1.教学内容 子程序的设计方法、嵌套与递归子程序、子程序举例和DOS系统功能调用

C语言程序设计第四版第七章答案-谭浩强

第七章函数 7.1写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果两个整数由键盘输入。 maxyueshu(m,n) int m,n; { int i=1,t; for(;i<=m&&i<=n;i++) {if(m%i==0&&n%i==0) t=i; } return(t); } minbeishu(m,n) int m,n; {int j; if(m>=n) j=m; else j=n; for(;!(j%m==0&&j%n==0);j++); return j; } main() {int a,b,max,min; printf("enter two number is: "); scanf("%d,%d",&a,&b); max=maxyueshu(a,b); min=minbeishu(a,b); printf("max=%d,min=%d\n",max,min); } 7.2求方程的根,用三个函数分别求当b2-4ac大于0、等于0、和小于0时的根,并输出结果。从主函数输入a、b、c的值。 #include"math.h" float yishigen(m,n,k) float m,n,k; {float x1,x2; x1=(-n+sqrt(k))/(2*m); x2=(-n-sqrt(k))/(2*m); printf("two shigen is x1=%.3f and x2=%.3f\n",x1,x2); } float denggen(m,n) float m,n; {float x; x=-n/(2*m); printf("denggen is x=%.3f\n",x); }

职工信息管理系统设计(C语言)

程序设计课程设计报告 职工信息管理系统设计专业 计算机科学与技术 (软件工程(NIIT)) 学生姓名 班级 学号 指导教师 完成日期2011年7月

目录 1课程设计目的 (1) 2课程设计内容 (1) 3设计流程图 (1) 4源程序清单 (2) 5小结 (21)

。 职工信息管理系统的设计 1课程设计目的 1.加深对《C语言程序设计》课程知识的理解,掌握C语言应用程序的开发方法和步骤; 2.进一步掌握和利用C语言进行程序设计的能力; 3.进一步理解和运用结构化程序设计的思想和方法; 4.初步掌握开发一个小型实用系统的基本方法; 5.学会跳是一个较长程序的基本方法; 6.学会利用流程图火N-S图表示算法; 7.掌握书写长须设计开发文档的能力(书写课程设计报告) 2 课程设计内容 设计职工信息管理系统,要求职工心想包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。设计一职工信息管理系统,使之能提供以下功能: (6)系统以菜单方式工作 (7)职工信息录入功能(职工信息用文件保存)--输入 (8)职工信息浏览功能--输出 (9)查询和排序功能(至少一种查询方式)--算法 (10)按工资查询 (11)按学历查询等 (12)职工信息删除、修改功能(任选项) 3设计流程图

. . .

。 (1)菜单函数 void menu() /*菜单函数*/ { printf(" ☆☆☆计算机科学与技术软件技术☆☆☆\n"); printf("\n"); printf(" ∮1010704422 杨婷婷∮\n"); printf("\n"); printf(" ******************职工信息管理****************\n"); printf(" 1.录入职工信息"); printf(" 2.浏览职工信息\n"); printf(" 3.查询职工信息"); printf(" 4.删除职工信息\n"); printf(" 5.添加职工信息"); printf(" 6.修改职工信息\n"); printf(" 7.退出\n"); printf(" ********************谢谢使用******************\n"); printf("\n"); printf("\n"); } (2)录入职工信息 void append() { if((fp=fopen("worker.xls","a"))==NULL) { printf("\n不能打开该文件!"); exit(); } printf("\n请输入添加职工信息(姓名、职工号、性别、年龄、学历、职位、工资、电话、地址)\n"); scanf("%s%s%s%s%s%s%s%s%s",https://www.wendangku.net/doc/401235929.html,,one.num,one.sex,one.age,one.record,one.positio n,one.wanges,one.tel,one.addr); fprintf(fp,"%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",https://www.wendangku.net/doc/401235929.html,,one.num,one.sex,o ne.age,one.record,one.position,one.wanges,one.tel,one.addr); fclose(fp); } (3)查询职工信息数据查找共分为职工号、姓名等方式查找 void search() { int l; printf("\t\t\t\t*姓名查找按:1*\n"); printf("\t\t\t\t*学历查找按:2*\n"); printf("\t\t\t\t*职工号查按:3*\n"); scanf("%d",&l); if(l>0&&l<4) {switch(l) {

大学生C语言程序设计(第四版 谭洪强)实验5答案

实验四参考答案(参考答案) (1) 设计程序sy5-1.c,从键盘上输入一个3行3列矩阵各个元素的值,输出其主对角线元素和反向对角线元素之和。 算法分析: 对角线上的元素,1维和2维下标相同,反对角线元素,如果行下标为i,列下标就为2-i; 参考答案: #include int main() { int a[3][3]={{1,2,3},{4,5,6},{7,8,9}}; int i,j,sum=0; for(i=0;i<3;i++) sum=sum+a[i][i]+a[i][2-i]; //a[i][i]当前行的主对角线元素 //a[i][2-i]当前行的反对角线元素printf("矩阵的正、反对角线元素之和为:%d\n",sum); return 0; } 运行结果: (2) 设计程序sy5-2.c,找出一个3×4的矩阵中的最小值及其位置。 算法分析: 首先把二维数组中的第一个数即a[0][0]看成最小值,然后逐行逐列的去遍历每个元素,逐一判断每一个元素是否比最小值还好小,如果是,就改写最小值,并记录他的下标。 参考答案: #include #include int main() { int a[3][4]={{10,21,41,5},{12,15,46,35},{40,21,26,30}}; int i,j,row,colum,min; printf("数组a:\n"); for(i=0;i<3;i++) { for(j=0;j<4;j++) printf("%5d",a[i][j]);

printf("\n"); } min=a[0][0];row=0;colum=0; //首先把第一个数a[0][0]看成最小数 for(i=0;i<3;i++) //双重循环逐一遍历每个元素a[i][j] for(j=0;j<4;j++) if(min>a[i][j]) //如果当前值a[i][j]比最小值还要小 {min=a[i][j];row=i;colum=j;} //用a[i][j]改写最小值,并记下他们的下标printf("矩阵中最小元素是:%d,行下标是:%d,列下标是%d\n",min,row,colum); return 0; } 运行结果: (3) 设计程序sy5-3.c,定义一个3×3的二维数组,通过随机函数自动赋值。然后输入一个整数n,使数组左下三角(含对角线元素)元素中的值乘以n 。例如:若n的值为3,a 数组中的值为 | 1 9 7 |则程序运行后a数组中的值应为| 3 9 7 | | 2 3 8 | | 6 9 8 | | 4 5 6 | | 12 15 18 | 算法分析: 主要理解到对角线即以下元素包含哪些元素,即他们的下标变化。对每一行i来说,对角线以下的元素,他们的列下标是0,1,2,---,i;所以用外循环i遍历行,内循环j(从0到i),逐一遍历每一个a[i][j],并给a[i][j]赋值为他的n倍。最后输出矩阵。 参考答案: #include #include int main() { int a[3][3]; int i,j,n; printf("原来a的值:"); for(i=0;i<3;i++) //生成数组元素,并按矩阵形式输出 { for(j=0;j<3;j++) {a[i][j]=rand()%20; //rand()参看教材385页 //rand()%20 产生一个20以内的整数

C语言程序设计职工信息管理系统

C语言课程设计

C语言课程设计任务书 一、题目:职工信息管理系统 二、目的和要求 目的:要求熟练掌握C语言的基本知识和编辑技能; 基本掌握结构化程序设计的基本思路和方法。 要求:设计一个职工信息管理系统,使之能提供以下功能: 1、应提供一个界面来调用各个功能,调用界面和各个功能的操作界面 应尽可能清晰美观! 2、输入功能:职工信息录入(职工信息用文件保存),可以一次完成 若干条记录的输入。 3、浏览功能:完成对全部职工信息的显示。 4、查找功能:①完成按职工的职工号查询职工的相关信息,并显示。 ②完成按职工的学历查询职工的相关信息,并显示。 ③完成按职工的电话号码查询职工的相关信息,并显 示。 5、删除功能:通过输入职工的姓名完成对该名职工的信息进行删除。 6、添加功能:完成添加新职工的信息的任务。 7、修改功能:通过输入职工的姓名完成对该名职工的信息进行修改。 8、退出职工信息管理系统。 三、信息描述 职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等。 四、解决方案 1、首先进行需求分析,搞清楚系统功能和任务; 2、然后在总体设计中确定模块结构、划分功能模块,将软件功能需求分配给所划分的最单元模块。确定模块间的联系,确定数据结构、文件结构、数据库模式,确定测试方法与策略; 3、在详细设计中,为每个模块确定采用的算法,选择适当的工具表达算法的过程(流程图)来描述模块的详细过程。确定每一模块采用的数据结构和模块接口的细节,包括对系统外部的接口和用户界面,对系统内部其他模块的接口; 4、根据分析编写C语言代码。

五、进度安排 课程设计时间为两周,分为五个阶段完成: 1、分析设计阶段。在老师的指导下自主学习和钻研问题,明确设计要求, 找出现实方法。按照需求分析、总体设计、详细设计几个步骤进行。这一 阶段前1-2天完成; 2、编码调试阶段。根据设计分析方案编写C语言代码,然后调试该代码, 实现课题要求的功能。这一阶段在3-7天完成; 3、总结报告阶段。总结设计工作,写出课程设计说明书,包括需求分析、 总体设计、详细设计、编码、测试的步骤和内容。这一阶段在8-9天完成; 4、考核阶段。 六、写课程设计总结 课程设计报告要求 总结报告包括需求分析、总体设计、详细设计、编码(详细写出编程步骤)、测试的步骤和内容、课程设计总结和参考资料等。 七、参考资料 《C程序设计》(第三版)谭浩强著清华大学出版社 《C程序设计题解与上机指导》(第三版)谭浩强编著清华大学出版社

《C语言程序设计》_谭浩强版教案

《C 语言程序设计》教案 职称: 助教 ____________ 单 位:湖南理工职业技术学院 学院(教研室):风能工程学院 工业机器人专业 授课教师: 周常欣

教 学 重 占 八、、 和 难 占 八、、 一、 程序设计和 C 语言 重点:计算机程序、计算机语言、 C 语言编译软件的安装、最简单的 C 语言程序 二、 算法:程序的灵魂 重点:简单的算法举例、算法的特性、用流程图表示算法。 三、 顺序结构程序设计 重点:C 语言的数据类型、C 语句的种类、赋值语句、数据的输入输出及输入输出 中最常用的 控制格式。 四、 选择结构程序设计 重点:关系运算符与逻辑运算符及其组成的具有逻辑值的表达式、 二条分支语句的格 式及基本应用、多分支的选择语句。 五、 循环结构程序设计 重点:C 构成循环的四种方法,尤其是后三种方法、 break 与continue 语句的基本作 用。 难点:while 语句;do-while 语句;for 语句;循环的嵌套; break 与continue 语句。 六、 数组 重点:一维数组、二维数组的定义与引用;字符数组的定义与引用、常用字符串处 理函数及字符处理函数;数组的应用 难点:二维数组的定义与引用;字符数组;数组的应用 七、 函数 重点:函数的定义;函数的参数和函数的值;函数的调用;函数的嵌套调用;函数的 递归调 用;数组作为函数参数;变量作用域;量存储类别; 难点:函数定义、函数调用、函数声明等基本基本概念;函数的嵌套调用与递归调 用;数组作 为函数的参数、变量的存储类别与作用域。 八、 指针 重点和难点:指针与地址的基本概念、指针与变量的关系;指针与数组;指针与字 符串、指针 数组与二级指针;指针的应用 九、 建立自己的数据类型 重点和难点:定义和使用结构体变量、用指针处理链表、共用体类型 十、文件 重点:文件的基本知识、 fopen 、fclose 函数打开与关闭文件、顺序读与数据文件、 随机读写数据文件 难点:用二进制方式向文件读写一组数据。 十一、常见错误分析 重点和难点:文件的基本概念;文件的打开、关闭、常用读写方法。 十二、数组高级应用 重点:不定长数组与二维数组的应用 难点:不定长数组与二维数组的应用 十三、综合应用 重点:数组、if 语句、循环语句、函数知识的综合应用 难点:二维数组、指针 教材、 参 考书 教材:《C 程序设计》(第四版) 谭浩强著 清华大学出版社2010年6月 参考书:《C 程序设计语言》 Kernighan&Ritchie 机械工业出版社 《C 语言程序设计》教案 第1-2课时

汇编语言程序设计课程教学大纲

课程教学大纲 (理论课) 课程名称:汇编语言程序设计 适用专业:计算机科学与技术 课程类别:学科基础课 制订时间: 2006年8月 数学与计算机科学学院制

汇编语言程序设计课程教学大纲 (2002年制订,2006年修订) 一、课程代码:0502121009 二、课程类别:学科基础课程 三、预修课程:计算机导论、高级语言程序设计等 四、学分: 4学分 五、学时: 86学时(其中实验部分32学时) 六、课程概述: 汇编语言是计算机能提供给用户最快也最有效的语言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言,因而在对于程序的空间和时间要求很高的场合,汇编语言是必不可少的,至于对于很多需要直接控制硬件的应用场合,则更是非用汇编语言不可。 汇编语言作为计算机专业的一门必修课程是了解计算机体系结构和操作系统的最佳切入点。通过汇编语言课程的学习,对计算机理论中包括CPU体系结构、指令调度方式、存储器管理、基本输入输出接口的理解都会有一个比较本质而且直观的认识。在对汇编语言实际运用的基础上同时还能帮助对高级语言程序设计的深入体会,包括变量的组织,地址的访问,循环与分支在机器码中的处理,调用函数时参数的传递等,所以汇编语言在本专业中是一门核心的课程,通过对本课程的学习是加深对后续课程认识的基础。 七、教学目的: 通过对本课程的学习,掌握8086微处理器的寄存器组和基本寻址方式,学生要达到对程序在计算机中的基本调度有一定认识,对二进制基础理论有深入的理解,同时熟练掌握8086汇编语言的编写方式,掌握基本的系统调用,具备良好的源程序调试能力以及最基本的、实模式下的反汇编能力。

《C语言程序设计》课后习题答案(第四版)谭浩强

第1章程序设计和C语言1 什么是计算机程序1 什么是计算机语言1 语言的发展及其特点3 最简单的C语言程序5 最简单的C语言程序举例6 语言程序的结构10 运行C程序的步骤与方法12 程序设计的任务14 1-5 #include <> int main ( ) { printf ("**************************\n\n"); printf(" Very Good!\n\n"); printf ("**************************\n"); return 0; } 1-6#include <> int main() {int a,b,c,max; printf("please input a,b,c:\n");

scanf("%d,%d,%d",&a,&b,&c); max=a; if (max

数据类型42 整型数据44 字符型数据47 浮点型数据49 怎样确定常量的类型51 运算符和表达式52 语句57 语句的作用和分类57 最基本的语句——赋值语句59 数据的输入输出65 输入输出举例65 有关数据输入输出的概念67 用printf函数输出数据68 用scanf函数输入数据75 字符数据的输入输出78 习题82 3-1 #include <> #include <> int main() {float p,r,n; r=; n=10; p=pow(1+r,n); printf("p=%f\n",p); return 0;

c语言程序设计职工管理系统

《C语言程序》课程设计报告 设计题目:职工管理系统 专业:信息工程 班级: 学生姓名: 学号: 指导教师: 2012年6月 信息工程学院

摘要 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。管理信息系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统。 对企业而言,人力资源是企业最宝贵的资源。随着当今企业人员数量的不断增加,对职工的管理要求也不断提高。实现职工管理现代化将带来高效的企业管理。 这个职工管理系统就是用c语言写的一个程序,它实现了职工管理的功能,包括数据录入,工资计算,查询统计修改数据的功能。该程序是用简单的,比较常见的函数组成的,通过for循环和goto函数调用来完成该程序。,本系统具有良好的用户界面,操作简单使用方便,信息查询统计速度快等特点,使工资管理人员从日常繁琐的手工操作中解脱出来。这一切旨在学历并练习c语言的开发实践,对于以后的开发与编程提供一个良好的基础 关键字:职工管理工资查询应用程序 数据修改程序设计和技巧新型科学

目录 摘要 ................................................. 错误!未定义书签。第一章绪论 ....................................... 错误!未定义书签。 选题背景 .................................................... 错误!未定义书签。 设计目的 .................................................... 错误!未定义书签。第二章系统分析................................ 错误!未定义书签。 功能需求 .................................................. 错误!未定义书签。 模块的划分与定义................................... 错误!未定义书签。第三章总体设计与详细设计 ............ 错误!未定义书签。 总体设计 .................................................. 错误!未定义书签。 详细设计 .................................................. 错误!未定义书签。第四章编码实现................................ 错误!未定义书签。第五章测试与调试.......................... 错误!未定义书签。第六章心得与体会.......................... 错误!未定义书签。附录 ..................................................... 错误!未定义书签。 源代码....................................................... 错误!未定义书签。 参考文献:.............................................. 错误!未定义书签。

c语言程序设计员工信息管理系统

c语言程序设计员工信息管理系统

实验题目:员工信息管理系统 一、实验目的 1.熟悉c语言的编译连接和运行过程。 2.掌握c语言的数据类型, 熟悉整型、实型、字符型变量的定义 方式及如何给它们赋值。 3.掌握if语句及switch语句的运用方法及嵌套应用方法。 4.掌握实现循环结构的三种语句while、do-while.、for 的使 用。 5.掌握函数的定义方法和调用方法。 6.能够采用模块化思想调试程序。 二.实验内容 1.编写程序并进行调试运行。 2.输入员工资料,并保存于文件。每个员工包含信息如: 工作证 号、姓名、性别、工龄、学历、职务、电话、工资等。3.对已存入的员工信息进行更新操作,包括添加一个员工信息、 删除某个员工信息和修改某个员工信息。 4.经过输入姓名、工作证号的方式查询员工信息。 5.最后输出员工信息, 供需要时打印。 二、需求分析 1.该程序可用于对企业员工情况基本信息的存储、更新、查

询、输出等操作,以实现对企业员工的管理。 2.其中更新功能包括: 添加信息、删除信息、修改信息、可根据 需要添加一个或多个员工信息,也可对个别员工信息进行适当的删除或修改。以便随时更新员工信息。 3.程序中设计的查询功能可根据需要从若干数据中查询某个员工 信息, 而且可根据两种不同的方法查询: 按工作证号查询和按姓名查询。以满足不同的需要。 四、概要设计 1、方案设计 对系统进行分析, 给出结构图 分析: 系统要求实现许多的功能, 因此遵循结构化程序设计思想来进行本系统的设计—自顶向下、逐步细化, 将系统设计任务分解出许多子功能模块进行设计 结构图如下:

c语言程序设计 员工信息管理系统.doc

实验题目:员工信息管理系统 一、实验目的 1.熟悉c语言的编译连接和运行过程。 2.掌握c语言的数据类型,熟悉整型、实型、字符型变量的定义方式及如何给 它们赋值。 3.掌握if语句及switch语句的运用方法及嵌套应用方法。 4.掌握实现循环结构的三种语句while、do-while.、for 的使用。 5.掌握函数的定义方法和调用方法。 6.能够采用模块化思想调试程序。 二.实验内容 1.编写程序并进行调试运行。 2.输入员工资料,并保存于文件。每个员工包含信息如:工作证号、姓名、性别、 工龄、学历、职务、电话、工资等。 3.对已存入的员工信息进行更新操作,包括添加一个员工信息、删除某个员工信 息和修改某个员工信息。 4.通过输入姓名、工作证号的方式查询员工信息。 5.最后输出员工信息,供需要时打印。 二、需求分析 1.该程序可用于对企业员工情况基本信息的存储、更新、查询、输出等操作, 以实现对企业员工的管理。 2.其中更新功能包括:添加信息、删除信息、修改信息、可根据需要添加一个 或多个员工信息,也可对个别员工信息进行适当的删除或修改。以便随时更新员工信息。 3.程序中设计的查询功能可根据需要从若干数据中查询某个员工信息,并且可 根据两种不同的方法查询:按工作证号查询和按姓名查询。以满足不同的需要。 四、概要设计 1、方案设计 对系统进行分析,给出结构图 分析:系统要求实现许多的功能,因此遵循结构化程序设计思想来进行本系统的设计—自顶向下、逐步细化,将系统设计任务分解出许多子功能模块进行设计 结构图如下:

2.模块功能说明 对各个模块进行功能的描述 (1).输入模块: 录入需要管理的员工信息并将信息保存于文件中,以方便日后进行打印、读取、更新等操作。 (2).添加模块: 可添加一个或多个员工信息,并将所添加员工信息保存,方便查找。 (3).删除模块: 可对辞职或休假的员工信息做删除处理。 (4).修改模块: 可根据需要对多个员工信息进行修改,也可随时对个别项进行修改。 (5).查询模块: 可对已建立的员工信息进行查询,并且可根据需要选择按姓名查询或按工作证号查询。 (6).保存模块: 用于对信息进行保存。

相关文档
相关文档 最新文档