题目概述:
C语言人物查询系统编程。
编程:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct people
{
char name[10];
int age;
char addr[20];
float score;
};
struct people array[100]; //记录信息
int count = 0; //计数
void mulu()
{
printf("-------人物管理系统-------\n");
printf("\t0.退出系统!\n");
printf("\t1.录入人物信息!\n");
printf("\t2.浏览人物信息!\n");
printf("\t3.查询人物信息!\n");
printf("\t4.修改人物信息!\n");
printf("\t5.删除人物信息!\n");
printf("---------------------------\n");
printf(“请输入(0~5):”);
}
//负责输入
void input()
{
printf(“请输入人物信息(name age addr score):”);
scanf("%s%d%s%f", array[count].name, &array[count].age, array[count].addr, &array[count].score);
count++;
}
//负责打印
void print(struct people array[], int count)
{
printf(“name\tage\taddr\tscore\n”);
for (int i=0; i < count; i++)
{
printf("%s\t%d\t%s\t%.1f\n", array[i].name, array[i].age, array[i].addr, array[i].score);
}
}
//负责查询(例:名称查询)
int searchResult(char* name)
{
for (int i = 0; i < count; i++)
{
if (strcmp(array[i].name, name) == 0)
{
return i;
}
}
return -1;
}
//负责删除
void deleteByName(char* name)
{
if (searchResult(name) == -1)
{
printf(“未找到相关信息!\n”);
return;
}
else
{
for (int i = searchResult(name); i < count; i++)
{
array[i] = array[i + 1];
}
count- -;
printf(“删除成功!”);
}
}
void keyDown()
{
int choice = 0;
int i = 0;
char name[20];
scanf("%d", &choice);
switch (choice)
{
case 0:
printf(“正常退出!\n”);
system(“pause”);
exit(0);//退出
break;
case 1://录入人物信息
input();
break;
case 2://浏览人物信息
print(array, count);
break;
case 3://查询人物信息
printf(“请输入查询人物name:”);
scanf("%s", name);
if (searchResult(name) == -1)
{
printf(“未找到相关信息!\n”);
}
else
{
i = searchResult(name);
printf("%s\t%d\t%s\t%.1f\n", array[i].name, array[i].age, array[i].addr, array[i].score);
}
break;
case 4://修改人物信息
printf(“查询人物name:”);
scanf("%s", name);
if (searchResult(name) == -1)
{
printf(“未找到相关信息!\n”);
}
else
{
printf(“请输入新的人物信息:(name age addr score):”);
i = searchResult(name);
scanf("%s%d%s%f", array[i].name, &array[i].age, array[i].addr, &array[i].score);
printf(“修改成功!\n”);
}
break;
case 5://删除人物信息
//数组删除是伪删除(将后面数值向前移)
printf(“请输入删除人物name:”);
scanf("%s", name);
deleteByName(name);
break;
default:
break;
}
}
int main()
{
while (1)
{
mulu();
keyDown();
system(“pause”);//锁屏
system(“cls”);//清屏
}
}
上机实践:







