数组实现c语言学生成绩管理系统

本文介绍如何使用C语言创建一个简单的学生成绩管理系统,包括核心功能的实现和代码解析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

c语言管理系统

牛~~

/*引用库函数*/
#include<stdio.h> 
#include<stdlib.h>
#include<string.h>

/*定义结构体数组*/
typedef struct 
{
   
    char num[12];       /*学号*/
    char name[20];      /*姓名*/
    char sex[2];        /*性别*/
    int score[3];       /*成绩*/
    float avg;          /*平均分*/
    int sum;            /*总成绩*/
}Student;

Student studentAll[80]; /*结构体数组*/
int student_number = 0; /*总人数*/
/*菜单函数*/
int menu_select() 
{
   
    int check_number;
    do{
   
        system("cls");  /*运行前清屏clear screen,在stdlib.h中*/
        printf("\t************学生成绩管理系统*************\n"); /*菜单选择*/
        printf("\t*| 1. 添加学生信息                      *\n");
        printf("\t*| 2. 显示学生信息                      *\n");
        printf("\t*| 3. 按学号排序                        *\n");
        printf("\t*| 4. 按总成绩排序                      *\n");
        printf("\t*| 5. 查找单个学生                      *\n");
        printf("\t*| 6. 删除指定学生                      *\n");
        printf("\t*| 7. 修改学生信息                      *\n"); 
        printf("\t*| 8. 查看各门课程的成绩情况            *\n");
        printf("\t*| 9. 待定功能                          *\n");
        printf("\t*| 0. 保存退出                          *\n");
        printf("\t*****************************************\n");
        printf("请输入选择(0-9):");
        scanf("%d",&check_number);              /*读入选择*/
    }while(check_number<0||check_number>9);
    return(check_number);                   /*返回选择*/
}

//以下的student都是形式参数,真正的数组是在全局变量里定义的studentAll数组

 /*输入若干条记录*/
void Input(Student student[])
{
   
    int i=0,j;
    char flag,clear[10];                        /*clear[10]为清除多余的数据所用*/
    char studentNum[12];                        //暂存某学生学号
                                    
    //判断是否已经存在相同学生的学号
    while(flag!='n'&&flag!='N')             //判断flag是不是n/N,以此判断是否继续输入学生信息
    {
   
     printf("请输入学生学号:   ");
      scanf("%s",studentNum);
    
      while(strcmp(student[i].num,studentNum)!=0&&i<student_number)
      {
    
        i++;                            /*查找判断*/
      }
      //查找到学生,无法增加学生信息,返回主函数
       if(i<student_number)
        printf("已有相同学号的学生,请重新输入\n");
    //如果没有查找到学生,即可增加学生信息
       else 
      {
    if(i==student_number) 
            {
   memset(student[i].num, 0, sizeof(student[i].num));//字符串清空
            strcpy(student[i].num,studentNum);
            
            printf("学生姓名:");
            scanf("%s",student[student_number].name);
            printf("学生性别:");
            scanf("%s",student[student_number].sex);            
            printf("c语言成绩:");
            scanf("%d",&student[student_number].score[0]);
            printf("数据结构成绩:");
            scanf("%d",&student[student_number].score[1]);
            printf("数据库成绩:");
            scanf("%d",&student[student_number].score[2])
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值