C语言课程设计报告 C语言课程设计报告书

时间:2023-08-21 05:05:54 文档下载 投诉 投稿

                        C语言课程设计报告

      一、课程设计目的

      目的:掌握结构体类型变量的定义和使用,掌握结构体类型数组的概念和应用。考察我们对函数调用的掌握情况,增强我们自己动手设计程序的能力,同时也让我们感受程序设计魅力之所在,为接下来的数据结构课程学习做准备。

      二、课程设计内容

      1、课程设计的题目及简介

          题目:职工档案管理系统

      简介:职工档案管理系统是对职工基本信息进行录入、显示、删除、修改、查询等操作的管理系统。

      本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:工号,姓名,性别,出生年月,所在部门,职称,工资级别,电话。

      2、设计说明

      总体上程序分为两大模块:主函数和功能模块,其中在主函数内设置菜单选项,用do……while结构实现循环,同时在主函数内定义功能函数。功能模块又分为以下模块:

      录入模块:职工信息录入,可以完成工号,姓名,性别,出生年月,所在部门,职称,工资级别,电话等若干条记录的输入。

          显示模块:能显示所录入职工的基本信息,自己定义void xianshi()函数

      

      删除模块:先找到要删除职工的姓名,然后删除此职工的基本信息,自己定义void shanchu()函数。

      修改模块:根据职工姓名找到要修改的职工信息,并输入正确的职工基本信息,自己定义void xiugai()函数。

          查询模块:根据职工姓名查询并显示职工的基本信息,自己定义void chaxun()函数。

      退出系统模块:无需定义函数,在主函数的switch结构中,设置一个退出系统的case

      3、程序流程图

               

      4、程序清单(源程序要多加注释

      #include <stdio.h>
#include <string.h>

      #define N 10
struct stuff                              // 定义结构体类型
{
    int num;
    char name[10]; 
    char sex[2];
    char birth[10];
    char szbm[20]; 
    char zc[10];
    int salary;
    char tel[10];
 }; 
struct stuff stu[N];                        //定义结构体变量
void input(int *);                        //定义录入函数

      void xianshi(int);                          //定义显示函数
void shanchu(int *);                          //定义删除函数
void xiugai(int);                          //定义修改函数
void chaxun(int);                        //定义查询函数
void main()                            //主菜单函数
{
 int choose;int count=0;                    //count为计数器,记录录入数据的个数
 do   
      printf("\n\n\n\n\n\n");
    printf("      | ------------------------你好欢迎使-------------|\n");
   printf("      |            输入选项编(0~6)                    |\n");

         printf("      |------------------------------------------------|\n);
   printf("      |        1)职工基本信息的录入                |\n");
   printf("      |         2)职工基本信息的显示                 |\n");
   printf("      |         3)职工基本信息删除                   |\n");       
   printf("      |         4)职工基本信息修改)                  |\n");
   printf("      |        5)职工基本信息查询)                |\n");
   printf("      |         6)退出系统                          |\n");
   printf("      |------------------------------------------------

      |\n");       
   scanf("%d",&choose);     
   switch(choose)              //switch结构实现函数的调用
   { 
    case 1:input(&count);break;
    case 2:xianshi(count);break; 
    case 3:shanchu(&count);break;     
    case 4:xiugai(count);break; 
    case 5:chaxun(count);break;       
    case 6:break;       
   }
 }while(choose>=1&&choose<6);
}   

      

      void input(int *count)

 int i,number;
 if (*count==N)
 {  printf("空间已满!");return;}
    printf("工号:");scanf("%d",&number);
   for(i=0;i<*count;i++)
    if(stu[i].num==number)
    {  printf("已经有相同的编号:");return;}
      stu[i].num=number;
        printf("姓名:");
        scanf("%s",stu[i].name);
      printf("出生年月:");
      scanf("%s",stu[i].birth);
      printf("性别:");

             scanf("%s",stu[i].sex);
      printf("所在部门:");
      scanf("%s",stu[i].szbm);
       printf("职称:");
      scanf("%s",stu[i].zc);
      printf("工资级别:");
      scanf("%d",&stu[i].salary);
      printf("电话:");
      scanf("%s",stu[i].tel);
      (*count)++;
}

      void xianshi(int count)
{
 int i;
 printf("工号 姓名 出生年月 所在部门 职称 工资

      级别 电话");
 for(i=0;i<count;i++)

      printf("\n");
  printf("%d\t", stu[i].num);
  printf("%s\t", stu[i].name);
  printf("%s\t", stu[i].birth);
  printf("%s\t", stu[i].szbm);
  printf("%s\t", stu[i].zc);
  printf("%d\t", stu[i].salary);
  printf("%s\t", stu[i].tel);
 }

      }
void shanchu(int *count)
{

       int i,j,flag=1;char name[10];
 printf("请输入要删除的职工姓名:");
 scanf("%s",&name);
 for(i=0;i<*count&&flag;i++)
 {
  if(strcmp(stu[i].name,name)==0)
  {for(j=i;j<*count-1;j++)
      stu[j]=stu[j+1];
      flag=0;
      (*count)--;printf(成功删除数据!!)
  }
  else printf("没有查询到可删除的数据!!");
 }
}

      void xiugai(int count)

      {
 int i,flag=1;char name[10];
 printf("请输入要修改数据的职工姓名:");
 scanf("%s",&name);
 for(i=0;i<count&&flag;i++)
  if(strcmp(stu[i].name,name)==0)
  {
   printf("修改姓名:");
   scanf("%s",stu[i].name);
   printf("修改出生年月:");
   scanf("%s",stu[i].birth);
   printf("修改性别:");
   scanf("%s",stu[i].sex);
   printf("修改所在部门:");
   scanf("%s",stu[i].szbm);

         printf("修改职称:");
   scanf("%s",stu[i].zc);
   printf("修改工资级别:");
   scanf("%d",&stu[i].salary);
   printf("修改电话:");
   scanf("%s",stu[i].tel);
   flag=0;
  }

      }
void chaxun(int count)
{
 int i,j,flag=1;char name[10];
 printf("请输入要查询的职工姓名:");
 scanf("%s",&name);
 for(i=0;i<count&&flag;i++)

      if(strcmp(stu[i].name,name)==0)
 {
  printf("工号:%d",stu[i].num);
  printf("姓名:%s",stu[i].name);
  printf("出生年月:%s",&stu[i].birth);
  printf("性别:%s",stu[i].sex);
  printf("所在部门:%s",&stu[i].szbm);
  printf("职称:%s",stu[i].zc);
  printf("工资级别:%d",stu[i].salary);
  printf("电话:%s",stu[i].tel);
  flag=0;
 }
 else printf("没有查询到!!");
}

      5、运行结果(界面截图)

      

      5.课程设计总结:

       本报告介绍一个用c语言开发的用于职工档案管理系统,通过该系统可以对职工的工号、姓名、出生年月、职称、工资级别、电话号码等信息进行系统管理。该系统是在Visual C++集成环境中进行编译、连接和运行的。该系统使用了结构体类型,以及输入输出函数、选择结构、循环结构等,而且多次使用函数调用。管理人员通过屏幕菜单实现对数据的录入、显示、删除、修改、查询等功能。

          通过此次课程设计使我对C语言编程有了更深入的了解,对函数调用、结构体类型的掌握程度得到了进一步提升。在程序设计的过程中遇到了很多的困难,在老师的帮助下,解决了一系列编

      写程序时时所犯的错误,是我了解到自己的不足,有些概念还不尽清楚、在编写程序时不太注重细节,在设计过程中通过寻求老师、同学的帮助最终完成了这次程序设计。

【C语言课程设计报告 C语言课程设计报告书】相关文章:

个人自查报告范文汇总 个人自查报告范文汇总表08-21

个人自查报告范文 医务个人自查报告范文08-21

学生成绩管理系统c语言课程设计报告 学生成绩管理系统c语言课程设计报告一只学废狗08-21

C语言程序设计课程设计报告 c语言程序课程设计的总结08-21

C语言课程设计报告——贪吃蛇源程序 c语言课程设计贪吃蛇报告书08-21

c语言课程设计报告书 c语言课程设计报告书模板08-21

C语言课程设计报告 C语言课程设计报告书08-21

c语言课程设计设计报告 c语言课程设计总结报告08-21

c语言课程设计报告 C语言课程设计报告格式08-21

C语言课程设计报告 C语言课程设计报告模板08-21

学校质量分析报告08-21

质量分析报告 产品不良原因分析报告08-21

产品质量分析报告范文08-21