编写一段程序,该程序是界面欢迎程序,如果性别为男,则输出XX先生你好!,如果性别为女,则输出XX女士你好?否则输出XX你好!?利用switch case 实现?

时间: 2023-05-18 22:07:00 浏览: 85
以下是利用 switch case 实现的程序: ``` #include <stdio.h> int main() { char gender; char name[20]; printf("请输入您的姓名:"); scanf("%s", name); printf("请输入您的性别(M表示男性,F表示女性):"); scanf(" %c", &gender); switch (gender) { case 'M': printf("%s先生你好!", name); break; case 'F': printf("%s女士你好!", name); break; default: printf("%s你好!", name); break; } return 0; } ``` 当用户输入 M 时,程序输出 `XX先生你好!`,当用户输入 F 时,程序输出 `XX女士你好!`,否则程序输出 `XX你好!`。
相关问题

编写一段程序,该程序是界面欢迎程序,如果性别为男,则输出XX先生你好!,如果性别为女,则输出XX女士你好?否则输出XX你好!?利用switch case 实现

### 回答1: 以下是利用 switch case 实现的程序: ```c #include <stdio.h> int main() { char gender; char name[20]; printf("请输入您的姓名:"); scanf("%s", name); printf("请输入您的性别(m/f):"); scanf(" %c", &gender); switch (gender) { case 'm': printf("%s先生你好!", name); break; case 'f': printf("%s女士你好!", name); break; default: printf("%s你好!", name); break; } return 0; } ``` 当用户输入性别为 'm' 时,程序会输出 "XX先生你好!",当用户输入性别为 'f' 时,程序会输出 "XX女士你好!",否则程序会输出 "XX你好!"。 ### 回答2: 请见下方的代码示例,其中使用了switch...case语句根据不同的性别输出不同的欢迎语句: ```java import java.util.Scanner; public class WelcomeProgram { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("请输入您的姓名:"); String name = scanner.next(); System.out.print("请输入您的性别(男/女):"); String gender = scanner.next(); switch (gender) { case "男": System.out.println(name + "先生,你好!"); break; case "女": System.out.println(name + "女士,你好!"); break; default: System.out.println(name + "你好!"); break; } scanner.close(); } } ``` 运行程序后,首先会要求输入姓名和性别。根据输入的性别,程序使用switch语句判断并输出相应的欢迎语句。如果性别是男,则输出XX先生你好!如果性别是女,则输出XX女士你好!如果性别既不是男也不是女,则输出XX你好! ### 回答3: 以下是一个使用switch case实现的界面欢迎程序的代码示例: ```java import java.util.Scanner; public class WelcomeProgram { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("请输入您的性别(男/女):"); String gender = scanner.next(); System.out.print("请输入您的姓名:"); String name = scanner.next(); String greeting; switch (gender) { case "男": greeting = name + "先生你好!"; break; case "女": greeting = name + "女士你好!"; break; default: greeting = name + "你好!"; } System.out.println(greeting); } } ``` 以上代码首先使用`Scanner`类实现从用户输入性别和姓名。接下来使用`switch`语句根据性别变量的值匹配不同的情况,分别输出相应的欢迎语句。最后将拼接好的欢迎语句输出到控制台上。 运行程序时,用户将被要求输入性别和姓名,然后根据输入的内容输出相应的欢迎语句。输出结果如下所示: ``` 请输入您的性别(男/女):男 请输入您的姓名:张三 张三先生你好! ```

c语言数据结构使用链表的应用编写一个人事管理系统,要输出相应界面:用链式存储方法实现。 每个职工的信息包括:工号、姓名、性别、出生年月、籍贯、部门,能实现输入: 按工号或者姓名或者性别或者部门查找: 插入: 按工号或者姓名或者性别或者部门删除,按工号或者出生年月进行升序或者降序,按工号进行修改职工的信息 ,分别统计30岁以下,30-50和50岁以上,三个年龄段的人数,这些操作都会有相应的print输出界面的代码

