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
学生成绩管理系统c语言课程设计报告 学生成绩管理系统c语言课程设计报告一只学废狗08-21
C语言程序设计课程设计报告 c语言程序课程设计的总结08-21
C语言课程设计报告——贪吃蛇源程序 c语言课程设计贪吃蛇报告书08-21
C语言课程设计报告 C语言课程设计报告书08-21
学校质量分析报告08-21
质量分析报告 产品不良原因分析报告08-21
产品质量分析报告范文08-21