当前位置:文档之家› 学生信息管理系统设计论文设计

学生信息管理系统设计论文设计

题目:7学生信息管理系统设计一·课程设计目的(1) 加深对结构体数据类型设计的理解,能对系统功能进行分析,并设计合理的模块化结构。

(2) 学会设计数据结构。

其中包括对结构数组、数据文件等知识的运用。

(3) 提高程序开发功能,能运用合理的控制流程编写清晰高效的程序。

(4) 训练C程序调试能力,能将一个中小型各级组织系统联调通过。

(5) 开发一个中小型系统,掌握系统研发全过程。

(6) 培养分析问题、解决实际问题的能力。

二·实验容学生信息管理系统,是学校储存学生的相关基本信息,具有学籍管理、成绩登陆、人数统计以及信息查询等方面的功能。

现要求设计并实现一个简单的学生信息管理系统,要求具有学生详细信息(学号、、性别、籍贯等)、信息排序(按学号、班级等)、成绩输入、成绩排名、人数统计等基本功能。

(一)其功能主要有:1、对班级的管理,其中包括班级信息的添加、删除和修改等相关操作,还要求进行显示相关信息。

2、学生信息管理学生信息管理包括对学生档案的管理。

该模块可实现以下功能:添加、修改、查询和显示学生的基本信息。

3、成绩信息管理成绩信息管理包括对成绩录入和成绩分析的管理。

该模块可实现以下功能:录入学生成绩,显示学生成绩。

(二)功能模块图该系统主要包括二个模块基础信息模块,学生管理信息模块和成绩管理信息模块。

学生管理信息模块主要是对学生的信息添加、查询和修改。

