精华内容
下载资源
问答
  • c语言录入学生成绩
    千次阅读
    2021-05-20 04:47:09

    #include

    #include

    #include

    #define M 50

    /********************************全局变量***************************/

    typedef struct

    { long id; /*学号*/

    char name[20]; /* 姓名 */

    char sex[10];

    int math; /* 数学成绩 */

    int english;

    int c_program;

    int total;

    }STUDENTS;

    STUDENTS stu[M]; /* 定义学生结构体变量 */

    int num=-1; /* num+1:当前学生个数*/

    /* 函数声明// */

    /* 主功能模块/ */

    void page_title(); /* 主菜单 */

    void student_new(); /* 录入学生 */

    void student_edit(); /* 修改学生信息 */

    void student_del(); /* 删除学生信息 */

    void score_search(); /* 根据学号查询学生信息 */

    void id_sort(); /* 通过学号递增排序输出 */

    void score_sort( ); /* 按成绩递减排序输出 */

    void show(int s); /* 显示学生信息 */

    /* 子功能模块// */

    int find(long id); /* 通过学号查询数组下标 */

    void show_one( int n); /* 显示一个学生信息 */

    void input_one(int n); /* 输入一个学生信息 */

    void count(int n); /* 计算总成绩 */

    void into_menu(); /* 从功能模块进入主菜单 */

    void left(); /* 保存退出 */

    void page_head1();

    void page_head2();

    /* /文件操作 */

    void load(); /* 读取文件 */

    void save(); /* 保存文件 */

    /* 主函数/// */

    void main()

    {

    load();

    while(1)

    {

    page_title();

    }

    }

    /* 主菜单/// */

    void page_title()

    {

    char c;

    system("cls"); /* 清屏 */

    printf("\n\n>>>>>>>>>>>>> 学 生 成 绩 管 理 系 统 <<<<<<<<<<<<

    printf("\t1 录入学生成绩记录\n\n");

    printf("\t2 显示学生成绩记录\n\n");

    printf("\t3 修改学生成绩记录\n\n");

    printf("\t4 删除学生成绩记录\n\n");

    printf("\t5 按学号查询学生记录\n\n");

    printf("\t6 按学号显示学生记录\n\n");

    printf("\t7 按总成绩递减输出\n\n");

    printf("\t8 保存\n\n");

    printf("\t0 退出\n\n");

    printf("***************************************************\n");

    printf(" 请用数字键0-8选择操作\n\n");

    c=getch();

    system("cls");

    switch(c)

    {

    case '1' : student_new();break; /* 录入学生基本信息 */

    case '2' : show(0);break; /* 显示所有记录 */

    case '3' : student_edit();break; /* 修改记录

    */

    case '4' : student_del();break; /* 删除记录 */

    case '5' : score_search();break; /* 查询记录 */

    case '6' : id_sort();break; /* 按学号排

    更多相关内容
  • 输入10个学生5门课的成绩,分别用函数实现下列功能:1>计算每个学生的平均分。2>计算每门课的平均分。3>找出所有50个分数中最高的分数所对应的学生和课程。#include#include#includetypedefstructstudent{...

    输入10个学生5门课的成绩,分别用函数实现下列功能:

    1>计算每个学生的平均分。

    2>计算每门课的平均分。

    3>找出所有50个分数中最高的分数所对应的学生和课程。

    #include 

    #include 

    #include 

    typedef struct student

    {

    char name[15];

    float Chinese;

    float English;

    float math;

    float Physics;

    float Chemistry;

    struct student *next;

    }Stu,*PStu;

    PStu creat(PStuhead)

    {

    PStu p1 =NULL;

    PStu p2 =NULL;

    int n = 0;

    p1 =(PStu)malloc(sizeof(Stu));

    p2 = p1;

    if(p1==NULL)        //节点开辟不成功

    {

    printf ("\nCann't create it, try it again in a moment!\n");

    return NULL;

    }

    else

    {

    printf("请输入名字,语文成绩,英语成绩,数学成绩,物理成绩,化学成绩\n");

    scanf("%s %f %f %f %f %f",&(p1->name),&(p1->Chinese),&(p1->English),&(p1->math),\

    &(p1->Physics),&(p1->Chemistry));

    }

    while(strcmp(p1->name,"end"))

    {

    if(head == NULL)

    {

    head  = p1;

    p2->next = NULL;

    }

    else

    p2->next = p1;

    p2 = p1;

    p1 = (PStu)malloc(sizeof(Stu));

    printf("请输入名字,语文成绩,英语成绩,数学成绩,物理成绩,化学成绩\n");

    scanf("%s %f %f %f %f %f",&p1->name,&p1->Chinese,&p1->English,&p1->math,\

    &p1->Physics,&p1->Chemistry);

    }

    p2->next=NULL;

    free(p1);

    p1 = NULL;

    return head;

    }

    void print(PStu head)/*出以head为头的链表各节点的值*/

    {

    PStu temp;

    printf ("\nNow , These records are:\n");

    temp=head;/*取得链表的头指针*/

    while(temp!=NULL)/*只要是非空表*/

    {

    printf("姓名:%s\n语文%f\n英语%f\n数学%f\n物理%f\n化学%f\n",temp->name,\

    temp->Chinese,temp->English,temp->math,temp->Physics,temp->Chemistry);/*输出链表节点的值*/

    temp=temp->next;/*跟踪链表增长*/

    }

    }

    void avScore(PStu head)

    {

    float aScore;

    PStu temp;

    temp = head;

    while(temp != NULL)

    {

    aScore = (temp->Chinese + temp->English + temp->math + temp->Physics + temp->Chemistry)/5;

    printf("%s的平均成绩为:%f\n",temp->name,aScore);

    temp=temp->next;

    }

    }

    void avClass(PStu head)

    {

    float aChinese = 0;

    float aEnglish = 0;

    float amath = 0;

    float aPhysics = 0;

    float aChemistry = 0;

    int count = 0;

    PStu temp = head;

    while(temp != NULL)

    {

    aChinese += temp->Chinese;

    aEnglish += temp->English;

    amath += temp->math;

    aPhysics += temp->Physics;

    aChemistry += temp->Chemistry;

    count++;

    temp=temp->next;

    }

    printf("语文平均分是:%f\n英语平均分是:%f\n数学平均分是:%f\n物理平均分是:%f\n化学平均分是:%f\n",\

    aChinese/count,aEnglish/count,amath/count,aPhysics/count,aChemistry/count);

    }

    void maxScore(PStu head)//出现共同最高分为第一个出现的为准:

    {

    float mScore = 0;

    char work[20] = {0};

    char name[10];

    PStu temp = head;

    mScore = temp->Chinese;

    while(temp != NULL)

    {

    strcpy(name,temp->name);

    if(temp->Chinese > mScore)

    {

    mScore = temp->Chinese;

    strcpy(work,"chinese");

    /*work = "chinese";*/

    }

    else if(temp->English >mScore)

    {

    mScore = temp->English;

    strcpy(work,"english");

    /*work = "english";*/

    }

    else if(temp->math >mScore)

    {

    mScore = temp->math;

    strcpy(work,"math");

    /*work = "math";*/

    }

    else if(temp->Physics >mScore)

    {

    mScore = temp->Physics;

    strcpy(work,"physics");

    /*work = "physics";*/

    }

    else if(temp->Chemistry >mScore)

    {

    mScore = temp->Chemistry;

    strcpy(work,"chemistry");

    /*work = "chemistry";*/

    }

    temp = temp->next;

    }

    printf("同学%s的%s成绩为所有成绩中的最高分:%f\n",name,work,mScore);

    }

    int main()

    {

    PStu head  = NULL;

    head = creat(head);

    print(head);

    avScore(head);

    avClass(head);

    maxScore(head);

    return 0;

    }

    展开全文
  • 实现所有学生成绩录入(利用结构体数组),当输入字符为end时候,结束成绩的录入;  2.实现所有学生信息的输出  3.输入指定学生姓名,并能输出这名学生的信息  4.将学生成绩按照语文和数学成绩排序 思路: 1. ...
  • 实用标准文案 学号 102128121 武汉理工大学华夏学院 课程设计报告书 课程名称 数据结构 题 目 用 C 语言实现成绩统计程序的设计 系 名 信息工程系 专业班级 软件工程 1121 姓 名 指导教师 : 黄启荃 2013 年 6月 28日...
  • 学生成绩管理系统实现的功能有:成绩录入学生成绩查询、删除、修改、通过文件保存等。开发这样一个系统需要具备的知识:线性表(链表)、文件操作、排序(如果需要成绩排序)。开发环境为VS2015;在Linux下没有conio.h...

    趁着放假无事,开始用C语言开发一些小的项目,巩固基础知识的同时学习新的知识。

    学生成绩管理系统实现的功能有:成绩录入、学生成绩查询、删除、修改、通过文件保存等。

    开发这样一个系统需要具备的知识:线性表(链表)、文件操作、排序(如果需要成绩排序)。

    开发环境为VS2015;在Linux下没有conio.h的头文件,需要修改与getch()函数相关的代码。

    #include

    #include

    #include

    #include

    /*学生信息结构体*/

    typedef struct Node

    {

    char Name[10];//学生姓名

    char ID[15];//学生学号

    int Score[3];//三科成绩(数学、英语、数据结构)

    float Ave_Sco;

    struct Node *next;

    }Lnode;

    void Display(); /*界面显示函数*/

    void GetScore(Lnode *&h); /*成绩录入函数*/

    void PrintScore(Lnode *h); /*成绩打印函数*/

    void ModifyScore(Lnode *h); /*成绩修改函数*/

    void FindInf(Lnode *h); /*查找信息*/

    void Delete(Lnode *h); /*删除函数*/

    void Quit(Lnode *h); /*退出函数*/

    void SaveInf(Lnode *h);

    void LoadInf(Lnode *h);

    /*初始化链表*/

    void InitList(Lnode *&head)

    {

    head = (Lnode *)malloc(sizeof(Lnode));

    if (head == NULL)

    {

    printf("error!");

    exit(1);

    }

    head->next = NULL; //使头节点指针域为空

    }

    int main()

    {

    Lnode *ScoreList; //建立成绩链表,所有学生信息存放在此链表

    int Function;

    char flag;

    int t = 0;

    InitList(ScoreList);

    LoadInf(ScoreList);

    while (1)

    {

    Display();

    printf("请选择操作: ");

    scanf("%d", &Function);

    switch (Function)

    {

    case 1: while (1)

    {

    GetScore(ScoreList);

    printf("是否继续输入 (Y/N)");

    scanf("%s", &flag);

    if (flag == 'N' || flag == 'n')break;

    } system("cls"); break;

    case 2: PrintScore(ScoreList);_getch(); system("cls"); break;

    case 3: ModifyScore(ScoreList);system("cls"); break;

    case 4: FindInf(ScoreList); _getch(); system("cls"); break;

    case 5: Delete(ScoreList); _getch(); system("cls"); break;

    case 6: Quit(ScoreList); break;

    default: printf("Error!!! 请重新输入:");

    break;

    } //switch结束

    }

    return 0;

    }

    /*系统界面显示*/

    void Display()

    {

    printf("\t\t**********************************************\n");

    printf("\t\t*************欢迎使用成绩管理系统*************\n");

    printf("\t\t**********************************************\n");

    printf("\t\t\t\t1、录入成绩\n");

    printf("\t\t\t\t2、打印成绩\n");

    printf("\t\t\t\t3、修改成绩\n");

    printf("\t\t\t\t4、查找学生信息\n");

    printf("\t\t\t\t5、删除学生信息\n");

    printf("\t\t\t\t6、退出系统\n");

    printf("\n\n\n\n\n\n");

    }

    /*成绩录入*/

    void GetScore(Lnode *&h)

    {

    Lnode *p, *q = h;

    char name[10], id[15];

    int Math, English, Datastruct;

    p = (Lnode *)malloc(sizeof(Lnode));//为学生信息申请节点

    printf("请依次输入学生信息:\n");

    printf("姓名 学号 数学 英语 数据结构\n");

    scanf("%s %s %d %d %d", &name, &id, &Math, &English, &Datastruct);

    for (; q->next != NULL; q = q->next){;} //移动到尾节点

    strcpy(p->Name, name);

    strcpy(p->ID, id);

    p->Score[0] = Math;

    p->Score[1] = English;

    p->Score[2] = Datastruct;

    p->Ave_Sco = ((float)((p->Score[0] + p->Score[1] + p->Score[2]) - 150)) / 30;

    p->next = NULL;

    q->next = p;

    q = p;

    }

    /*成绩打印*/

    void PrintScore(Lnode *h)

    {

    Lnode *p = h->next;

    printf("%-14s%-8s%-8s%-8s%-8s%-8s\n","排名", "学号", "姓名", "数学", "英语", "数据结构", "平均绩点");

    while (p != NULL)

    {

    printf("%-14s%-8s%-8d%-8d%-8d%.2f\n", p->ID, p->Name, p->Score[0], p->Score[1], p->Score[2], p->Ave_Sco);

    p = p->next;

    }

    }

    /*成绩修改*/

    void ModifyScore(Lnode *h)

    {

    Lnode *p = h->next;

    char name[10], id[15];

    int Math, English, Datastruct;

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

    scanf("%s", name);

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

    scanf("%s", id);

    while (p)

    {

    if (strcmp(p->Name, name)==0 && strcmp(p->ID, id)==0)

    {

    printf("当前学生信息:\n");

    printf("%-14s%-8s%-8s%-8s%-8s\n", "学号", "姓名", "数学", "英语", "数据结构");

    printf("%-14s%-8s%-8d%-8d%-8d\n", p->ID, p->Name, p->Score[0], p->Score[1], p->Score[2]);

    printf("请输入更正后的数学成绩:");

    scanf("%d", &Math);

    printf("请输入更正后的英语成绩:");

    scanf("%d", &English);

    printf("请输入更正后的数据结构成绩:");

    scanf("%d", &Datastruct);

    p->Score[0] = Math;

    p->Score[1] = English;

    p->Score[2] = Datastruct;

    break;

    }

    else

    {

    p = p->next;

    }

    }//while循环结束

    }

    /*信息查找*/

    void FindInf(Lnode *h)

    {

    Lnode *p = h->next;

    char name[10], id[15];

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

    scanf("%s", name);

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

    scanf("%s", id);

    while (p)

    {

    if (strcmp(p->Name, name) == 0 && strcmp(p->ID, id) == 0)

    {

    printf("当前学生信息:\n");

    printf("%-14s%-8s%-8s%-8s%-8s\n", "学号", "姓名", "数学", "英语", "数据结构");

    printf("%-14s%-8s%-8d%-8d%-8d\n", p->ID, p->Name, p->Score[0], p->Score[1], p->Score[2]);

    break;

    }

    else

    {

    p = p->next;

    }

    }//while循环结束

    }

    /*删除*/

    void Delete(Lnode *h)

    {

    Lnode *p = h, *q;

    q = p->next;

    char name[10], id[15];

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

    scanf("%s", name);

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

    scanf("%s", id);

    while (q)

    {

    if (strcmp(q->Name, name) == 0 && strcmp(q->ID, id) == 0)

    {

    p->next = q->next;

    free(q); //删除p节点

    printf("删除成功\n");

    break;

    }

    else

    {

    p = p->next;

    q = q->next;

    }

    }//while循环结束

    }

    /*退出系统*/

    void Quit(Lnode *h)

    {

    SaveInf(h); //退出时保存信息

    exit(0);

    }

    /*打开文件*/

    void LoadInf(Lnode *h)

    {

    Lnode *p = h;

    Lnode *q; //临时变量 用于保存从文件中读取的信息

    FILE* file = fopen("./Information.dat", "rb");

    if (!file)

    {

    printf("文件打开失败!");

    return ;

    }

    /*

    使用feof判断文件是否为结束要注意的问题:

    当读取文件结束时,feof函数不会立即设置标志符为-1,而是

    需要再读取一次后,才会设置。所以要先读一次。

    */

    q = (Lnode *)malloc(sizeof(Lnode));

    fread(q, sizeof(Lnode), 1, file);

    while (!feof(file)) //一直读到文件末尾

    {

    p->next = q;

    p = q;

    q = (Lnode *)malloc(sizeof(Lnode));

    fread(q, sizeof(Lnode), 1, file);

    } //while循环结束

    p->next = NULL;

    fclose(file);

    }

    /*保存信息到文件中*/

    void SaveInf(Lnode *h)

    {

    Lnode *p = h->next;

    int flag;

    FILE* file = fopen("./Information.dat", "wb");

    if (!file)

    {

    printf("文件打开失败!");

    return;

    }

    while (p != NULL)

    {

    flag = fwrite(p, sizeof(Lnode), 1, file); //将p的内容写到文件中

    if (flag != 1)

    {

    break;

    }

    p = p->next;

    }

    fclose(file);

    }

    虽然是很简单的小项目,还是有很多问题。

    一:链表相关

    在写成绩录入和成绩打印功能时,发现始终只能保存(没加入文件保存)最后一个数据,确定链表的相关操作没有问题,仔细判断逻辑关系后,发现是每次在头节点传到GetScore()函数,为新节点申请内存后,直接将数据保存在了新申请的节点里面,没有将链表移动到尾节点,导致每次录入成绩,都会覆盖前一次输入的数据。解决办法是链表传到函数后,先移动到最后一个节点,将新申请的节点挂接在最后一个节点之后。

    /*成绩录入*/

    void GetScore(Lnode *&h)

    {

    Lnode *p, *q = h;

    char name[10], id[15];

    int Math, English, Datastruct;

    p = (Lnode *)malloc(sizeof(Lnode));//为学生信息申请节点

    printf("请依次输入学生信息:\n");

    printf("姓名 学号 数学 英语 数据结构\n");

    scanf("%s %s %d %d %d", &name, &id, &Math, &English, &Datastruct);

    for (; q->next != NULL; q = q->next){;} //移动到尾节点

    //保存数据

    strcpy(p->Name, name);

    strcpy(p->ID, id);

    p->Score[0] = Math;

    p->Score[1] = English;

    p->Score[2] = Datastruct;

    p->Ave_Sco = ((float)((p->Score[0] + p->Score[1] + p->Score[2]) - 150)) / 30;

    //始终指向最后一个节点

    p->next = NULL;

    q->next = p;

    q = p;

    }

    二、文件操作

    用文件保存遇到的问题主要是每次打印数据时除正常数据外,始终多一行乱码。判断方法是while(!feof(file))。排除错误时确定了两种可能性:多保存了一行;多读取了一行。经过某度feof()与EOF的关系后,确定是多读取了一行数据。

    用feof()函数进行文件尾判断时,当文件已经到达尾部后,还需要在读取一次后,feof()函数才会返回-1,所以会出现多读一次的情况;解决办法时,在循环读取之前先将第一个数据读取出来,然后在正常读取。即注意多读一次的问题。

    /*打开文件*/

    void LoadInf(Lnode *h)

    {

    Lnode *p = h;

    Lnode *q; //临时变量 用于保存从文件中读取的信息

    FILE* file = fopen("./Information.dat", "rb");

    if (!file)

    {

    printf("文件打开失败!");

    return ;

    }

    /*

    使用feof判断文件是否为结束要注意的问题:

    当读取文件结束时,feof函数不会立即设置标志符为-1,而是

    需要再读取一次后,才会设置。所以要先读一次。

    */

    q = (Lnode *)malloc(sizeof(Lnode));

    fread(q, sizeof(Lnode), 1, file);

    while (!feof(file)) //一直读到文件末尾

    {

    p->next = q;

    p = q;

    q = (Lnode *)malloc(sizeof(Lnode));

    fread(q, sizeof(Lnode), 1, file);

    } //while循环结束

    p->next = NULL;

    fclose(file);

    }

    展开全文
  • 《用C语言编写学生信息管理系统》由会员分享,可在线阅读,更多相关《用C语言编写学生信息管理系统(14页珍藏版)》请在人人文库网上搜索。1、一、设计目的通过对高级语言程序设计课程设计的学习,来验证自身的学习...

    《用C语言编写学生信息管理系统》由会员分享,可在线阅读,更多相关《用C语言编写学生信息管理系统(14页珍藏版)》请在人人文库网上搜索。

    1、一、设计目的通过对高级语言程序设计课程设计的学习,来验证自身的学习效果,同时希望利用所学的基本知识和技能,进行简单的C语言程序设计。希望通过项目实践,熟悉巩固所学知识,以使自己熟练掌握高级语言程序设计,为日后学习计算机科学技术的专业知识能有进一步深入了解,奠定基础。二、设计内容1、 问题描述:设计一个学生信息管理系统设计。学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。2、 功能要求:1、系统以菜单方式工作2、学生信息录入功能(学生信息用文件保存)输入3、学生信息浏览功能输出4、学生信息查询功能算法按学号查询按姓名查询5、学生信息的删除与修改(可选项)三、详细设计1。

    2、、菜单:void menu()2、建立信息:void readfile()3、 查找:void seek()4、 修改信息:void modify()5、 插入函数:void insert()6、 删除信息:void del()7、 浏览信息:void display()8、 保存:void save()4、 调试与测试1、 系统功能菜单2、 选择菜单“0”,进入系统帮助及说明功能3、 选择菜单“4”,添加学生信息(1)输入增加人数(2)依次输入学生学号,姓名,年龄,性别,出生年月,地址,电话,E-mail(3)录入完毕,弹出菜单4、 选择菜单“3”,修改学生信息:输入被修改者学号(1)选择子。

    3、菜单“1,修改姓名(2)选择子菜单“2”,修改年龄(3)选择子菜单“3”,修改性别(4)选择子菜单“4”,修改出生年月(5)选择子菜单“5”,修改地址(6)选择子菜单“6”,修改电话(7)选择子菜单“7”,修改E-mail5、 选择菜单“2”,查询学生信息(1)选择子菜单“1”,按学号查询(2)选择子菜单“2”,按姓名查询(3)选择子菜单“3”,退出子菜单,弹出主菜单6、选择菜单“6”,显示当前信息7、选择菜单“5”,按学号删除信息(1)输入要删除的学生学号(2)再次输入“6”,确认是否删除该学生信息五、源程序清单源程序代码如下#include #include#include#define 。

    4、BUFLEN 100#define LEN 15 #define N 100 struct record char codeLEN+1; char nameLEN+1; int age; char sex3; char timeLEN+1; char add30; char telLEN+1; char mail30; stuN;int k=1,n,m; void readfile();void seek();void modify();void insert();void del();void display();void save();void menu(); int main() whi。

    5、le(k)menu();system(pause);return 0; void help() printf(n0.欢迎使用系统帮助!n);printf(n1.进入系统后,先刷新学生信息,再查询;n);printf(n2.按照菜单提示键入数字代号;n);printf(n3.增加学生信息后,切记保存按;n);printf(n4.谢谢您的使用!n); void readfile()char *p=student.txt;FILE *fp;int i=0;if (fp=fopen(student.txt,r)=NULL) printf(Open file %s error! Strike any k。

    6、ey to exit!,p);system(pause);exit(0);while(fscanf(fp,%s %s%d%s %s %s %s %s,stui.code,stui.name,&stui.age,stui.sex,stui.time,stui.add,stui.tel,stui.mail)=8)i+;i=i;fclose(fp);n=i;printf(录入完毕!n); void seek() int i,item,flag;char s121; printf(-n);printf(-1.按学号查询-n);printf(-2.按姓名查询-n);printf(-3.退出本菜单-n);。

    7、printf(-n);while(1)printf(请选择子菜单编号:);scanf(%d,&item);flag=0;switch(item)case 1:printf(请输入要查询的学生的学号:n);scanf(%s,s1);for(i=0;ii;j-)if(strcmp(stuj-1.code,stuj.code)0)strcpy(temp,stuj-1.code);strcpy(stuj-1.code,stuj.code);strcpy(stuj.code,temp);strcpy(temp,stuj-1.name);strcpy(stuj-1.name,stuj.name);strc。

    8、py(stuj.name,temp);strcpy(temp,stuj-1.sex);strcpy(stuj-1.sex,stuj.sex);strcpy(stuj.sex,temp);strcpy(temp,stuj-1.time);strcpy(stuj-1.time,stuj.time);strcpy(stuj.time,temp);strcpy(temp,stuj-1.add);strcpy(stuj-1.add,stuj.add);strcpy(stuj.add,temp);strcpy(temp,stuj-1.tel);strcpy(stuj-1.tel,stuj.tel);str。

    9、cpy(stuj.tel,temp);strcpy(temp,stuj-1.mail);strcpy(stuj-1.mail,stuj.mail);strcpy(stuj.mail,temp);p=&stuj-1.age;q=&stuj.age;s=*q;*q=*p;*p=s; void insert()int i=n,j,flag;printf(请输入待增加的学生数:n);scanf(%d,&m);doflag=1;while(flag)flag=0;printf(请输入第%d 个学生的学号:n,i+1);scanf(%s,stui.code);for(j=0;ji;j+)if(strcmp。

    10、(stui.code,stuj.code)=0)printf(已有该学号,请检查后重新录入!n);flag=1;break; printf(请输入第%d 个学生的姓名:n,i+1);scanf(%s,stui.name);printf(请输入第%d 个学生的年龄:n,i+1);scanf(%d,&stui.age);printf(请输入第%d 个学生的性别:n,i+1);scanf(%s,stui.sex);printf(请输入第%d 个学生的出生年月:(格式:年.月)n,i+1);scanf(%s,stui.time);printf(请输入第%d 个学生的地址:n,i+1);scanf(%s。

    11、,stui.add);printf(请输入第%d 个学生的电话:n,i+1);scanf(%s,stui.tel);printf(请输入第%d 个学生的E-mail:n,i+1);scanf(%s,stui.mail);if(flag=0)i=i;i+;while(in+m);n+=m;printf(录入完毕!nn);sort(); void del()int i,j,flag=0;char s1LEN+1;printf(请输入要删除学生的学号:n);scanf(%s,s1);for(i=0;in;i+)if(strcmp(stui.code,s1)=0)flag=1;for(j=i;jn-1。

    12、;j+)stuj=stuj+1;if(flag=0)printf(该学号不存在!n);if(flag=1)printf(删除成功,显示结果请选择菜单n);n-; void display()int i;printf(所有学生的信息为:n);printf(学生学号 学生姓名 年龄 性别 出生年月 地址 电话 E-mailn);printf(-n);for(i=0;in;i+) printf(%6s %7s %5d %5s %9s %8s %10s %14sn,stui.code,stui.name,stui.age,stui.sex,stui.time,stui.add,stui.tel,stu。

    13、i.mail); void save()int i;FILE *fp;fp=fopen(student.txt,w); for(i=0;in;i+)fprintf(fp,%s %s %d %s %s %s %s %sn,stui.code,stui.name,stui.age,stui.sex,stui.time,stui.add,stui.tel,stui.mail);fclose(fp); void menu()int num;printf( nn 学生信息管理系统 nn);printf(*系统功能菜单* n);printf(友情提示:查询前请先刷新系统!n);printf( - - n)。

    14、;printf( * n);printf( * 0.系统帮助及说明 * * 1.刷新学生信息 * n);printf( * n); printf( * 2.查询学生信息 * * 3.修改学生信息 * n);printf( * n);printf( * 4.增加学生信息 * * 5.按学号删除信息 * n);printf( * n);printf( * 6.显示当前信息 * * 7.保存当前学生信息* n);printf( * * n);printf( * 8.退出系统 * n);printf( * n);printf( - - n);printf(请选择菜单编号:);scanf(%d,&num);switch(num) case 0:help();break;case 1:readfile();break;case 2:seek();break;case 3:modify();break;case 4:insert();break;case 5:del();break;case 6:display();break;case 7:save();break;case 8:k=0;break;default:printf(请在-8之间选择n);14欢迎下载。

    展开全文
  • 主要实现学生信息,课程,成绩录入学生信息的修改,查找学生的信息,删除学生的信息,保存为文件,
  • 主要为大家详细介绍了C语言编写学生成绩管理系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 输入2则调用print函数打印学生成绩单 输入3可以根据学号匹配学生并对其成绩进行修改 输入4可以对当前所有学生的总成绩进行排序 输入5则可以计算当前学生平均分 输入6可以打印出成绩单中所有存在不及格科目的学生 ...
  • C语言-学生成绩管理系统02--可用来学习C语言 1. 可实现对学生信息进行登记、删除、查询、修改的基本功能 2. 可对录入的信息进行保存,并采用文件存储的形式 3. 可输出全部学生的信息,从文件中读取 4. 可对学生各科...
  • 3)学生成绩管理系统  需要处理的基础数据 学生基本信息:如班级、学号、姓名、性别、年龄等。 学生选修课程的基本信息:课程编号、课程名称、学分、考试成绩、平时成绩、综合成绩(考试成绩*0.7+平时成绩*0.3...
  • C语言开发简单的学生成绩管理系统,包含如下功能: 1.录入学生信息:用户可以自由输入学生信息到系统中。 2.打印学生信息:格式化展示系统中的学生信息。 3.保存学生信息:将系统中的学生信息保存到本地文档。 4....
  • } } /*数据录入*/ lx() { FILE *fp; char ch; if((fp=fopen("cj.txt","a+"))==NULL) { printf("Cannot open file strike any key exit!"); getch(); exit(0); } printf("ClssNO. NO. Name Score1 Score2 Score3\n")...
  • 多功能结合一体的小程序,是C语言期末实训的必有小帮手 程序有点粗糙但是可以凑活的使用,欢迎各位来下载观看, void jiemian();//登入后显示的功能界面 void zhanghao(); //账号的界面 void shuru(); //成绩的...
  • (1)具有数据录入功能 (2)具有数据浏览功能 (3)具有各种查询(如按学号查询、按姓名查询)及查询结果输出功能 (4)具有数据修改功能(单项修改) (5)具有数据删除功能 (6)具有数据文件建立和读写功能(7)...
  • 1.录入每个学生的学号、姓名和各科考试成绩 2.计算每门课程的总分和平均分 3.计算每个学生的总分和平均分 4.按每个学生的总分由高到低排出名次表 5.按每个学生的总分由低到高排出名次表 6.按学号由小到大排出...
  • 设计一个学生成绩管理系统,包括学生成绩数据的增删改查等基本操作,通过编程实现如下菜单驱动的学生成绩管理系统。
  • 作者大一刚学完谭浩强C语言课程设计(第四版)之后所写,代码简单容易读,适合C语言课程设计大作业,初学,不好勿喷,我会慢慢学的
  • 程序主要实现的功能有:学生信息的录入(动态链表创建),输出所有学生信息(链表遍历),输出排名(单向链表排序),以及一系列基于链表操作的查询,修改,添加学生成绩和求平均分,统计分数区域人数等功能。
  • C语言期末作业学生成绩管理系统(免积分下载) ... 6、录入学生成绩 单个录入 批量导入 7、重置学生密码 8、显示所有在校学生信息 9、显示所有退出学生信息 10、三次密码错误锁定帐号,由校长解锁 0、返回上一级
  • 实现:学生信息的录入;修改;删除和查询,按学期、学号、成绩不及格等查询。 ⑴ 输入学生成绩信息,包含学号、姓名、性别等基本信息和各课成绩 ⑵ 显示全部学生各科成绩信息; ⑶ 对各科成绩统计分析(总分、平均...
  • 1.可实现对学生成绩的录入、查询、增加、删除、输出基本操作 2.可对学生的成绩进行排序,按总分排序、按科目排序、按平均分排序等 3.录入学生的基本分数,可计算并输出学生的操行分,成绩等级等 4.采用了文件的读和...
  • c语言学生成绩统计程序

    千次阅读 2022-01-10 22:47:14
    1.录入学生信息和成绩 2.查找学生信息和 3.增加学生信息 4.修改学生信息 5.删除学生信息 6.打印学生成绩排名 7.打印出优秀和不及格学生 8.退出程序 二、程序设计的思想 我们的思路要对它有一个大概的轮廓,...
  • 简单的学生成绩管理系统。有操作界面,可以对学生成绩进行录入、查询、求平均。
  • c语言编写学生成绩管理系统代码留念(1)给出所选课程设计题目以及本题目具体所要完成的功能要求说明。1.课程设计题目:学生成绩管理系统2.完成的功能要求:(1).主要实现的功能:1---学生输入2---学生插入3---学生...
  • 该学生管理系统利用C语言管理学生成绩,高效处理学生信息,主要功能为录入、打印学生信息,对学生信息进行保存和读取,统计学生人数,查找学生信息,修改和删除学生信息等。
  • C语言学生成绩管理系统

    千次阅读 2021-12-14 10:32:01
    1.学生学习成绩录入 2.学生学习成绩输出 3.删除某学生信息 4.按姓名查询某学生信息并输出 5.修改某学生信息 6.添加某学生信息 7.按总成绩排名 等等功能! 二:实现: 为了方便修改,同时增加代码的可读性...
  • (2)学生成绩录入; (3)统计学生成绩分布情况(每个分数段人数); (4)查找最高分、最低分;计算学生成绩均值和方差;并输出这四个结果; (5)判断成绩是否服从正态分布; (6)统计不同生源地学生的平均成绩...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,575
精华内容 1,830
关键字:

c语言录入学生成绩