以下是一个简单的人事管理系统的代码,使用链表存储数据结构,并实现了查找、插入、删除、排序和统计等功能。请注意,这只是一个基础的实现,可能会存在一些漏洞,需要根据具体需求进行修改和完善。 ```c #include <stdio.h> #include <stdlib.h> #include <string.h> // 定义职工信息结构体 typedef struct employee { int id; // 工号 char name[20]; // 姓名 char gender[5]; // 性别 char birth[20]; // 出生年月 char hometown[20]; // 籍贯 char department[20];// 部门 struct employee *next; // 指向下一个职工信息的指针 } Employee; // 全局变量,指向链表头部 Employee *head = NULL; // 显示菜单 void showMenu() { printf("*************************\n"); printf("******* 人事管理系统 *******\n"); printf("*************************\n"); printf("1. 显示所有职工信息\n"); printf("2. 按工号查找\n"); printf("3. 按姓名查找\n"); printf("4. 按性别查找\n"); printf("5. 按部门查找\n"); printf("6. 插入职工信息\n"); printf("7. 按工号删除\n"); printf("8. 按出生年月排序\n"); printf("9. 按工号排序\n"); printf("10. 修改职工信息\n"); printf("11. 统计年龄\n"); printf("0. 退出系统\n"); printf("*************************\n"); } // 显示一个职工信息 void showEmployee(Employee *e) { printf("%d\t%s\t%s\t%s\t%s\t%s\n", e->id, e->name, e->gender, e->birth, e->hometown, e->department); } // 显示所有职工信息 void showAllEmployees() { if (head == NULL) { printf("当前没有职工信息!\n"); return; } printf("工号\t姓名\t性别\t出生年月\t籍贯\t部门\n"); Employee *current = head; while (current != NULL) { showEmployee(current); current = current->next; } } // 按工号查找职工信息 void findEmployeeById(int id) { if (head == NULL) { printf("当前没有职工信息!\n"); return; } Employee *current = head; while (current != NULL) { if (current->id == id) { showEmployee(current); return; } current = current->next; } printf("没有找到工号为%d的职工信息!\n", id); } // 按姓名查找职工信息 void findEmployeeByName(char *name) { if (head == NULL) { printf("当前没有职工信息!\n"); return; } Employee *current = head; while (current != NULL) { if (strcmp(current->name, name) == 0) { showEmployee(current); return; } current = current->next; } printf("没有找到姓名为%s的职工信息!\n", name); } // 按性别查找职工信息 void findEmployeeByGender(char *gender) { if (head == NULL) { printf("当前没有职工信息!\n"); return; } Employee *current = head; while (current != NULL) { if (strcmp(current->gender, gender) == 0) { showEmployee(current); } current = current->next; } } // 按部门查找职工信息 void findEmployeeByDepartment(char *department) { if (head == NULL) { printf("当前没有职工信息!\n"); return; } Employee *current = head; while (current != NULL) { if (strcmp(current->department, department) == 0) { showEmployee(current); } current = current->next; } } // 插入职工信息 void insertEmployee(Employee *e) { if (head == NULL) { head = e; return; } Employee *current = head; while (current->next != NULL) { current = current->next; } current->next = e; } // 按工号删除职工信息 void deleteEmployeeById(int id) { if (head == NULL) { printf("当前没有职工信息!\n"); return; } Employee *current = head; Employee *prev = NULL; while (current != NULL) { if (current->id == id) { if (prev == NULL) { head = current->next; } else { prev->next = current->next; } free(current); printf("删除成功!\n"); return; } prev = current; current = current->next; } printf("没有找到工号为%d的职工信息!\n", id); } // 按出生年月排序 void sortEmployeeByBirth(int order) { if (head == NULL) { printf("当前没有职工信息!\n"); return; } int count = 0; Employee *current = head; while (current != NULL) { count++; current = current->next; } Employee **array = (Employee **)malloc(count * sizeof(Employee *)); current = head; for (int i = 0; i < count; i++) { array[i] = current; current = current->next; } for (int i = 0; i < count - 1; i++) { for (int j = i + 1; j < count; j++) { char *birth1 = array[i]->birth; char *birth2 = array[j]->birth; if ((order > 0 && strcmp(birth1, birth2) > 0) || (order < 0 && strcmp(birth1, birth2) < 0)) { Employee *tmp = array[i]; array[i] = array[j]; array[j] = tmp; } } } printf("工号\t姓名\t性别\t出生年月\t籍贯\t部门\n"); for (int i = 0; i < count; i++) { showEmployee(array[i]); } free(array); } // 按工号排序 void sortEmployeeById(int order) { if (head == NULL) { printf("当前没有职工信息!\n"); return; } int count = 0; Employee *current = head; while (current != NULL) { count++; current = current->next; } Employee **array = (Employee **)malloc(count * sizeof(Employee *)); current = head; for (int i = 0; i < count; i++) { array[i] = current; current = current->next; } for (int i = 0; i < count - 1; i++) { for (int j = i + 1; j < count; j++) { int id1 = array[i]->id; int id2 = array[j]->id; if ((order > 0 && id1 > id2) || (order < 0 && id1 < id2)) { Employee *tmp = array[i]; array[i] = array[j]; array[j] = tmp; } } } printf("工号\t姓名\t性别\t出生年月\t籍贯\t部门\n"); for (int i = 0; i < count; i++) { showEmployee(array[i]); } free(array); } // 修改职工信息 void modifyEmployee(int id) { if (head == NULL) { printf("当前没有职工信息!\n"); return; } Employee *current = head; while (current != NULL) { if (current->id == id) { printf("请输入新的姓名:"); scanf("%s", current->name); printf("请输入新的性别:"); scanf("%s", current->gender); printf("请输入新的出生年月:"); scanf("%s", current->birth); printf("请输入新的籍贯:"); scanf("%s", current->hometown); printf("请输入新的部门:"); scanf("%s", current->department); printf("修改成功!\n"); return; } current = current->next; } printf("没有找到工号为%d的职工信息!\n", id); } // 统计年龄 void statisticsAge() { if (head == NULL) { printf("当前没有职工信息!\n"); return; } int age1 = 0, age2 = 0, age3 = 0; Employee *current = head; while (current != NULL) { int birthYear = atoi(strtok(current->birth, "-")); int nowYear = atoi(strtok(NULL, "-")); int age = 2021 - nowYear; if (age < 30) { age1++; } else if (age < 50) { age2++; } else { age3++; } current = current->next; } printf("30岁以下的人数:%d\n", age1); printf("30-50岁的人数:%d\n", age2); printf("50岁以上的人数:%d\n", age3); } int main() { int choice = -1; while (choice != 0) { showMenu(); printf("请输入您的选择:"); scanf("%d", &choice); switch (choice) { case 1: showAllEmployees(); break; case 2: { int id; printf("请输入工号:"); scanf("%d", &id); findEmployeeById(id); break; } case 3: { char name[20]; printf("请输入姓名:"); scanf("%s", name); findEmployeeByName(name); break; } case 4: { char gender[5]; printf("请输入性别:"); scanf("%s", gender); findEmployeeByGender(gender); break; } case 5: { char department[20]; printf("请输入部门:"); scanf("%s", department); findEmployeeByDepartment(department); break; } case 6: { Employee *e = (Employee *)malloc(sizeof(Employee)); printf("请输入工号:"); scanf("%d", &(e->id)); printf("请输入姓名:"); scanf("%s", e->name); printf("请输入性别:"); scanf("%s", e->gender); printf("请输入出生年月(格式为xxxx-xx-xx):"); scanf("%s", e->birth); printf("请输入籍贯:"); scanf("%s", e->hometown); printf("请输入部门:"); scanf("%s", e->department); e->next = NULL; insertEmployee(e); printf("插入成功!\n"); break; } case 7: { int id; printf("请输入工号:"); scanf("%d", &id); deleteEmployeeById(id); break; } case 8: { int order; printf("请选择排序方式(1为升序,-1为降序):"); scanf("%d", &order); sortEmployeeByBirth(order); break; } case 9: { int order; printf("请选择排序方式(1为升序,-1为降序):"); scanf("%d", &order); sortEmployeeById(order); break; } case 10: { int id; printf("请输入工号:"); scanf("%d", &id); modifyEmployee(id); break; } case 11: statisticsAge(); break; case 0: printf("谢谢使用,再见!\n"); break; default: printf("输入有误,请重新输入!\n"); } } return 0; } ```

