一个简单的学生成绩管理系统

#include <stdio.h>
#include <malloc.h>

struct Student{
	char name[100];
	int age;
	float score;
};
 
void input_student(struct Student * parr, int len); 
void sort(struct Student * a, int len);
void output_student(struct Student * a, int len);

int main()
{	
	int len;
	struct Student * parr;
	
	parr = (struct Student *)malloc(len * sizeof(struct Student));
	
	printf("请输入学生总个数:");
	scanf("%d",&len);
		
	input_student(parr,len);
	


	sort(parr,len);
	output_student(parr, len);
	return 0;
}

void input_student(struct Student * parr, int len)
{
	int i;
	
	for (i=0; i<len; i++)
	{
		printf("请输入第 %d 个学生的信息\n",i+1);
		
		printf("名字:");
		scanf("%s",parr[i].name); 
		
		printf("年龄:");
		scanf("%d",&parr[i].age); 
		
		printf("成绩:");
		scanf("%f",&parr[i].score); 
	}
}

void sort(struct Student * a, int len)
{
	int i, j;
	struct Student t;
	
	for (i=0; i<len-1; i++)
	{
		for (j=0; j<len-1-i; j++)
		{
			if (a[j].score < a[j+1].score)    
			{
				t = a[j];
				a[j] = a[j+1];
				a[j+1] = t;
			}
		}
	}
}

void output_student(struct Student * a, int len)
{
	int i;
	for (i=0; i<len; i++)
	{
		printf("第 %d 个学生的信息:\n", i+1);
		printf("名字:%s 年龄:%d 成绩:%f\n",a[i].name, a[i].age, a[i].score);
	}
}

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单学生成绩管理系统的Java代码: import java.util.Scanner; public class StudentGradeManagementSystem { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int numStudents = 0; int[] studentIds = new int[100]; String[] studentNames = new String[100]; double[] studentGrades = new double[100]; int choice; do { System.out.println("== 学生成绩管理系统 =="); System.out.println("1. 添加学生"); System.out.println("2. 修改学生"); System.out.println("3. 删除学生"); System.out.println("4. 查询学生信息"); System.out.println("5. 显示所有学生信息"); System.out.println("0. 退出系统"); System.out.print("请选择操作:"); choice = scanner.nextInt(); switch (choice) { case 1: System.out.print("请输入学生学号:"); int id = scanner.nextInt(); System.out.print("请输入学生姓名:"); String name = scanner.next(); System.out.print("请输入学生成绩:"); double grade = scanner.nextDouble(); studentIds[numStudents] = id; studentNames[numStudents] = name; studentGrades[numStudents] = grade; numStudents++; System.out.println("添加学生成功!"); break; case 2: System.out.print("请输入要修改的学生学号:"); int modifyId = scanner.nextInt(); int modifyIndex = -1; for (int i = 0; i < numStudents; i++) { if (studentIds[i] == modifyId) { modifyIndex = i; break; } } if (modifyIndex != -1) { System.out.print("请输入新的学生姓名:"); String modifyName = scanner.next(); System.out.print("请输入新的学生成绩:"); double modifyGrade = scanner.nextDouble(); studentNames[modifyIndex] = modifyName; studentGrades[modifyIndex] = modifyGrade; System.out.println("修改学生信息成功!"); } else { System.out.println("学号为 " + modifyId + " 的学生不存在!"); } break; case 3: System.out.print("请输入要删除的学生学号:"); int deleteId = scanner.nextInt(); int deleteIndex = -1; for (int i = 0; i < numStudents; i++) { if (studentIds[i] == deleteId) { deleteIndex = i; break; } } if (deleteIndex != -1) { for (int i = deleteIndex; i < numStudents - 1; i++) { studentIds[i] = studentIds[i + 1]; studentNames[i] = studentNames[i + 1]; studentGrades[i] = studentGrades[i + 1]; } numStudents--; System.out.println("删除学生成功!"); } else { System.out.println("学号为 " + deleteId + " 的学生不存在!"); } break; case 4: System.out.print("请输入要查询的学生学号:"); int searchId = scanner.nextInt(); int searchIndex = -1; for (int i = 0; i < numStudents; i++) { if (studentIds[i] == searchId) { searchIndex = i; break; } } if (searchIndex != -1) { System.out.println("学号:" + studentIds[searchIndex]); System.out.println("姓名:" + studentNames[searchIndex]); System.out.println("成绩:" + studentGrades[searchIndex]); } else { System.out.println("学号为 " + searchId + " 的学生不存在!"); } break; case 5: System.out.println("== 所有学生信息 =="); System.out.println("学号\t姓名\t成绩"); for (int i = 0; i < numStudents; i++) { System.out.println(studentIds[i] + "\t" + studentNames[i] + "\t" + studentGrades[i]); } break; case 0: System.out.println("感谢使用学生成绩管理系统!"); break; default: System.out.println("输入的操作不正确,请重新输入!"); break; } } while (choice != 0); } }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值