当前位置:网站首页>学生成绩查找系统
学生成绩查找系统
2022-08-09 11:08:00 【追梦杰尼龟】
学生成绩查找系统
题目
:`学生成绩查找系统是一个根据姓名查找学生成绩的系统。系统可以录入是学生的姓名和成绩,录完之后可以输入查找条件,即学生的姓名,查找该生的成绩,如果存在该生的信息,则输出该生成绩,否则给出查无此人的提示信息。
输入
:题目输入包括录入学生信息和输入查找条件以及输入结束标志。insert语句表示录入学生信息,格式为字符insert+空格+字符串+空格+数字+换行符 ,例如 insert xiaohua 99 ,表示录入姓名为xiaohua的学生,其成绩为99 。 find语句表示查找某学生的信息,格式为字符find+空格+字符串+换行符。例如 find xiaohua。end语句表示输入结束,格式为字符end
输出
:对应每一条find语句都应该有一条输出语句。对于find xiaohua这条输入语句,因为已经插入过xiaohua的成绩 需要输出 99+换行符,否则查找不到输出-1+换行符。
输入格式
:
insert zhangsan 90
insert lisi 78
insert xiaoming 86
find xiaoming
find Jack
end
输出格式
:
86
-1
思路
1.因为需要不断地输入,所以在输入的时候需要用到while(scanf())。
2.需要存储学生的姓名和成绩,那就需要定义结构体数组。
3.查找–可以用字符串函数strcmp进行比对
4.输出的时候可以运用循环,遍历结构体数组,当查找到的和自己所需要的一样的,就循环输出。
代码实现
#include<stdio.h>
#include<string.h>
struct student
{
char name[20];
int score;
}stu[100];
int main()
{
char a[20]; //定义一维数组,用来存放insert , find, end
int cnt = 0; //计数器
while(scanf("%s",a))
{
if(strcmp(a,"end") == 0) //如果输入的字符串是end的话 就跳出
{
break;
}
if(strcmp(a,"insert") == 0) //如果输入的字符串是insert的话
//就将学生的姓名和成绩存入结构体数组之中
{
scanf("%s %d",&stu[cnt].name ,&stu[cnt].score );
cnt++; //每当输入过一个学生的姓名和成绩之后计数器加一
}
if(strcmp(a,"find") == 0) //如果输入的字符串是find的话
// 再定义一个数组存储需要查找的姓名
{
char b[20];
int flag = 0; //标记
scanf("%s",b);
int i; //定义循环变量i,用来遍历结构体数组
for(i=0; i<cnt; i++) //条件是i<cnt;遍历结构体数组
{
if(strcmp(b,stu[i].name ) == 0) //如果遍历的结构体数组之中有需要查询的姓名的话,
//输出并且将flag = 1;
{
printf("%d\n",stu[i].score );
flag = 1;
break;
}
}
if(flag == 0) //flag=0的都是没有存入结构体数组之中的,输出-1即可
{
printf("-1\n");
}
}
}
return 0;
}
注释之中详细的解释了代码
这道题就完成了!!!
边栏推荐
猜你喜欢
随机推荐
备份mongodb数据库(认证)
无刷无霍尔BLCD电机控制
kubernetes中不可见的OOM
Invisible OOM in kubernetes
Beauty Values
Multi-merchant mall system function disassembly 26 lectures - platform-side distribution settings
TensorFlow—计算梯度与控制梯度 : tf.gradients和compute_gradients和apply_gradients和clip_by_global_norm控制梯度
学长告诉我,大厂MySQL都是通过SSH连接的
electron 应用开发优秀实践
tensorflow和numpy对应的版本,报FutureWarning: Passing (type, 1) or ‘1type‘ as a synonym of type is deprecate
CentOS6.5 32bit安装Oracle、ArcSde、Apache等配置说明
focusablejs
图片查看器viewer
Qt读写.ini配置文件
x86 Exception Handling and Interrupt Mechanism (3) Interrupt Handling Process
PTA习题 分类统计字符个数(C)
程序员的专属浪漫——用3D Engine 5分钟实现烟花绽放效果
双向链表的各种操作
matlab fcnchk 函数用法
【C language】typedef的使用:结构体、基本数据类型、数组