相关推荐

最新推荐

recommend-type

XX系统测试方案设计_ 模板.docx

XX系统测试方案设计是软件开发过程中的重要环节,旨在确保产品的质量和稳定性。这份文档详细规划了测试的各项要素,包括概述、测试环境、测试需求以及针对性能、安全、兼容性、升级等多个方面的测试策略。 1. **...
recommend-type

安装好Pycharm后如何配置Python解释器简易教程

PyCharm会应用这些更改,并可能需要一段时间来加载新配置的解释器和库。 7. 配置完成后,之前可能出现的错误提示将消失,你就可以开始在PyCharm中愉快地编写Python代码了。 如果在"Project Interpreter"下拉列表中...
recommend-type

功能测试方案及用例.doc

**XX项目功能测试方案及用例** 在软件开发过程中,功能测试是确保产品符合预期功能、性能和用户体验的关键环节。本文档将详细阐述XX项目的功能测试方案和测试用例,旨在提供一个全面、规范的测试指导,以确保系统...
recommend-type

学校图书管理系统论文设计,给临近搞毕业设计的同学一个参考,希望能够对你用一定的用处

《XX中学图书馆管理系统》这篇毕业设计论文主要探讨了如何利用编程技术构建一个全面的图书管理系统,为学校的图书管理工作提供便利。作者张山在指导教师的指导下,选择了Visual Basic作为开发工具,结合Access2000...
recommend-type