成绩管理信息模块主要是对学生课程成绩的存档,便于日后老师对不同学生的学习进行分析,提高学生的学习能力1、根据上述的功能,可以设计出系统的学生信息模块列名数据类型长度备注学号char 10 主键char 10 无性别char 2 无班级varchar 50 无籍贯varchar 50 无年龄smallint 2 无家庭住址char 50 无政治身份smalldatetime 4 无2、根据上述的功能,可以设计出系统的学生成绩模块模块名称功能描述输入信息对学生的基本信息进行录入查阅信息 1.输入学生;程序代码为:#include<stdio.h> /*I/o函数*/#include<stdlib.h> /*其他说明*/#include<string.h> /*字符串函数*/#define LEN 10 /*学号和最大学生人数*/ #define N 20 /*最大学生人数*/ struct record /*声明函数体*/{char code[20]; /*学号*/char name[10]; /**/char sex[5]; /*性别*/char time[20]; /*出生年月日*/ char add[20]; /*家庭地址*/ char age[20]; /*年龄*/char sta[20]; /*政治面貌*/ char grade[20]; /*各科目成绩*/ }stu[N];int k=1,m,n;void shuru();void chaxun();void xiugai();void shanchu();void xianshi();void baocun();void caidan();void tuichuxitong();void huanyingyemian();int main(){while(k){huanyingyemian();system("pause");system("cls");printf("请按任意键进入主菜单!\n");system("cls");caidan();system("pause");}return 0;}void help(){ system("COLOR 2f");printf("\n 尊敬的用户您好!");printf("\n===================================================== =======\n");printf("| |");printf("\n | 1.欢迎进入帮助系统! |\n");printf("| |");printf("\n | ★★★★★★★★|\n");printf("| |");printf("\n | 2.请按照菜单提示进入数字代号! |\n");printf("| |");printf("\n | 4.谢谢您的使用! |\n");printf("| |");printf("\n===================================================== =======\n");}void shuru() /* 实现录入学生基本信息功能*/{int i,flag=1;while(flag){flag=0;printf("请输入需要创建信息的学生人数(1-20):\n");scanf("%d",&n);if(n<1||n>20){flag=1;printf("输入错误,检查后请重新输入!\n");}}for(i=0;i<n;i++){printf("请输入第%d个学生的基本信息:\n",i+1);printf("请输入学号:\n");scanf("%s",stu[i].code);printf("请输入:\n");scanf("%s",stu[i].name);getchar();printf("请输入性别(男,女):\n");scanf("%s",stu[i].sex);printf("请输入出生年月(输入格式:年.月.日):\n");scanf("%s",stu[i].time);printf("请输入家庭地址:\n");scanf("%s",stu[i].add);printf("请输入年龄:\n");scanf("%s",stu[i].age);printf("请输入政治面貌(党员、团员、群众):\n");scanf("%s",stu[i].sta);printf("请输入各科目成绩(输入格式:C语言.VB.英语):\n");scanf("%s",stu[i].grade);}printf("录入完毕!\n");baocun();}void baocun() /*保存学生信息到文件的函数*/{int i;FILE *fp;if((fp=fopen("student.txt","wb"))==NULL) /*创建文件并判断是否能够打开成功*/{printf("文件不能打开!\n");exit(0); /*如果不能打开文件,则关闭当前所有的文件*/}for(i=0;i<n;i++) /*将存中的学生信息写入到磁盘文件中*/if(fwrite(&stu[i],sizeof(struct record),1,fp)!=1)printf("文件输入错误!\n");fclose(fp); /*关闭文件*/ }void chazhao(){int i,t,flag;char s1[30];system("COLOR 5f");printf("\n=================================\n");printf(" | 1.按学号查询|\n");printf(" | 2.按查询|\n");printf(" | 3.退出本菜单|\n");printf("=================================\n");while(1){flag=0;printf(" 请输入子菜单编号: ");scanf("%d",&t);switch(t){case 1:printf(" 请输入要查询的学生的学号: \n");scanf("%s",s1);for(i=0;i<n;i++)if(strcmp(stu[i].code,s1)==0){flag=1;printf("学生学号学生性别出生年月家庭地址年龄政治面貌各科成绩\n");printf("================================================ =============================================\n");printf("%6s%7s%5s%9s%8s%10s%14s%9s\n",stu[i].code,stu[i].name,stu[i].sex,stu[i].time,stu[i].add,stu[i].age,stu[i].sta,stu[i].grade) ;}if(flag==0)printf("该学号不存在! \n");break;case 2:printf(" 请输入要查询的学生的: \n");scanf("%s",s1);for(i=0;i<n;i++)if(strcmp(stu[i].name,s1)==0){flag=1;printf("学生学号学生性别出生年月家庭地址年龄政治面貌各科成绩\n");printf("================================================ ===========================\n");printf("%6s%7s%5s%9s%8s%10s%14s%9s\n",stu[i].code,stu[i].name,stu[i].sex,stu[i].time,stu[i].add,stu[i].age,stu[i].sta,stu[i].grade) ;}if(flag==0)printf("该不存在!\n");break;case 3:return;default:printf("请在1--3之间选择\n");}}}void xiugai(){int i,t,num;char sex1[3],s1[30],s2[30];printf(" 请输入要查询的学生的学号:\n");scanf("%s",s1);for(i=0;i<n;i++)if(strcmp(stu[i].code,s1)==0)num=i;system("COLOR 4f");printf("=============================================\n");printf(" | 1.修改|\n");printf(" | 2.修改性别|\n");printf(" | 3.修改出生年月日|\n");printf(" | 4.修改地址|\n");printf(" | 5.修改年龄|\n");printf(" | 6.修改政治面貌|\n");printf(" | 7.修改各科目成绩|\n");printf(" | 8.修改退出本菜单|\n");printf("=============================================\n");while(1){printf("请输入子菜单的编号:");scanf("%d",&t);switch(t){case 1:printf("请输入新的:\n");scanf("%s",s2);strcpy(stu[num].name,s2);break;case 2:printf("请输入新的性别:\n");scanf("%s",sex1);strcpy(stu[num].sex,sex1);break;case 3:printf("请输入新的出生年月日: \n");scanf("%s",s2);strcpy(stu[num].time,s2);break;case 4:printf("请输入新的地址: \n");scanf("%s",s2);strcpy(stu[num].add,s2);break;case 5:printf("请输入新的年龄: \n");scanf("%s",s2);strcpy(stu[num].age,s2);break;case 6:printf("请输入新的政治面貌: \n");scanf("%s",s2);strcpy(stu[num].sta,s2);break;case 7:printf("请输入新的各科目成绩: \n");scanf("%s",s2);strcpy(stu[num].grade,s2);break;case 8: return;default:printf("请在1--8之间选择\n");} }}void paixu(){int i,j,*p,*q,s;char temp[10];for(i=0;i<n-1;i++){for(j=n-1;j>i;j--)if(strcmp(stu[j-1].code,stu[j].code)>0){strcpy(temp,stu[j-1].code);strcpy(stu[j-1].code,stu[j].code);strcpy(stu[j].code,temp);strcpy(temp,stu[j-1].name);strcpy(stu[j-1].name,stu[j].name);strcpy(stu[j].name,temp);strcpy(temp,stu[j-1].sex);strcpy(stu[j-1].sex,stu[j].sex);strcpy(stu[j].sex,temp);strcpy(temp,stu[j-1].time);strcpy(stu[j-1].time,stu[j].time);strcpy(stu[j].time,temp);strcpy(temp,stu[j-1].add);strcpy(stu[j-1].add,stu[j].add);strcpy(stu[j].add,temp);strcpy(temp,stu[j-1].age);strcpy(stu[j-1].age,stu[j].age);strcpy(stu[j].age,temp);strcpy(temp,stu[j-1].sta);strcpy(stu[j-1].sta,stu[j].sta);strcpy(stu[j].sta,temp);strcpy(temp,stu[j-1].grade);strcpy(stu[j-1].grade,stu[j].grade);strcpy(stu[j].grade,temp);// p=&stu[j-1];// q=&stu[j];//s=*p;// *p=*q;// *q=s;}}}void shanchu(){int i,j,flag=0;char s1[15];printf("请输入将要删除的学生的学号:\n");scanf("%s",s1);for(i=1;i<n;i++)if(strcmp(stu[i].code,s1)==0){flag=1;for(j=i;j<n-1;j++)stu[j]=stu[j+1];}if(flag==0)printf("该学号不存在!\n");if(flag==1){printf("删除成功!显示结果请按6!\n");n--;}}void xianshi(){int i;FILE *fp;if((fp=fopen("student.txt","rb"))==NULL){printf("打开文件时错误!请按任意键退出!");system("pause");exit(0);}printf(" 所有学生的信息为:\n \n");printf("学生学号学生性别出生年月家庭地址年龄政治面貌各科成绩\n");printf("================================================ ============================\n");for(i=0;i<n;i++){ fread(&stu[i],sizeof(struct record),1,fp);printf("%6s%7s%5s%9s%8s%10s%14s%9s\n",stu[i].code,stu[i].name,stu[i].sex,stu[i].time,stu[i].add,stu[i].age,stu[i].sta,stu[i].grade) ;}}void tuichuxitong(){system("COLOR 3f");printf(" ---------------\n");printf("\n");printf("\n");}void huanyingyemian(){ system("COLOR 6f");printf("\n");printf("\n");printf("\n");printf("\n");printf("\n");printf("\n");printf("\n");printf("\n");printf(" 尊敬的用户:您好!\n");printf("\n");printf("\n");printf(" 欢迎使用\n"); printf("\n");printf("\n");printf(" -------☆--☆------\n");printf("\n");}void caidan(){ int num;system("COLOR 1f");printf("\n\n 学生个人信息管理系统\n\n");printf("================================================ ================================\n");printf("\n");printf(" ==============系统功能菜单==============\n");printf(" =======友情提醒:查询前请刷新统!======\n");printf("========================================\n");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:system("cls");help();break;case 1:system("cls");shuru();break;case 2:system("cls");chazhao();break;case 3:system("cls");xiugai();break;case 4:system("cls");shanchu();break;case 6:system("cls");xianshi();break;case 7:system("cls");baocun();break;case 8:system("cls");k=0;tuichuxitong();break;default:printf("请在1--8之间选择\n");}}结论:学生信息管理系统为其他系统提供学生的基本信息,本设计从功能上划分成了以下几大模块:学生档案信息管理,学生成绩管理。

相关主题