用结构体数组存储学生信息,输入学生学号,查询相应的成绩

用结构体数组存储学生信息,输入学生学号,查询相应的成绩
主要是熟练一下结构体的运用,思路:先存储学生信息,然后做相应的查询,在存储过程中,设置以#为结束标志,在查找过程中,同样以#为结束标志,这里用到了strcmp(char1, char2),代码如下:

#include <stdio.h>
#include <string.h>
struct info{
	char name[12];
	char id[9];
	char score[10];
};
int readin(struct info *a)
{
	int n=0,i=0;
	while(1)
	{
		scanf("%s",a[i].name);
		if(!strcmp(a[i].name,"#"))//这里表示输入为#表示输入结束 
		    break;
		scanf("%s",a[i].id);
		scanf("%s",a[i].score);
		i++;
		n++;
	}
	return n;//n表示存储的学生条数 
}
void findout(struct info *a, char *b, int n)
{
	int i=0,j=0;
	while(1)
	{
		if(!strcmp(a[i].id, b))//这里表示的是搜索到要查询的学号的情况 
		{
			printf("%s score is: %s\n",a[i].name,a[i].score);
			break;
		}
		i++;
		n--;
		if(n==0)
		{
		   printf("not found\n");
		   break;
		}
	}
		
}
int main()
{
	struct info list[30];
	char id[10];
	int n;
	n = readin(list);
	while(1) //这里是实现循环输入查询,多次查询 
	{
	   printf("please put in you id: "); 
	   scanf("%s",id);
       if(!strcmp(id,"#"))
          break;
       findout(list,id,n);
	}
	return 0;
	
}

在这里插入图片描述

  • 20
    点赞
  • 109
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: C语言学生成绩管理系统设计中,使用结构体数组可以有效地存储和管理学生信息成绩。结构体是一种自定义的数据类型,它可以将不同类型的数据组合在一起,以方便地表示一个学生信息。 通过使用结构体数组,我们可以定义一个包含多个学生结构体的数组,每个学生结构体可以包含学生学号姓名、年龄、性别等信息,还可以包括每个学生成绩。这样,我们可以通过索引值来访问和操作每个学生信息,方便快捷。 另外,用户权限管理是一个重要的功能,可以确保只有经过授权的用户才能使用系统的某些功能。我们可以通过为每个用户定义不同的权限等级来实现用户权限管理。比如,管理员可以有最高权限,可以对所有学生成绩进行增加、修改和删除操作,而普通用户只能查询学生成绩。 在代码设计过程中,我们可以定义一个结构体来表示用户的信息,包括用户名和密码等。可以通过输入用户名和密码来验证用户身份,如果验证成功则可以根据用户权限级别决定是否给予操作权限。 综上所述,使用结构体数组和用户权限管理是设计C语言学生成绩管理系统的两个重要方面。这样可以方便地存储和管理学生成绩信息,并通过用户权限管理确保只有经过授权的用户能够使用系统的相应功能。 ### 回答2: C语言学生成绩管理系统可以通过使用结构体数组和用户权限管理来设计。 结构体数组可以用来存储学生信息,每个结构体包含学生姓名学号、年级、科目和成绩信息。通过使用结构体数组,可以方便地对学生信息进行存储、查找、修改和删除等操作。 用户权限管理可以用来控制系统的访问权限。可以定义几种用户角色,如管理员、教师和学生。不同的用户角色具备不同的权限,管理员可以对学生成绩进行管理,教师可以录入和修改学生成绩学生只能查看自己的成绩。 在设计过程中,可以设置一个登录界面,用户输入用户名和密码进行登录,系统根据用户角色来判断用户的权限。管理员登录后可以对学生成绩进行增删改查操作,教师登录后可以录入和修改学生成绩学生登录后只能查看自己的成绩。 在实现学生成绩管理功能时,可以使用结构体数组存储学生信息,可以用循环来实现对结构体数组的遍历和操作。可以通过输入学号或者姓名来查找学生信息,找到学生后可以对其成绩进行修改。可以使用条件语句来判断用户的权限,根据用户的选择来执行相应的操作。 综上所述,通过使用结构体数组和用户权限管理,可以设计一个完善的C语言学生成绩管理系统。系统具备存储学生信息的功能,可以按照权限对学生成绩进行管理,提供了方便、快捷的操作方式,实现了学生成绩的录入、修改、查询和删除等功能。 ### 回答3: C语言学生成绩管理系统设计使用结构体数组可以有效地存储和管理学生成绩信息结构体数组可以将每个学生信息作为一个结构体对象存储数组中,每个结构体对象包括学生姓名学号、各科成绩信息。 通过结构体数组,我们可以方便地对学生成绩进行查询、修改、排序等操作。例如,可以通过学号姓名来查找学生成绩信息,并显示在屏幕上。同时,也可以对学生成绩进行修改,如增加、删除、修改学生的考试成绩。 另外,结构体数组还可以用来实现用户权限管理。可以定义一个用户结构体对象,包括用户名、密码和权限等信息。通过结构体数组,可以管理多个用户的权限,区分不同用户的操作权限。在系统中,可以设置不同的权限级别,如管理员、教师、学生等。管理员具有最高权限,可以进行任何操作,而教师和学生可能受限于某些操作。 通过用户权限管理,可以控制不同用户对成绩管理系统的访问和操作权限,确保系统的安全性和数据的完整性。只有经过身份验证并具有相应权限的用户才能进行具体操作,防止了未授权的访问和误操作。 总之,C语言学生成绩管理系统设计使用结构体数组和用户权限管理可以实现学生成绩信息存储、管理和查询,同时也能对用户进行权限管理,保证系统的安全性和数据的完整性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值