企业网站--毕业设计论文

在本文中,我们将深入探讨一个以"xx企业网站的设计与实现"为题的毕业设计论文,该设计使用了ASP.NET平台,以C#语言作为主要编程语言,并借助ADO.NET技术进行数据处理。 首先,对于任何网站开发项目,需求分析是至关...
recommend-type

计算机二级Python真题解析与练习资料

资源摘要信息:"计算机二级的Python练习题资料.zip"包含了一系列为准备计算机二级考试的Python编程练习题。计算机二级考试是中国国家计算机等级考试(NCRE)中的一个级别,面向非计算机专业的学生,旨在评估和证明考生掌握计算机基础知识和应用技能的能力。Python作为一种流行的编程语言,因其简洁易学的特性,在二级考试中作为编程语言选项之一。 这份练习题资料的主要内容可能包括以下几个方面: 1. Python基础知识:这可能涵盖了Python的基本语法、数据类型、运算符、控制结构(如条件判断和循环)等基础内容。这部分知识是学习Python语言的根基,对于理解后续的高级概念至关重要。 2. 函数与模块:在Python中,函数是执行特定任务的代码块,而模块是包含函数、类和其他Python定义的文件。考生可能会练习如何定义和调用函数,以及如何导入和使用内置和第三方模块来简化代码和提高效率。 3. 数据处理:这部分可能涉及列表、元组、字典、集合等数据结构的使用,以及文件的读写操作。数据处理是编程中的一项基本技能,对于数据分析、数据结构化等任务至关重要。 4. 异常处理:在程序运行过程中,难免会出现错误或意外情况。异常处理模块使得Python程序能够更加健壮,能够优雅地处理运行时错误,而不是让程序直接崩溃。 5. 面向对象编程:Python是一门支持面向对象编程(OOP)的语言。在这部分练习中,考生可能会学习到类的定义、对象的创建、继承和多态等概念。 6. 标准库的使用:Python标准库提供了丰富的模块,可以用来完成各种常见任务。例如,标准库中的`math`模块可以用来进行数学运算,`datetime`模块可以用来处理日期和时间等。 7. 综合应用题:这些练习题旨在考查学生综合运用所学知识解决实际问题的能力。可能涉及到算法设计、数据结构的应用、简单项目开发等。 练习题资料通常会按照一定的难度梯度进行排列,从简单到复杂,帮助考生循序渐进地提高。这种资料对于那些希望通过计算机二级Python考试的考生来说,是非常宝贵的复习材料。通过大量的练习,考生可以熟悉考试的题型和答题技巧,提高解题速度和准确率。 此外,这份资源的文件名称" NCRE2-主Pythonmaster"可能暗示了这是一套专门为计算机二级Python考试设计的、由精通Python的专家编制的材料。"master"可能表示材料内容精湛,覆盖了考试的各个方面,能够帮助考生达到掌握Python编程的目的。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

