职工信息管理模块实现(c语言)

功能要求:设计一个职工类Employee。数据成员包括字符串型的name(姓名)、street(街道地址)、city(市)、province(省)、zipcode(邮政编码)。要求用成员函数实现以下功能:
(1)创建职工对象时,初始化职工信息。
(2)设置职工对象信息。
(3)在屏幕上输出职工信息。
(4)在主函数中创建能够容纳100个该类对象的数组,并通过数组元素访问对象的各方法。

#include <stdio.h>
#include <string.h>
#include <conio.h> 
#include <windows.h>
struct Employee
{
	char name[20];
	char street[20];
	char city[20];
	char province[20];
	char zipCode[20];
}employee[105];
int n;//员工总数 
void mainFrame();//主功能界面 
void create();//新建职工对象 
void scan();//浏览所有职工信息 
void update();//修改职工信息 
void get_n();//得到共有多少个员工 
void create()
{
	system("cls");
	FILE *fp=fopen("E:\\职工信息.txt","a");
	printf("请输入职工的 姓名 省 市 街道地址 邮政编码 (必须全部填写并用空格分开)\n");
	scanf("%s %s %s %s %s",employee[n].name,employee[n].province,employee[n].city,employee[n].street,employee[n].zipCode);
	if(employee[n].name==NULL||employee[n].province==NULL||employee[n].city==NULL||employee[n].street==NULL||employee[n].zipCode==NULL)
	{ 
		printf("添加错误!请重新添加\n");
		create();
	}
	else
	{
		if(fwrite(&employee[n],sizeof(struct Employee),1,fp)==1) 
		{
			printf("添加成功!\n");
			n++;
		}
		else
		{
			printf("添加失败!\n");
		}
		fclose(fp);
		printf("是否继续添加?(y或者n)\n");
		char ch=getch();
		if(ch=='y'||ch=='Y')
		create();
		else
		mainFrame();
	}
	
}
//修改职工信息的原理  先在文件中找到这个职工 记录下这个职工的编号
//然后删除这个文件 重新创建一个文件并写入修改后的信息 
void update()
{
	system("cls");
	FILE *fp=fopen("E:\\职工信息.txt","r");
	char name1[20]; 
	int mark=-1;
	printf("请输入你要修改的职工的姓名\n");
	scanf("%s",name1);
	for(int i=0;i<n;i++)
	{
		if(strcmp(employee[i].name,name1)==0)
		mark=i;
	}
	if(mark==-1)
	{
		printf("找不到这个人,请重新输入\n");
		update();
	}
	else
	{
		remove("E:\\职工信息.txt");
		FILE *fp=fopen("E:\\职工信息.txt","w");
		printf("找到了!请输入这个员工的 省 市 街道地址  邮政编码 (必须全部填写并用空格分开)\n");
		scanf("%s %s %s %s",employee[mark].province,employee[mark].city,employee[mark].street,employee[mark].zipCode);
		if(employee[mark].name==NULL||employee[mark].province==NULL||employee[mark].city==NULL||
		employee[mark].street==NULL||employee[mark].zipCode==NULL)
		{ 
			printf("修改错误!请重新修改\n");
			create();
		}
		else
		{
			for(int i=0;i<n;i++)
			fwrite(&employee[i],sizeof(struct Employee),1,fp); 
			fclose(fp);
			printf("是否继续修改?(y或者n)\n");
			char ch=getch();
			if(ch=='y'||ch=='Y')
			update();
			else
			mainFrame();
		}
	}
}
void mainFrame()
{
	int x; 
	system("cls");
	printf("**********************************************\n");
	printf("*         请输入序号执行对应的操作           *\n");
    printf("*        (1)创建职工对象。                 *\n");
	printf("*        (2)设置职工对象信息。             *\n");
	printf("*        (3)在屏幕上输出职工信息。         *\n");
	printf("*        (4)退出程序。                     *\n");
	printf("**********************************************\n");
	scanf("%d",&x);
	if(x==1)
	{
		create();
	} 
	else if(x==2)
	{
		update();
	}
	else if(x==3)
	{
		scan();
	}
	else
	{
		exit(0);
	}
}
void get_n()
{
	FILE *fp=fopen("E:\\职工信息.txt","r");
    for(n=0;;n++)  
    {  
        if(fread(&employee[n],sizeof(struct Employee),1,fp)==1)  
        continue;  
        else  
        break;  
    }  
    fclose(fp);  
}
void scan()
{
	system("cls"); 
	printf("姓名\t省\t市\t街道\t邮政编码\n");
	for(int i=0;i<n;i++)
	printf("%s\t%s\t%s\t%s\t%s\n",employee[i].name,employee[i].province,employee[i].city,employee[i].street,employee[i].zipCode);
	printf("按任意键回到主界面\n"); 
	getch();
	mainFrame(); 
}
int main()
{
	get_n();
	mainFrame();
}


  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 职工信息管理系统是一个C语言开发的课程设计项目,旨在帮助企业或组织实现职工信息的快速、高效的管理和查询。 这个系统主要包含两个模块数据录入模块信息查询模块。 在数据录入模块中,管理员可以输入职工的基本信息,比如姓名、工号、职位、部门、薪水等等。系统会自动为每个职工分配一个唯一的ID,并将这些信息存储在一个数据文件中。 信息查询模块可以根据用户输入的条件进行查询,比如根据职位查询所有相应职位的职工信息,或者根据工号查询某个具体的职工信息。系统会根据查询条件筛选并显示相应的结果。 为了保证系统的可靠性和安全性,系统会进行数据校验和权限控制。在数据录入时,系统会检查数据的合法性,确保输入的数据符合预设规范。同时,系统也会设定不同的用户权限,只有具有管理员权限的用户才能进行数据录入和修改操作。 此外,这个系统还具备重新加载和备份数据的功能。管理员可以选择将当前的所有职工信息重新加载到系统中,也可以将数据备份到其他地方进行安全存储,以防止数据丢失或损坏。 通过这样一个职工信息管理系统,企业或组织可以方便地管理和查询所有职工的相关信息,提高工作效率和准确性。这个系统基于C语言开发,具有较高的可扩展性和稳定性,是一个实用而可靠的应用项目。 ### 回答2: 职工信息管理系统是一个C语言编写的课程设计项目,通过该系统可以实现对公司职工信息进行管理和查询的功能。具体功能包括职工信息的添加、删除、修改和查询,以及对职工信息进行统计、排序和打印等操作。 该系统主要分为以下几个模块管理模块职工信息模块、统计排序模块和打印模块等。 管理模块是系统的管理者,可以通过该模块对其他模块进行操作和维护。管理员可以添加新的职工信息包括姓名、性别、年龄、职位等。管理员还可以根据职工的工号对职工信息进行删除和修改,保证信息的准确性和完整性。 职工信息模块是系统的核心模块,可以完成对职工信息的查询、修改和删除等操作。用户可以根据职工的工号或者姓名来进行查询,系统会输出查询结果并显示在界面上。用户也可以对职工信息进行修改和删除操作,保证信息的及时更新。 统计排序模块可以对职工信息进行统计和排序,可以按照不同的需求进行排序,比如按照职位、年龄等进行排序。统计功能可以实现职工信息的数量和性别比例等统计。 打印模块可以将查询、统计和排序的结果进行打印输出,方便用户进行查看和备份。 总的来说,职工信息管理系统是一个功能完善并且简单易用的系统,能够方便管理者对职工信息进行管理和查询,提高工作效率。同时,也为公司提供了便捷和准确的信息查询和分析功能,有助于公司的决策和发展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值