C语言课程设计报告—职工信息管理系统

时间:2024.4.13

课程设计报告

设计者:苏龙

班级序号:055071-12

学号:20071001569

课程设计报告

一 C语言课程设计的目的

设计一职工信息管理系统,使之能提供以下功能:

(1)            系统以菜单方式工作

(2)            职工信息录入功能(职工信息用文件保存)

(3)            职工信息浏览功能

(4)            职工信息查询功能,查询方式可按学历查询或按职工号查询

(5)            职工信息删除修改功能(可选项)

课程设计报告正文

1题目要求

设计职工信息管理系统,要求职工心想包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。设计一职工信息管理系统,使之能提供以下功能:

(6)            系统以菜单方式工作

(7)            职工信息录入功能(职工信息用文件保存)

(8)            职工信息浏览功能

(9)            职工信息查询功能,查询方式可按学历查询或按职工号查询

(10)       职工信息删除修改功能(可选项)

2需求分析

根据题目要求,由于职工信息是存放在文件中,所以应提供文件的输入、输出等操作;在程序中需要浏览职工的信息,应提供显示、查找、排序等操作;另外还应提供键盘式选择菜单实现功能选择。

3总体设计

根据上面的需求分析,可以将这个系统设计分为以下模块:数据添加、数据查找、数据修改、数据删除、数据输出。系统功能模块如下:

组织结构图

4详细设计

1 主函数

   主函数设计要简洁,只提供部分函数的调用。其中各功能模块用菜单方式选择。

【程序】

void main()                                

{

int m;

while(1)

{   printf("\n\n\n\t\t    ______________________________________\n");

      printf("\t\t    欢迎进入中国地质大学(武汉)员工信息系统\n");

    printf("\t\t    设计者:055071-12苏龙  学号20071001569\n");

      printf("\t\t    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");

      printf("\n\t\t\t\t添加,请按1");

    printf("\n\t\t\t\t查找,请按2");

    printf("\n\t\t\t\t修改,请按3");

    printf("\n\t\t\t\t删除,请按4");

    printf("\n\t\t\t\t输出,请按5");

printf("\n\t\t\t\t退出,请按0\n");                 

scanf("%d",&m);

if(m>=0&&m<=5)

{

switch(m)

{

case 1: append();

break;

case 2: search();

break;

case 3: modify();

break;

case 4: delete();

break;

case 5: output();

break;

case 0: exit();

}

printf("\n\n操作完毕,请再次选择!");

}

else

printf("\n\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",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);

fprintf(fp,"%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",one.name,one.num,one.sex,one.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)

{

case 1:nameway();

break;

case 2:xueliway();

break;

case 3:numway();

break;

}

  printf("\n\n操作完毕!!!");

}

else printf("\t\t\t\t输入有误!!!");

}

void nameway()

