C语言,有3个职工的信息(包括工号、 姓名 性别、工资),放在结构体数组中,要求 输出全部职工的信息
时间: 2023-12-19 12:21:36 浏览: 136
好的,以下是可以输出全部职工信息的C语言代码示例:
```c
#include <stdio.h>
// 定义职工结构体
struct Employee {
int id; // 工号
char name[20]; // 姓名
char sex; // 性别
float salary; // 工资
};
int main() {
// 定义结构体数组并初始化
struct Employee employees[3] = {
{1001, "张三", 'M', 5000},
{1002, "李四", 'F', 6000},
{1003, "王五", 'M', 7000}
};
// 输出职工信息
for (int i = 0; i < 3; i++) {
printf("工号:%d,姓名:%s,性别:%c,工资:%.2f\n",
employees[i].id, employees[i].name, employees[i].sex, employees[i].salary);
}
return 0;
}
```
输出结果为:
```
工号:1001,姓名:张三,性别:M,工资:5000.00
工号:1002,姓名:李四,性别:F,工资:6000.00
工号:1003,姓名:王五,性别:M,工资:7000.00
```
相关问题
用c语言编制某单位的职工档案管理程序,每个职工档案包括工号,姓名,性别,年龄,部门,住址,基本工资,文化程度
好的,我听到你的问题了。关于你的问题,我可以提供一些思路和建议。
首先,你可以使用 C 语言的结构体来定义职工档案的数据结构,例如:
```c
struct Employee {
int id; // 工号
char name[50]; // 姓名
char gender; // 性别,可以使用 'M' 表示男性,'F' 表示女性
int age; // 年龄
char department[50]; // 部门
char address[100]; // 住址
double salary; // 基本工资
char education[50]; // 文化程度,例如:初中、高中、大学本科、硕士研究生等
};
```
然后,你可以设计一个菜单系统,让用户可以进行添加、查询、修改和删除职工档案等操作。例如:
```c
int main() {
int choice;
struct Employee employees[1000]; // 假设最多管理 1000 个职工档案
int count = 0; // 记录当前管理的职工档案数量
while (1) {
printf("请选择操作:\n");
printf("1. 添加职工档案\n");
printf("2. 查询职工档案\n");
printf("3. 修改职工档案\n");
printf("4. 删除职工档案\n");
printf("5. 显示所有职工档案\n");
printf("6. 退出程序\n");
scanf("%d", &choice);
switch (choice) {
case 1:
// 添加职工档案的代码
break;
case 2:
// 查询职工档案的代码
break;
case 3:
// 修改职工档案的代码
break;
case 4:
// 删除职工档案的代码
break;
case 5:
// 显示所有职工档案的代码
break;
case 6:
// 退出程序
return 0;
default:
printf("无效的操作,请重新输入!\n");
}
}
return 0;
}
```
在具体实现每个操作时,你可以使用文件来保存和读取职工档案数据,也可以使用内存数组来保存数据。同时,你还需要考虑如何进行输入检查和错误处理等问题。
用c语言程序编写一套职工信息管理系统。职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等。试设计一职工信息管理系统,使之能提供以下功能: 系统以菜单方式工作:(用键盘输入1~6之间的数来选择功能) (1)职工信息录入功能(职工信息用文件保存) (2)职工信息浏览功能 (3)查询功能:按工号和按学历查询 (4)信息删除功能:按职工姓名删除 (5)信息修改功能:把研究生学历的职工工资增加500元。 (6)退出。
好的,我可以帮您设计一个简单的职工信息管理系统,使用C语言编写。以下是程序的基本框架:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_EMPLOYEES 100 // 最大职工数
#define MAX_NAME_LEN 20 // 最大姓名长度
#define MAX_ADDRESS_LEN 50 // 最大地址长度
#define MAX_PHONE_LEN 20 // 最大电话号码长度
// 职工信息结构体
typedef struct {
char id[10]; // 职工号
char name[MAX_NAME_LEN]; // 姓名
char gender; // 性别
int age; // 年龄
char education[20]; // 学历
float salary; // 工资
char address[MAX_ADDRESS_LEN]; // 地址
char phone[MAX_PHONE_LEN]; // 电话
} Employee;
Employee employees[MAX_EMPLOYEES]; // 职工信息数组
int num_employees = 0; // 当前职工数
// 菜单函数
void menu() {
printf("1. 职工信息录入\n");
printf("2. 职工信息浏览\n");
printf("3. 查询功能\n");
printf("4. 信息删除功能\n");
printf("5. 信息修改功能\n");
printf("6. 退出\n");
}
// 职工信息录入函数
void add_employee() {
// 从键盘输入职工信息
printf("请输入职工号:");
scanf("%s", employees[num_employees].id);
printf("请输入姓名:");
scanf("%s", employees[num_employees].name);
printf("请输入性别(M/F):");
scanf(" %c", &employees[num_employees].gender);
printf("请输入年龄:");
scanf("%d", &employees[num_employees].age);
printf("请输入学历:");
scanf("%s", employees[num_employees].education);
printf("请输入工资:");
scanf("%f", &employees[num_employees].salary);
printf("请输入地址:");
scanf("%s", employees[num_employees].address);
printf("请输入电话:");
scanf("%s", employees[num_employees].phone);
num_employees++; // 增加职工数
printf("职工信息录入成功!\n");
}
// 职工信息浏览函数
void display_employees() {
int i;
for (i = 0; i < num_employees; i++) {
printf("职工号:%s\n", employees[i].id);
printf("姓名:%s\n", employees[i].name);
printf("性别:%c\n", employees[i].gender);
printf("年龄:%d\n", employees[i].age);
printf("学历:%s\n", employees[i].education);
printf("工资:%.2f\n", employees[i].salary);
printf("地址:%s\n", employees[i].address);
printf("电话:%s\n\n", employees[i].phone);
}
}
// 按工号查询函数
void search_by_id() {
char id[10];
printf("请输入要查询的职工号:");
scanf("%s", id);
int i;
for (i = 0; i < num_employees; i++) {
if (strcmp(id, employees[i].id) == 0) {
printf("职工号:%s\n", employees[i].id);
printf("姓名:%s\n", employees[i].name);
printf("性别:%c\n", employees[i].gender);
printf("年龄:%d\n", employees[i].age);
printf("学历:%s\n", employees[i].education);
printf("工资:%.2f\n", employees[i].salary);
printf("地址:%s\n", employees[i].address);
printf("电话:%s\n\n", employees[i].phone);
return; // 找到了就退出函数
}
}
printf("没有找到该职工!\n");
}
// 按学历查询函数
void search_by_education() {
char education[20];
printf("请输入要查询的学历:");
scanf("%s", education);
int i, found = 0;
for (i = 0; i < num_employees; i++) {
if (strcmp(education, employees[i].education) == 0) {
printf("职工号:%s\n", employees[i].id);
printf("姓名:%s\n", employees[i].name);
printf("性别:%c\n", employees[i].gender);
printf("年龄:%d\n", employees[i].age);
printf("学历:%s\n", employees[i].education);
printf("工资:%.2f\n", employees[i].salary);
printf("地址:%s\n", employees[i].address);
printf("电话:%s\n\n", employees[i].phone);
found = 1; // 找到了
}
}
if (!found) {
printf("没有找到该学历的职工!\n");
}
}
// 按姓名删除函数
void delete_by_name() {
char name[MAX_NAME_LEN];
printf("请输入要删除的职工姓名:");
scanf("%s", name);
int i, j, found = 0;
for (i = 0; i < num_employees; i++) {
if (strcmp(name, employees[i].name) == 0) {
found = 1;
// 将后面的职工信息向前移动
for (j = i; j < num_employees - 1; j++) {
employees[j] = employees[j+1];
}
num_employees--; // 减少职工数
printf("职工信息删除成功!\n");
break;
}
}
if (!found) {
printf("没有找到该职工!\n");
}
}
// 修改工资函数
void modify_salary() {
int i;
for (i = 0; i < num_employees; i++) {
if (strcmp("研究生", employees[i].education) == 0) {
employees[i].salary += 500;
}
}
printf("职工信息修改成功!\n");
}
int main() {
int choice;
do {
menu();
printf("请输入你的选择:");
scanf("%d", &choice);
switch (choice) {
case 1:
add_employee();
break;
case 2:
display_employees();
break;
case 3:
printf("1. 按工号查询\n");
printf("2. 按学历查询\n");
printf("请输入你的选择:");
scanf("%d", &choice);
if (choice == 1) {
search_by_id();
} else if (choice == 2) {
search_by_education();
} else {
printf("无效选择!\n");
}
break;
case 4:
delete_by_name();
break;
case 5:
modify_salary();
break;
case 6:
printf("谢谢使用!\n");
break;
default:
printf("无效选择!\n");
break;
}
} while (choice != 6);
return 0;
}
```
请注意:本程序只是一个简单的演示,实际使用中可能需要添加更多的功能和错误处理。此外,职工信息的保存和读取可以使用文件操作实现。
阅读全文