学生信息管理系统课程设计

发布 2022-10-04 12:58:28 阅读 6170

#include<>

#include<>

#include<>

typedef struct student

char studentnumber[10];/学生学号*/

char studentname[20];/学生姓名*/

char studentsex[10];/学生性别*/

char classname[20];/班级名称*/

float mark1;/*第1门成绩*/

float mark2;/*第2门成绩*/

float mark3;/*第3门成绩*/

float mark4;/*第4门成绩*/

float mark5;/*第5门成绩*/

struct student *next;

student;

student *headlink;/*链表表头指针*/

*以下是函数声明*/

void readinfoformfile(void);

void desplaymenu(void);

void createheadlink(void);

student *mallocnode(void);

void getinformation(student *t);

void outputinformation(void);

void desplayinfobystudentname(void);

void desplayinfobystudentnumber(void);

void desplayonenode(student *t);

void insertonenode(student *t);

void deletenodebystudentnumber(void);

void changemarkbyname(void);

void changemarkbynumber(void);

void s**elinktofile(void);

void desplaymarksegment(void);

void compositorbytotalmark(void);

int choose;/*用于接受用户的选择*/

*主函数*/

void main()

createheadlink();

readinfoformfile();

desplaymenu();

函数功能:从文件中读学生信息到链表中

void readinfoformfile(void)

file *fp;

student *p;

fp=fopen(""r");

if(!fp)

printf("文件不存在");

return;

p=mallocnode();

while(fscanf(fp,"%s%s%s%s%f%f%f%f%f",p->studentnumber,p->studentname,p->studentsex,p->classname,&(p->mark1),&p->mark2),&p->mark3),&p->mark4),&p->mark5))>0)

insertonenode(p);

p=mallocnode();

fclose(fp);

函数功能:显示菜单,根据用户的输入

完成相应的功能

void desplaymenu(void)

student *p;

printf("-请选择相应功能n");

printf("|1 显示所有学生的信息 |");

printf("|2 按姓名查询 |");

printf("|3 按学号查询 |");

printf("|4 增加学生 |");

printf("|5 删除学生 |");

printf("|6 按姓名修改学生成绩 |");

printf("|7 按学号修改学生成绩 |");

printf("|8 保存所有学生信息 |");

printf("|9 显示优秀和不及格学生成绩 |");

printf("|10 排序结果并输出成绩 |");

printf("|11 退出 |");

scanf("%d",&choose);/取得用户的选择*/

switch(choose)

case 1:

outputinformation();显示所有学生的信息*/

break;

case 2:

desplayinfobystudentname();

break;

case 3:

desplayinfobystudentnumber();根据用户输入的学号显示该学生的信息*/

break;

case 4:

p=mallocnode();先申请一个新结点*/

getinformation(p);/要求用户输入信息到新结点中*/

insertonenode(p);/将新结点加到链表中*/

break;

case 5:

deletenodebystudentnumber();根据用户输入的学号删除该学生*/

break;

case 6:

changemarkbyname();根据用户输入的姓名修改学生成绩*/

break;

case 7:

changemarkbynumber();根据用户输入的学号修改学生成绩*/

break;

case 8:

s**elinktofile();保存数据*/

break;

case 9:

desplaymarksegment();显示各分数段的学生成绩*/

break;

case 10:

compositorbytotalmark();

break;

case 11:

s**elinktofile();保存数据后再退出*/

free(headlink);

exit(1);

break;

default:

break;

desplaymenu();递归调用*/

函数功能:建立链表表头

void createheadlink(void)

student *p;

p=(student*)malloc(sizeof(student));

headlink=p;

p->next=null;

函数功能:申请一个新结点,并将其初始化

student *mallocnode(void)

student *p;

int i;

p=(student*)malloc(sizeof(student));

if(p==null)

return null;

for(i=0;i<10;i++)

p->studentnumber[i]='0';

for(i=0;i<20;i++)

p->studentname[i]='0';

for(i=0;i<10;i++)

p->studentsex[i]='0';

for(i=0;i<20;i++)

p->classname[i]='0';

p->mark1=0.0;

p->mark2=0.0;

p->mark3=0.0;

p->mark4=0.0;

p->mark5=0.0;

p->next=null;

return p;

函数功能:取得用户输入的学生信息

void getinformation(student *t)

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

scanf("%s",t->studentnumber);

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

scanf("%s",t->studentname);

printf("请输入学生性别:");

scanf("%s",t->studentsex);

printf("请输入该生所在班级:");

scanf("%s",t->classname);

printf("请输入第1门成绩:");

scanf("%f",&t->mark1));

printf("请输入第2门成绩:");

scanf("%f",&t->mark2));

printf("请输入第3门成绩:");

scanf("%f",&t->mark3));

printf("请输入第4门成绩:");

scanf("%f",&t->mark4));

printf("请输入第5门成绩:");

scanf("%f",&t->mark5));

函数功能:在链表的结尾处增加一个结点

void insertonenode(student *t)

student *p;

p=headlink;

while(p->next)

学生信息管理系统课程设计

学生姓名 学号 班级 指导老师 日期 2 课程设计正文格式 1 题目及要求。学生信息管理系统。此题目要求,使用结构体静态数组存储数据,并要求使用户输入的数据或者修改后的数据能够永久保存。1.1 问题提出。详细叙述本人所要实现的题目中的问题。我编写一个学生信息管理系统,主要用来管理学生基本信息。1.2...

学生信息管理系统课程设计

该程序是一个利用j a语言编写的简单的学生信息管理系统,具有良好的界面,使用人员能快捷简单地进行操作。本系统可服务于各需要对学生信息进行电子化管理的学校机构。共有有管理员,教师和学生三类人员的操作界面,管理员具有添加,修改,删除和查询教师信息的功能 教师具有添加,删除,修改和查询学生信息,录入,删除...

学生信息管理系统课程设计

课程设计。2005 2006第1学期 课程设计类型 应用软件综合设计。题目 学生信息管理系统。学号 姓名 专业 指导教师 制。填写说明 1 一 二 三项由指导教师在课程设计开始前填写并交由学生保管 2 四项由学生在完成课程设计后填写,并将此表与课程设计一同装订成册交给指导教师 3 成绩评定由指导教师...