• 请问怎么编程菜单和好多东西学校都没教


    关注 码龄 粉丝数 原力等级 -- 被采纳 被点赞 采纳率 2401_83612978 2024-04-14 10:18 采纳率: 25% 浏览 3 首页/ 编程语言 / 请问怎么编程菜单和好多东西学校都没教 c语言 第三章 职工档案及简明信息生成3.1 设计题目本设计要求使用头文件和菜单,并组成一个工程文件,对职工的档案进行管理并生成职工的简明信息。3.2 设计要求设计要求实现如下功能:(1)建立wkrs职工数据结构,结构含有姓名、序号、性别和年龄信息。(2)建立一个结构数组,以便存储10个职工信息。(3)设计一个readin函数,以便采用问答式输入10个职工的信息。(4)编写一个display函数,要求使用结构指针作为参数,用来输出结构数组的内容。(5)建立wks职工简明数据结构,结构中只含有姓名和年龄信息。(6)编制一个srt函数,根据wks结构建立的职工情况,把职工姓名和年龄信息抽出来,另外建一个只含职工姓名和年龄的wkshort结构的数组。(7)编制一个delwk函数,可以从简明数据结构中删去指定的职工数据。如果数组中没有要删去的职工,则输出没有这个职工的信息;如果将内容全部删去,应该给出内容已空的提示信息。(8)将上述函数编制在一个文件里,共用一个头文件。(9)用一个简单的菜单提供上述操作。菜单信息为:1、输入数据2、显示原始数据3、制作简明数据4、删除简明数据5、结束退出Please Input 1-5: 收起 写回答 好问题 0 提建议 追加酬金 关注问题 微信扫一扫 点击复制链接 分享 邀请回答 编辑 收藏 删除 结题 收藏 举报 追加酬金 (90%的用户在追加酬金后获得了解决方案) 当前问题酬金 ¥ 0 (可追加 ¥500) ¥ 15¥ 20¥ 50¥ 100¥ 200 支付方式 扫码支付 二维码出错 点击刷新 支付金额 15 元 提供问题酬金的用户不参与问题酬金结算和分配 支付即为同意 《付费问题酬金结算规则》 结题 再想想 删除 再等等

    2条回答 默认 最新

    • CSDN-Ada助手 CSDN-AI 官方账号 2024-04-14 12:07
      关注

      【相关推荐】




      如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
      评论
    • GISer Liu 2024-04-14 16:21
      关注

      该回答引用自GPT-3.5,由博主GISer Liu编写:

      这个问题需要用 C
      语言编写一个程序来管理职工档案并生成简明信息。首先,我们需要创建一个包含员工姓名、序号、性别和年龄信息的结构体,并建立一个结构数组来存储员工信息。接下来,编写函数来实现输入员工信息、显示原始数据、制作简明数据、删除简明数据等功能。最后,创建一个简单的菜单来提供这些操作。

      解决思路与解决方案:

      1. 定义数据结构和全局变量:

      cCopy code

      #include 
      // 职工数据结构
      struct Worker {
      char name[50];
      int id;
      char gender;
      int age;
      };
      // 简明职工数据结构
      struct WorkerShort {
      char name[50];
      int age;
      };
      // 全局变量
      struct Worker workers[10]; // 存储员工信息的结构数组
      struct WorkerShort workerShorts[10]; // 存储简明员工信息的结构数组
      int numWorkers = 0; // 记录当前已输入的员工数量
      

      2. 实现输入员工信息的函数 readin

      cCopy code

      void readin() {
      printf("请输入职工信息:\n");
      for (int i = 0; i < 10; i++) {
      printf("姓名:");
      scanf("%s", workers[i].name);
      printf("序号:");
      scanf("%d", &workers[i].id);
      printf("性别:");
      scanf(" %c", &workers[i].gender);
      printf("年龄:");
      scanf("%d", &workers[i].age);
      numWorkers++;
      }
      printf("信息输入完成。\n");
      }
      

      3. 实现显示原始数据的函数 display

      cCopy code

      void display() {
      printf("原始数据如下:\n");
      for (int i = 0; i < numWorkers; i++) {
      printf("姓名:%s, 序号:%d, 性别:%c, 年龄:%d\n", workers[i].name, workers[i].id, workers[i].gender, workers[i].age);
      }
      }
      

      4. 实现制作简明数据的函数 makeShort

      cCopy code

      void makeShort() {
      printf("制作简明数据...\n");
      for (int i = 0; i < numWorkers; i++) {
      strcpy(workerShorts[i].name, workers[i].name);
      workerShorts[i].age = workers[i].age;
      }
      printf("简明数据制作完成。\n");
      }
      

      5. 实现删除简明数据的函数 deleteShort

      cCopy code

      void deleteShort(char *name) {
      int deleted = 0;
      for (int i = 0; i < numWorkers; i++) {
      if (strcmp(workerShorts[i].name, name) == 0) {
      // 找到匹配的职工姓名,将其删除
      for (int j = i; j < numWorkers - 1; j++) {
      strcpy(workerShorts[j].name, workerShorts[j + 1].name);
      workerShorts[j].age = workerShorts[j + 1].age;
      }
      deleted = 1;
      numWorkers--;
      break;
      }
      }
      if (deleted)
      printf("职工 %s 数据已删除。\n", name);
      else
      printf("未找到职工 %s 的数据。\n", name);
      if (numWorkers == 0)
      printf("简明数据已清空。\n");
      }
      

      6. 编写主函数和菜单循环:

      cCopy code

      int main() {
      int choice;
      do {
      printf("菜单信息:\n1、输入数据\n2、显示原始数据\n3、制作简明数据\n4、删除简明数据\n5、结束退出\n");
      printf("请选择操作(输入1-5):");
      scanf("%d", &choice);
      switch (choice) {
      case 1:
      readin();
      break;
      case 2:
      display();
      break;
      case 3:
      makeShort();
      break;
      case 4:
      char name[50];
      printf("请输入要删除的职工姓名:");
      scanf("%s", name);
      deleteShort(name);
      break;
      case 5:
      printf("程序已退出。\n");
      break;
      default:
      printf("无效选择,请重新输入。\n");
      }
      } while (choice != 5);
      return 0;
      }
      

      这个方案包含了所需的所有功能,并提供了简单的菜单供用户选择。如果有任何问题或需要进一步解释,请随时提出。

      如果该回答解决了您的问题,请采纳!如果没有,请私信联系或评论您的疑惑

      展开全部

      评论
    编辑
    预览

    报告相同问题?

  • 相关阅读:
    从零开始学习Dubbo4——让模块独立运行
    《向量数据库指南》——提高向量数据库Milvus Cloud 2.3的运行效率
    No144.精选前端面试题,享受每天的挑战和学习
    朋友圈一键转发(可修改文案),无需多个账号复制粘贴
    弹性容器----六大属性(5、项目在交叉轴上的对齐方式)
    Linux定时任务Cron
    记误删Linux的python与yum
    sed去除文件中的引号
    如何计算 GPT 的 Tokens 数量?
    [Linux]------线程控制与互斥
  • 原文地址:https://ask.csdn.net/questions/8088175