{

int k=0;

char nam[8];

printf("\n请输入您要查找的职工姓名:");

scanf("%s",nam);

if((fp=fopen("worker.xls","rb"))==NULL)       

{

printf("\n不能打开文件!");

exit();

}

while(!feof(fp))

{

fscanf(fp,"%s%s%s%s%s%s%s%s%s\n",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);

if(strcmp(nam,one.name)==0)

{

printf("\n\n已查到,记录为:");

printf("\n%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);

k=1;

}

}

if(k==0)

printf("\n\n对不起,查无此人!。");

fclose(fp);

}

void xueliway()

{int j=0;

char xueli[10];

printf("\t\t\t\t输入你要查询的学历\n");

scanf("%s",xueli);

if((fp=fopen("worker.xls","rb"))==NULL)       

{

printf("\n不能打开文件!");

exit();

}

while(!feof(fp))

{

fscanf(fp,"%s%s%s%s%s%s%s%s%s\n",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);

if(strcmp(xueli,one.record)==0)

{

printf("\n\n已查到,记录为:");

printf("\n%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);

j=1;

}

}

if(j==0)

printf("\n\n对不起,查无此人!。");

fclose(fp);

}

void numway()

{

      int i=0;

      char numb[10];

printf("\t\t\t\t输入你要查询的职工号\n");

scanf("%s",numb);

if((fp=fopen("worker.xls","rb"))==NULL)       

{

printf("\n不能打开文件!");

exit();

}

while(!feof(fp))

{

fscanf(fp,"%s%s%s%s%s%s%s%s%s\n",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);

if(!strcmp(numb,one.num))

{

printf("\n\n已查到,记录为:");

printf("\n%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);

i=1;

}

}

if(!i)

printf("\n\n对不起,查无此人!。");

fclose(fp);

}

4 数据修改

【程序】

void modify()                         

{

int m,k=0;

long a;

char namekey[8];

printf("\n请输入您要修改的职工的姓名:");

scanf("%s",namekey);

if((fp=fopen("worker.xls","r+"))==NULL)     

{

printf("\n不能打开该文件!");

exit();

}

while(!feof(fp))

{

a=ftell(fp);                     

fscanf(fp,"%s%s%s%s%s%s%s%s%s\n",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);

if(!strcmp(namekey,one.name))

{

k=1;

break;

}

}

if(k)

{

printf("\n已查到,记录为:");

printf("\n%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);

printf("\n请输入信息(按照姓名、工号、性别、年龄、学历、职位、工资、电话、地址的顺序输入):");

scanf("%s%s%s%s%s%s%s%s%s",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);

fseek(fp,a,0);

fprintf(fp,"%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);

}

else

printf("\n对不起,查无此人,无法进行修改。");

fclose(fp);                           

}

5 数据删除

【程序】

void delete()                         

{

int m,k=0;

long a,b;

char namekey[8], valid[4];

printf("\n请输入您要删除的职工姓名:");

scanf("%s",namekey);

if((fp=fopen("worker.xls","r+"))==NULL)    

{

printf("\n不能打开该文件!");

exit();

}

while(!feof(fp))

{

a=ftell(fp);               

fscanf(fp,"%s%s%s%s%s%s%s%s%s\n",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);

if(strcmp(namekey,one.name)==0)

{

k=1;

break;

}

}

if(k==1)

{

printf("\n已查到,记录为");

printf("\n%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);

printf("\n确实要删除,按1;不删除,按0:");

scanf("%d",&m);

if(m==1)

{

fseek(fp,a,0);

fprintf(fp,"%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n" "","","","","","","","","");

}

}

else

printf("\n对不起,查无此人。");

fclose(fp);      

               

}

6 数据输出

【程序】

void output()                           

{

if((fp=fopen("worker.xls","r"))==NULL)      

{

printf("\n不能打开该文件!");

exit();

}

printf("\n\n%20s\n","职工信息管理系统");

while(!feof(fp))

{

fscanf(fp,"%s%s%s%s%s%s%s%s%s\n",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);

printf("%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);

}

fclose(fp);

}

5运行与测试报告:

三 后记/课程设计过程中遇到的问题以及解决方法,课程设计的体会。

这次课程设计让我掌握了许多的有用知识。首先我能够熟练的应用软件Microsoft Visual C++ 6.0 了。再就是我能够根据自己的需要设计程序,这将对我以后的生活有非常重要的影响。同时我掌握了解决问题的方法,这无论是对以后的学习、生活都有无比重要的价值。

 在设计中,我遇到了不少的困难,比如不能清晰的建立设计模块,然后我向同学寻求帮助,向他们学习,最终通过自己努力建立了模块。还有就是起初我设计的程序总是有错误,我细心的修改,不断的改进,最终我做出了自己非常理想的程序!

附录:源程序清单

#include<stdio.h>

struct

{

char name[8];

char num[10];

char sex[10];

char age[10];

char record[10];

char position[15];

char wanges[10];

char tel[15];

char addr[50];

}one;                                    

               

FILE *fp;              

                              

void output();                             

void search();                             

void append();                             

void modify();                              

void delete();                             

void nameway();

void xueliway();

void numway();

void main()                                

{

int m;

while(1)

{   printf("\n\n\n\t\t    ______________________________________\n");

       printf("\t\t    欢迎进入中国地质大学(武汉)员工信息系统\n");

    printf("\t\t    设计者:055071-12苏龙  学号20071001569\n");

       printf("\t\t    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");

       printf("\n\t\t\t\t添加,请按1");

    printf("\n\t\t\t\t查找,请按2");

    printf("\n\t\t\t\t修改,请按3");

    printf("\n\t\t\t\t删除,请按4");

    printf("\n\t\t\t\t输出,请按5");

printf("\n\t\t\t\t退出,请按0\n");                 

scanf("%d",&m);

if(m>=0&&m<=5)

{

switch(m)

{

case 1: append();

break;

case 2: search();

break;

case 3: modify();

break;

case 4: delete();

break;

case 5: output();

break;

case 0: exit();

}

printf("\n\n操作完毕,请再次选择!");

}

else

printf("\n\n选择错误,请再次选择!");

}

}

void output()                           

{

if((fp=fopen("worker.xls","r"))==NULL)      

{

printf("\n不能打开该文件!");

exit();

}

printf("\n\n%20s\n","职工信息管理系统");

while(!feof(fp))

{

fscanf(fp,"%s%s%s%s%s%s%s%s%s\n",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);

printf("%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);

}

fclose(fp);

}

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",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);

fprintf(fp,"%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);

fclose(fp);                     

}

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)

{

case 1:nameway();

break;

case 2:xueliway();

break;

case 3:numway();

break;

}

  printf("\n\n操作完毕!!!");

}

else printf("\t\t\t\t输入有误!!!");

}

void nameway()

{

int k=0;

char nam[8];

printf("\n请输入您要查找的职工姓名:");

scanf("%s",nam);

if((fp=fopen("worker.xls","rb"))==NULL)       

{

printf("\n不能打开文件!");

exit();

}

while(!feof(fp))

{

fscanf(fp,"%s%s%s%s%s%s%s%s%s\n",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);

if(strcmp(nam,one.name)==0)

{

printf("\n\n已查到,记录为:");

printf("\n%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);

k=1;

}

}

if(k==0)

printf("\n\n对不起,查无此人!。");

fclose(fp);

}

void xueliway()

{int j=0;

char xueli[10];

printf("\t\t\t\t输入你要查询的学历\n");

scanf("%s",xueli);

if((fp=fopen("worker.xls","rb"))==NULL)       

{

printf("\n不能打开文件!");

exit();

}

while(!feof(fp))

{

fscanf(fp,"%s%s%s%s%s%s%s%s%s\n",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);

if(strcmp(xueli,one.record)==0)

{

printf("\n\n已查到,记录为:");

printf("\n%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);

j=1;

}

}

if(j==0)

printf("\n\n对不起,查无此人!。");

fclose(fp);

}

void numway()

{

       int i=0;

       char numb[10];

printf("\t\t\t\t输入你要查询的共号\n");

scanf("%s",numb);

if((fp=fopen("worker.xls","rb"))==NULL)       

{

printf("\n不能打开文件!");

exit();

}

while(!feof(fp))

{

fscanf(fp,"%s%s%s%s%s%s%s%s%s\n",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);

if(!strcmp(numb,one.num))

{

printf("\n\n已查到,记录为:");

printf("\n%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);

i=1;

}

}

if(!i)

printf("\n\n对不起,查无此人!。");

fclose(fp);

}

void modify()                         

{

int m,k=0;

long a;

char namekey[8];

printf("\n请输入您要修改的职工的姓名:");

scanf("%s",namekey);

if((fp=fopen("worker.xls","r+"))==NULL)     

{

printf("\n不能打开该文件!");

exit();

}

while(!feof(fp))

{

a=ftell(fp);                    

fscanf(fp,"%s%s%s%s%s%s%s%s%s\n",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);

if(!strcmp(namekey,one.name))

{

k=1;

break;

}

}

if(k)

{

printf("\n已查到,记录为:");

printf("\n%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);

printf("\n请输入信息(按照姓名、职工号、性别、年龄、学历、职位、工资、电话、地址的顺序输入):");

scanf("%s%s%s%s%s%s%s%s%s",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);

fseek(fp,a,0);

fprintf(fp,"%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);

}

else

printf("\n对不起,查无此人,无法进行修改。");

fclose(fp);                           

}

void delete()                         

{

int m,k=0;

long a,b;

char namekey[8], valid[4];

printf("\n请输入您要删除的职工姓名:");

scanf("%s",namekey);

if((fp=fopen("worker.xls","r+"))==NULL)    

{

printf("\n不能打开该文件!");

exit();

}

while(!feof(fp))

{

a=ftell(fp);              

fscanf(fp,"%s%s%s%s%s%s%s%s%s\n",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);

if(strcmp(namekey,one.name)==0)

{

k=1;

break;

}

}

if(k==1)

{

printf("\n已查到,记录为");

printf("\n%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);

printf("\n确实要删除,按1;不删除,按0:");

scanf("%d",&m);

if(m==1)

{

fseek(fp,a,0);

fprintf(fp,"%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n" "","","","","","","","","");

}

}

else

printf("\n对不起,查无此人。");

fclose(fp);      

                

}

更多相关推荐:
管理信息系统课程设计报告

管理信息系统课程设计设计题目班级学生成绩查询系统专业班级学生姓名终结者队指导教师2012年4月19日目录1人员介绍3A终结者3B队伍组成32学生成绩查询系统建设背景4A必要性4B实用性4C目的性43系统简介5A...

管理信息系统课程设计报告(标准格式)

管理信息系统课程设计报告题目库存管理信息系统学生姓名指导教师成绩日期20xx年9月8号目录目录2摘要3库存管理管理信息系统4第一章现行系统概述4第二章系统分析41需求分析42可行性研究521目标与方案可行性52...

管理信息系统课程设计报告

管理信息系统课程设计报告课程设计任务书一课程设计课题题目安徽工程大学地下超市收银系统开发二课程设计原始资料地下超市商品信息三课程设计内容开发适合于地下超市的高效率收银系统四课程设计要求1通过课程设计加深理解验证...

《管理信息系统》课程设计报告范文

1摘要企业工资管理系统是公司管理的一个重要内容是一种典型的管理系统企业工资管理系统是公司管理的一个重要内容是一种典型的管理系统其开发主要包括后台的数据库的建立维护以及前端的相应应用程序的开发两个方面的内容系统的...

管理信息系统MIS课程设计报告

MIS课程设计课设题目:中国电信(江苏分公司)供应链管理系统学院管理学院专业___市场营销________班别___09市场营销(2)_学号_______姓名__________指导教师_______20##年…

《管理信息系统》课程设计报告

管理信息系统设计报告院系班级姓名学号辅导老师徐恒实验题目航班售票管理系统设计报告完成日期20xx年5月17日1目录一实验题目3二实验目的3三实验内容3系统分析3一必要性分析3二可行性分析3三航班售票管理系统业务...

MIS(管理信息系统)课程设计个人总结

课程设计总结姓名:李斌专业:财务管理学号:1145543131课程设计个人总结本次课程设计持续了1个星期,时间非常紧张,我们的课题是企业人力资源管理系统,我们小组由7个人组成,需要完成企业人力资源管理系统子系统…

医院门诊管理信息系统课程设计报告

MIS课程设计实验报告医院门诊处理系统1.引言1.1编写目的科技进步将人类带到了信息时代,计算机已成为各行各业在业务处理与管理工作中必不可少的辅助工具,并对各行业的发展起到越来越大的推动作用。计算机信息管理技术…

《管理信息系统》课程设计计划书

管理信息系统课程设计计划书一目的课程设计是与课程管理信息系统相配合的设计性实验课程设计主要目的1通过系统分析使学生建立对管理信息系统的认识2通过对某小型管理信息系统的分析使学生掌握管理信息系统的主要步骤和方法提...

管理信息系统课程设计报告

经济管理学院20xx至20xx学年第二学期管理信息系统课程设计报告

医院管理信息系统课程设计报告

医院管理信息系统分析报告书目录1.引言...101.1编写目的...101.2项目背景...111.3研究的前提...111.3.1目标...111.3.2条件、假定和限制...112.任务概述...122.1…

管理信息系统实验报告设计

经济管理学院管理信息系统实验报告设计指导老师20xx61管理信息系统实验报告目录一系统需求分析311问题的提出312可行性分析313系统的设计目标3二系统设计421系统设计422系统运行环境4三系统结构框架43...

管理信息系统课程设计报告(19篇)