【Select的局限性剖析】:如何突破Select模块的限制与挑战

![【Select的局限性剖析】:如何突破Select模块的限制与挑战](https://kafle.io/images/tutorials/joomla/21.jpg) # 1. Select模块的原理与基础 ## 1.1 Select模块的基本概念 Select模块是Unix/Linux系统中一种传统的IO多路复用技术,它允许单个进程监视多个文件描述符(FD),当这些文件描述符中的任何一个变为可读、可写或发生异常时,进程就可以得到通知。它的设计初衷是为了解决在一个进程中同时处理多个网络连接的问题。 ## 1.2 Select模型的数据结构分析 Select模型的核心数据结构是fd_se
recommend-type

servlet删除功能的代码

在Servlet中实现删除功能,通常涉及到HTTP请求的DELETE方法。以下是一个简单的示例,假设我们有一个用户管理的Web应用,想要删除一个特定ID的用户: ```java import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.s
recommend-type

无需安装即可运行的Windows版XMind 8

资源摘要信息: "Windows版本Xmind免安装版本" 知识点详细说明: 1. Windows操作系统兼容性: - Xmind是一款在Windows操作系统上广泛使用的思维导图软件,该免安装版本特别适合Windows用户。 - "免安装版本"意味着用户无需经历复杂的安装过程,即可直接使用该软件,极大地方便了用户的操作。 - "下载下来后解压"表明用户在下载文件后需要进行解压缩操作,通常可以使用Windows系统自带的解压缩工具或者第三方解压缩软件来完成这一步骤。 2. Xmind软件概述: - Xmind是一款专业级别的思维导图和头脑风暴软件,它可以帮助用户梳理思维、组织信息、规划项目等。 - 它提供了丰富的导图结构,如经典思维导图、逻辑图、树形图、鱼骨图等,适应不同的应用场景。 - Xmind支持跨平台使用,除Windows外,还包括Mac和Linux系统。 3. "直接运行xmind.exe"使用说明: - "xmind.exe"是Xmind软件的可执行文件,运行该文件即可启动软件。 - 用户在解压得到的文件列表中找到xmind.exe文件,并双击运行,即可开始使用Xmind进行思维导图的创作和编辑。 - 由于是免安装版本,用户在使用过程中不需要担心安装包占用过多的磁盘空间。 4. 软件版本信息: - "XMind 8 Update 1"指的是Xmind软件的第八个主版本的第一次更新。 - 软件更新通常包含功能改进、错误修复以及性能优化,确保用户能够获得更加稳定和高效的使用体验。 - 特别提到的更新版本号,可能是发布时最为稳定的版本,或者是针对特定问题修复的版本,供用户选择下载使用。 5. 下载与积分说明: - "没有积分的同学如果需要下载可以私信我"暗示该资源可能并非完全公开可获取,需要特定条件或权限才能下载。 - "积分"可能是下载资源站点的机制,用于记录用户的活跃度或者作为资源的交换条件。 6. 标签信息: - "windows 开发工具"表明该资源是面向Windows用户的开发工具,尽管Xmind主要用于思维导图制作,但它在开发过程中也有助于项目管理和需求梳理。 - 标签提供了对资源性质的快速识别,有助于用户在资源库中进行筛选和查找。 总结而言,这是一个面向Windows用户的免安装版本的Xmind思维导图软件下载信息。用户无需复杂的安装过程,直接解压后运行xmind.exe即可开始使用。该版本为Xmind的第八版的第一次更新,可能提供了新功能和性能改进。如果用户需要获取这个资源但缺乏必要的下载积分,可以通过私信的方式进行沟通。该资源被归类为开发工具,可能对项目管理和需求分析有辅助作用。