学生信息管理系统

来源:互联网 发布:陕西广电网络主要业务 编辑:程序博客网 时间:2024/06/06 02:28

博主第一次完成一个系统,有些边界设定,输入错误情况没考虑,但是还是想发出来,纪念我的第一个完成的系统

#include<stdio.h>#include<stdlib.h>#include<string.h>typedef struct node{    int classroom;    int number;    char name[10];    int sex;    int age;    int bianhao;    char subject[10];    int credit;    float test_score;    float daily_score;    float score;    struct node *next;}student;student *head;student *create()//录入信息函数{    int num;    printf("请输入您想要录入的学生人数:");    scanf("%d", &num);    student *pf,*pb;    if ((head = (student *)malloc(sizeof(student))) == NULL)    {        printf("录入失败");        exit(0);    }    pf = head;    for (int i = 0; i < num; i++)    {        pb = (student *)malloc(sizeof(student));        printf("请输入该学生班级;");        scanf("%d", &pb->classroom);        printf("请输入该学生学号:");        scanf("%d", &pb->number);        printf("请输入该学生姓名:");        scanf("%s", pb->name);        printf("请输入该学生性别(男1女0):");        scanf("%d", &pb->sex);        printf("请输入该学生年龄:");        scanf("%d", &pb->age);        printf("请输入该学生课程编号:");        scanf("%d", &pb->bianhao);        printf("请输入该学生课程名称:");        scanf("%s", pb->subject);        printf("请输入该学生学分:");        scanf("%d", &pb->credit);        printf("请输入该学生考试成绩:");        scanf("%f", &pb->test_score);        printf("请输入该学生平时成绩:");        scanf("%f", &pb->daily_score);        printf("***********************\n");        pb->score= pb->test_score*0.7 + pb->daily_score*0.3;        pb->next = NULL;        pf->next = pb;        pf = pb;    }    printf("已经录入完成\n");    return (head);}student *search(student *searc)//查询函数{    int m;    char namee[10];    student *p = searc;    p = searc->next;    printf("选择1、姓名查询,选择2、学号查询\n");    scanf("%d", &m);    if (m == 1)        goto usename;    else goto usenumber;usename:        printf("请输入该生姓名\n");    scanf("%s", namee);    while(p!= NULL)    {        if (strcmp(p->name, namee)==0)        {            printf("该生信息是:\n");            printf("班级%d\n学号%d\n姓名%s\n性别(男1女0)%d\n年龄%d\n课程编号%d \n课程名称%s \n学分%d \n考试成绩%f \n平时成绩%f\n综合成绩%f\n", p->classroom, p->number, p->name, p->sex, p->age, p->bianhao, p->subject, p->credit, p->test_score, p->daily_score,p->score);            return(p);        }        else p = p->next;     }    printf("未找到该生\n");    return(p);usenumber:    int t;    printf("请输入该生学号\n");    scanf("%d", &t);    while(p != NULL)    {        if (p->number==t)        {            printf("该生信息是:\n");            printf("班级%d\n学号%d\n姓名%s\n 性别(男1女0)%d\n 年龄%d\n 课程编号%d \n课程名称%s \n学分%d \n考试成绩%f \n平时成绩%f\n 综合成绩%f\n", p->classroom, p->number, p->name, p->sex, p->age, p->bianhao, p->subject, p->credit, p->test_score, p->daily_score, p->score);            return(p);        }        else p = p->next;      }    printf("未找到该生\n");    return(p);}void change()//信息修改函数{    int m;    student *p;    printf("请输入该生的学号\n");    scanf("%d", &m);    p= head->next;    while (p != NULL)    {        if (p->number == m)        {            printf("请输入该学生班级;");            scanf("%d", &p->classroom);            printf("请输入该学生学号:");            scanf("%d", &p->number);            printf("请输入该学生姓名:");            scanf("%s", p->name);            printf("请输入该学生性别(男1女0):");            scanf("%d", &p->sex);            printf("请输入该学生年龄:");            scanf("%d", &p->age);            printf("请输入该学生课程编号:");            scanf("%d", &p->bianhao);            printf("请输入该学生课程名称:");            scanf("%s", p->subject);            printf("请输入该学生学分:");            scanf("%d", &p->credit);            printf("请输入该学生考试成绩:");            scanf("%f", &p->test_score);            printf("请输入该学生平时成绩:");            scanf("%f", &p->daily_score);            p->score = p->test_score*0.7 + p->daily_score*0.3;            printf("修改完成\n");            break;        }        else if(p->next!=NULL)p = p->next;        else {            printf("未找到该生\n"); break;        }    }}void insert()//插入函数{    student *p,*q;    p = head->next;    while (p->next != NULL)        p = p->next;    q = (student *)malloc(sizeof(student));    printf("请输入该学生班级;");    scanf("%d", &q->classroom);    printf("请输入该学生学号:");    scanf("%d", &q->number);    printf("请输入该学生姓名:");    scanf("%s", q->name);    printf("请输入该学生性别(男1女0):");    scanf("%d", &q->sex);    printf("请输入该学生年龄:");    scanf("%d", &q->age);    printf("请输入该学生课程编号:");    scanf("%d", &q->bianhao);    printf("请输入该学生课程名称:");    scanf("%s", q->subject);    printf("请输入该学生学分:");    scanf("%d", &q->credit);    printf("请输入该学生考试成绩:");    scanf("%d", &q->test_score);    printf("请输入该学生平时成绩:");    scanf("%d", &q->daily_score);    q->score = q->test_score*0.7 + q->daily_score*0.3;    q->next = NULL;    p->next = q;    printf("插入成功\n");}void del()//数据删除函数{    int m;    student *pf, *pb;    printf("请输入您要删除的学生学号:");    scanf("%d", &m);    pf = head;    pb = head->next;    while (pb != NULL)    {        if (pb->number == m)        {            pf->next = pb->next;            free(pb);            printf("删除完成\n");            break;        }        else if (pb->next != NULL) {            pf = pb;            pb = pb->next;        }        else {            printf("未找到该生\n");            break;        }    }}void main(){    int num;    printf("\t\t***************************************************\n");    printf("\t\t*          欢迎来到学生成绩管理系统               *\n");    printf("\t\t***************************************************\n");    printf("请输入您想进行的功能\n");    while (1)    {        printf("选择1、录入学生信息\n选择2、查询学生信息\n选择3、修改学生数据\n选择4、删除学生信息\n选择5、插入学生数据\n选择6、退出\n");        scanf("%d", &num);        switch (num)        {           case 1:system("cls");                  printf("\t\t***************************************************\n");                  printf("\t\t*          欢迎来到学生成绩管理系统               *\n");                  printf("\t\t***************************************************\n");                  create(); break;           case 2:system("cls");                  printf("\t\t***************************************************\n");                  printf("\t\t*          欢迎来到学生成绩管理系统               *\n");                  printf("\t\t***************************************************\n");                  search(head); break;           case 3:system("cls");                  printf("\t\t***************************************************\n");                  printf("\t\t*          欢迎来到学生成绩管理系统               *\n");                  printf("\t\t***************************************************\n");                  change(); break;           case 4:system("cls");                  printf("\t\t***************************************************\n");                  printf("\t\t*          欢迎来到学生成绩管理系统               *\n");                  printf("\t\t***************************************************\n");                  del(); break;           case 5:system("cls");                  printf("\t\t***************************************************\n");                  printf("\t\t*          欢迎来到学生成绩管理系统               *\n");                  printf("\t\t***************************************************\n");                   insert(); break;           case 6:exit(0);        }    }}
0 0
原创粉丝点击