C语言:人物查询系统(结构体数组的基本使用)相关推荐

  1. 【☀️C语言函数传参の结构体数组篇☀️】

    背景介绍 C语言中函数参数传递的两种方式("引用传递做函数参数"是C++的特性,C语言不支持.) (1)传值,就是把你的变量的值传递给函数的形式参数,实际就是用变量的值来新生成一个 ...

  2. C语言学生管理系统(结构体数组)

    简介 简单的学生管理系统,使用C语言编写. 功能 拥有增.删.改.查.打印.文件读写.搜索以及排序功能. 环境 推荐使用VS2015或以上版本(支持C11或以上)的编译器运行代码. 结构 数据结构为结 ...

  3. c语言读取文件到结构体数组,有关文件读写到结构体数组问题;

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 typedef struct IMG { char *name; int weight; int height; }IMG; 这是我的结构体存的是 图片的 ...

  4. C语言学生信息管理系统(结构体数组,文件)

    C语言学生信息管理系统(结构体数组,文件) 这是初学时写的一个程序,比较菜,不喜勿喷.在一个结构体里定义结构体内所有的信息(如果信息也需要分类则可以再定义一个结构体并在当前结构体内声明,我的这个代码在 ...

  5. c语言获取结构体大小sizeof,C语言sizeof求结构体数组长度

    C语言sizeof求结构体数组长度 C语言sizeof求结构体数组长度 #include typedef struct ss{ char a;//偏移量为0,大小为1,0能被1整除,=1 short ...

  6. C语言结构体数组,结构体数组的定义,结构体数组的输出,结构体的应用

    结构体数组 结构体数组的定义: 结构体数组格式:声明变量类型 数组名称[数组长度] //定义一个结构体数组名为a,它里面包含有5个元素,每一个元素都是一个结构体变量 Wor a[5]={}; #inc ...

  7. C语言常用编程技巧-结构体数组

    本文主要用来记录C语言常用编程技巧,完成一下目的: 1.函数指针如何定义使用: 2.结构体数组如何定义使用: 3.callback 方法使用技巧: 以下代码为在ubuntu 系统进行编译,文件名为 s ...

  8. 【C 语言】结构体 ( 结构体 数组 作为函数参数 | 数组 在 堆内存创建 )

    文章目录 一.结构体 数组 作为函数参数 ( 数组 在 堆内存创建 ) 二.完整代码示例 一.结构体 数组 作为函数参数 ( 数组 在 堆内存创建 ) 在上一篇博客 [C 语言]结构体 ( 结构体 数 ...

  9. C语言结构体和结构体数组示例 - Win32窗口程序演示

    C语言结构体和结构体数组的使用: /* C结构体和结构体数组示例,by bobo */#include <windows.h>LRESULT CALLBACK WndProc (HWND, ...

最新文章

  1. weblogic mime-type
  2. 引入外部化的配置文件
  3. 华为云网络覆盖全球2500+站点,打造高品质、低成本接入体验
  4. Kubernetes基础:Pod的详细介绍
  5. 网站集成支付宝接口安装教程
  6. 端到端O-RAN用例测试
  7. Mybatis 源码分析(一)配置文件加载流程
  8. 5-9 第五天 微信 JS-SDK-使用微信官方的WEB调试工具
  9. paip.SOCKET抓包工具总结V2012.9.17
  10. 计算机使用交接记录表,交接文档_计算机软件及应用_IT计算机_专业资料
  11. SSM9==SSM项目启动过程、xml配置SSM项目及需要的3大配置文件、原生SSM未前后端分离的电商网站项目(角色管理员、购买者)只使用了最基础的注解,Model传参
  12. GitHub简单入门
  13. 部署免安装版MySQL
  14. Python爬取堆糖网的表情包(再也不用担心斗图失败了)
  15. 2022.1.9 力扣-周赛-统计追加字母可以获得的单词数
  16. 新媒体数据分析:新媒体运营主要做什么?
  17. 今天兼职的那份工作,安排了休息
  18. 选择性注意中的“salience map”的作用是什么?
  19. SMTP判断邮箱是否存在 检查email地址是否真实存在
  20. 单片机c语言1ms 2ms 4ms方波,第4章 7~10节 单片机C语言.ppt

热门文章

  1. Py自动化办公—Word文档替换、Excel表格读取、Pdf文件生成和Email自动邮件发送实战案例...
  2. 计算机速录比赛主题,速录技能比赛活动方案.doc
  3. Windows 下编辑 hosts 文件
  4. Ubuntu18.04 虚拟机永久设置分辨率1920x1080
  5. 打印机能打印测试页但是无法打印的解决办法
  6. 本地镜像运行Docker容器Unable to find image 'hello-world:latest' locally docker: Error response from daemon
  7. 缩进text-indent标签造成图片也缩进解决方案
  8. 想去一线大厂先过这一关, Java-SSM框架相关面试题整理!!!
  9. visio中公式太小_齿轮泵的进出口方向和口径是如何确定的,泵的进出口径公式...
  10. 12个见所未见的微信小程序,功能都非常好用,对你绝对有用!