C语言怎么编一个简单的成绩管理系统?

C语言怎么编一个简单的成绩管理系统?,第1张

一个简单的成绩管理系统通常包括以下功能:

添加学生信息和成绩;

显示所有学生的信息和成绩;

根据学号或姓名查询学生信息和成绩;

根据学号或姓名修改学生信息和成绩;

根据学号或姓名删除学生信息和成绩。

下面是一个基于控制台的C语言实现的示例代码,演示了如何实现上述功能:

c

Copy code

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#define MAX_STUDENTS 100// 最多可管理的学生数

#define MAX_NAME_LEN 20 // 姓名最大长度

// 学生信息结构体

typedef struct {

int id// 学号

char name[MAX_NAME_LEN]// 姓名

int score // 成绩

} Student

Student students[MAX_STUDENTS]// 学生信息数组

int num_students = 0 // 当前学生数量

// 添加学生信息和成绩

void add_student() {

if (num_students >= MAX_STUDENTS) {

printf("已达到最大可管理的学生数!\n")

return

}

printf("请输入学生的学号:")

scanf("%d", &students[num_students].id)

printf("请输入学生的姓名:")

scanf("%s", students[num_students].name)

printf("请输入学生的成绩:")

scanf("%d", &students[num_students].score)

num_students++

printf("添加成功!\n")

}

// 显示所有学生的信息和成绩

void show_all_students() {

if (num_students == 0) {

printf("暂无学生信息!\n")

return

}

printf("%-10s %-20s %-10s\n", "学号", "姓名", "成绩")

for (int i = 0i <num_studentsi++) {

printf("%-10d %-20s %-10d\n", students[i].id, students[i].name, students[i].score)

}

}

#include <stdio.h>

#include <string.h>

#include <stdlib.h>

#define MAX 1000

/*定义学生成绩信息结构*/

struct stu

{

char id[8]

char name[8]

扩展资料:

short:修饰int,短整型数据,可省略被修饰的int。(K&R时期引入)

long:修饰int,长整型数据,可省略被修饰的int。(K&R时期引入)

long long:修饰int,超长整型数据,可省略被修饰的int。(C99标准新增)

signed:修饰整型数据,有符号数据类型。(C89标准新增)

unsigned:修饰整型数据,无符号数据类型。(K&R时期引入)

restrict:用于限定和约束指针,并表明指针是访问一个数据对象的唯一且初始的方式。(C99标准新增)

复杂类型关键字

struct:结构体声明。(K&R时期引入)

union:联合体声明。(K&R时期引入)

enum:枚举声明。(C89标准新增)

typedef:声明类型别名。(K&R时期引入)

sizeof:得到特定类型或特定类型变量的大小。(K&R时期引入)

inline:内联函数用于取代宏定义,会在任何调用它的地方展开。(C99标准新增)

参考资料来源:百度百科-c语言

程序如下: #include\x0d\x0avoid main()\x0d\x0a{\x0d\x0a float student[100][7]\x0d\x0a//student[][0]存放学号,student[][1]到student[][4]存放四门成绩,\x0d\x0a//student[][5]存放总分,student[][6]存放平均分,student[][7]存放排名\x0d\x0a int n,i,j,k,p,t,count,flag\x0d\x0a int a[100],b[100],c[100]\x0d\x0a//a[]存放排序后的下标,b[]存放总分(备份),c[]存放排名的数据\x0d\x0a printf("输入学生的个数:\n")\x0d\x0a scanf("%d",&n)\x0d\x0a for(i=0ib[i+1])\x0d\x0a{\x0d\x0a c[i]=count\x0d\x0a count++\x0d\x0a}\x0d\x0a }\x0d\x0a printf("\n以下是统计结果:\n")\x0d\x0a printf("学号 s[1]s[2]s[3]s[4] 总分 平均分排名\n")\x0d\x0a for(i=0i 回答于 2022-11-16


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/7811609.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-10
下一篇 2023-04-10

发表评论

登录后才能评论

评论列表(0条)

保存