《学生信息管理系统报告》

来源:自查报告 发布时间:2022-09-05 14:25:05 点击:

下面是小编为大家整理的学生信息管理系统报告,供大家参考。

《学生信息管理系统报告》

 

 225552

 《C 程序设计》课程设计报告

  题目——学生信息管理系统

  班

 级

  计算机科学与技术师范

  设 计 者

  学

 号

  20101201053

 指导老师

  刘怀愚

 2011 年 3 月 30 日

 一、设计目的与内容 1 学生信息管理系统的功能为显示主要操作页面通过密码验证登陆界面学生信息处理功能。

 通过密码验证登陆可实现安全登录方便可靠。学生信息处理功能包括增加学生信息显示学生信息学生信息条件查询分为按学生姓名进行查询按学生学号进行查询 修改学生信息删除学生信息读取保存学生信息。

 2 学生信息管理系统的功能模块有 用户名和密码验证登陆界面输入正确的用户名和密码登陆主菜单选择界面 方便用户对程序的功能进行选择选择要实现的功能按 enter 键进入该功能。

 0. 系统帮助及说明 1. 增加学生信息。

 2. 显示学生信息。

 3. 学生信息条件查询。

 4. 修改学生信息。

 5. 删除学生信息。

 6. 读取学生信息。

 7. 保存学生信息。

 8. 退出谢谢使用!!! 程序分为多个小模块通过调用实现各种功能增强了程序的可建设性。

 二、总体设计流程图

  该流程图为此次学生信息管理系统的总体流程图 用户进入界面以后可以看到登陆密码界面 密码输入正确进入主菜单选择框架界面 0 为系统帮助及说明1 为输入学生信息 2 为显示学生信息 3 为查找学生信息 4 为修改学生信息5 为删除学生信息6 为读取学生信息7 为保存学生信息8 为退出系统谢谢使用!!!

 用户可以根据自己的需求方便快捷的做出自己的选择。

 三、算法的基本思想 1.头文件的引用和函数的声明 #include<stdio.h>

 //I/O 函数 #include<string.h> //字符串函数 #define N 100000 //最大学生人数,实际请更改//

 struct record //结构体 {

  char code[15]; //学号

  char name[15]; //姓名

  char age[3]; //年龄

  char sex[8]; //性别

  char time[15]; //出生日期 学生信息管理系统 密码登陆界面 登陆主菜单选择框架界面 输 入信息模块 显 示信息模块 条件 查询模块 修 改信息模块 退出系 统模块 从键盘输入信息 输出信息至屏幕 按学生学号查询 按学生姓名查询 修改学生信息 将退出界面显示 删 除信息模块 读取保存信息模块 读取 文件信息 保存文件信息 删除学生信息

 char add[30]; //家庭地址

  char tel[15]; //电话号码

  char mail[30]; //电子邮件地址 }stu[N];

 int k=1,n=0; //定义全局变量 void password(); //验证密码函数 void mainmenu(); //主菜单函数声明 void help(); //系统帮助函数声明 void insert(); //插入函数声明 void display(); //显示函数声明 void search(); //查找函数声明 void search_by_num(); //通过学号查找函数声明 void search_by_name(); //通过姓名查找函数声明 void modify(); //修改函数声明 void del(); //删除函数声明 void readfile(); //读取文件函数声明 void save(); //保存文件函数声明 该函数是对头文件的加载和引用定义结构体、常量和变量并对他们进行初始化工作。

 2.系统主调函数 void main() /*主函数*/ {

 printf("\t\t\t|

 |\n");

  printf("\t\t\t|

 欢迎使用学生信息管理系统

 |\n");

  printf("\t\t\t|

 |\n");

  printf("\t\t\t+----------------------------+\n");

 } 该函数为程序的主函数通过密码验证进入主菜单。

 3密码验证函数 /*通过对比字符串数组比较实现密码校验*/ void password() /*验证密码函数*/ {

  int i;

  char Administrator[15];

  char Password[15];

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

  { printf("\t\t\t+----------------------------+\n"); password();

 printf("\n 管理员初始用户名和密码均为 admin\n");

  printf("请输入您的用户名:");

  scanf("%s", Administrator);

  printf("请输入您的密码:");

  scanf("%s", Password);

  if((strcmp(Administrator,"admin")==0)&&(strcmp(Password,"admin")==0))

  {

  printf("登录成功!\n");

  while(k) /*循环判断*/

  mainmenu();

  break;

  }

  else

 {

  if (i < 2)

  {

  printf("用户名或密码错误,请重新输入!\n");

  }

  else

  {

  printf("您已连续 3 次将用户名或密码输错,系统将退出!\n");

  }

 }

  } } 密码登陆函数流程图

 该函数为密码登陆函数模块当用户输入密码正确时进入主菜单。当用户输入的密码不正确的时候系统会提示“密码输入错误请重新输入” 。若用户连续输错 3 次密码则退出系统。

 密码函数开始 登陆密码 重新登陆 密码错误 密码输错 3 次退出系统 进入主菜单 登陆密码

 4主菜单函数 void mainmenu() /*主菜单函数*/ {

  int num;

  printf("\t\t*****************系统功能菜单****************

 \n");

  printf("\t\t

  友情提醒:查询前请先读取学生信息!

 \n");

  printf("\t\t---------------------

  ---------------------

 \n");

  printf("\t\t*********************************************

 \n");

  printf("\t\t* 0.系统帮助及说明

  * *

 1.增加学生信息

 *

 \n");

  printf("\t\t*********************************************

 \n");

 printf("\t\t* 2.显示学生信息

  * *

 3.查找学生信息

 *

 \n");

  printf("\t\t*********************************************

 \n");

  printf("\t\t* 4.修改学生信息

  * *

 5.删除学生信息

 *

 \n");

  printf("\t\t*********************************************

 \n");

  printf("\t\t* 6.读取学生信息

  * *

 7.保存学生信息

 *

 \n");

  printf("\t\t********************** **********************

 \n");

  printf("\t\t* 8.退出系统

  * *

 *

 \n");

  printf("\t\t********************** **********************

 \n");

  printf("\t\t---------------------

  ---------------------

 \n");

  printf("请选择菜单编号:");

  scanf("%d",&num);

  switch(num)

 case 0:

 case 1:

 case 2:

 case 3:

 case 4:

 case 5:

 case 6:

 case 7:

 case 8:

 default:

  printf("请在 0-8 之间选择!\n"); {

  help();

  break;

  insert();

  break;

  display();

 break;

  search();

  break;

  modify();

  break;

 del();

 break;

  readfile(); break;

  save();

  break;

  k=0;

 break;

  } 主菜单函数流程图 }

  相应任务。

 该函数主要实现了对整个程序的运行控制 以及相关功能模块的调用。

  5输入学生信息函数 void insert() /*插入学生信息函数*/ {

  int i=n,j,flag;

  flag=1;

  while(flag)

 flag=0;

  printf("请输入第 %d 个学生的学号:\n",i+1);

  scanf("%s",stu[i].code);

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

  if(strcmp(stu[i].code,stu[j].code)==0)

 printf("已有该学号,请检查后重新录入!\n");

  flag=1;

  break; /*如有重复立即退出该层循环*/

  printf("请输入第 %d 个学生的姓名:\n",i+1);

  scanf("%s",stu[i].name);

  printf("请输入第 %d 个学生的年龄:\n",i+1);

  scanf("%s",stu[i].age);

  printf("请输入第 %d 个学生的性别:\n",i+1);

  scanf("%s",stu[i].sex);

  printf("请输入第 %d 个学生的出生日期:(格式:年.月.日)\n",i+1);

  scanf("%s",stu[i].time); 进入学生信息管理系统时显示程序名称和主菜单提示用户进行选择完成

 {

 {

 } } 1 输入信息 2 显示信息 3 查询信息 4 修改信息 8 退出系统 5 删除信息 6、 7 读保信息 主菜单开始 用户选择

 printf("请输入第 %d 个学生的地址:\n",i+1);

  scanf("%s",stu[i].add);

  printf("请输入第 %d 个学生的电话:\n",i+1);

  scanf("%s",stu[i].tel);

  printf("请输入第 %d 个学生的 E-mail:\n",i+1);

  scanf("%s",stu[i].mail);

  if(flag==0)

 i++;n++;

 printf("录入完毕!\n\n"); } 输入信息函数流程图

 输入信息系统开始 { }

  作当输入学号重复时系统会自动提示并让用户重新输入学号的操作。

 6显示学生信息函数 void display()/*显示学生信息函数*/ {

  int i;

  printf("所有学生的信息为:\n");

  printf("学号

 姓名

 年龄

 性别

  出生日期

  地址

 电话

 E-mail\n"

 ); 输入学生信息函数模块用户可以根据提示的信息来进行每一步的输入操输入学号 输入姓名 输入出生日期 输入地址 输入电话 输入电子邮件 学号重复 重新输入

 printf("--------------------------------------------------------------------------------");

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

 printf("%-5s %-11s %-5s %-6s %-10s %-9s %-11s %-16s",stu[i].code,

 } 显示信息函数流程图

 {

 stu[i].name,stu[i].age,stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail); } printf("\n\n");

  当用户进入查询信息模块时系统会显示内部存储的内容。

 7学生信息条件查询函数 void search() /*查找学生信息函数*/ {

  int item=-1;

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

  printf("-----1.按学号查询-----\n");

  printf("-----2.按姓名查询-----\n");

  printf("-----3.退出本菜单-----\n");

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

  printf("请选择子菜单编号:");

  scanf("%d",&item);

  switch(item)

 case 1:

 break;

  case 2:

  search_by_name(); do { {

  search_by_num(); 显示信息函数开始 输出学生信息 结束

 break;

  case 3:

  return;

  default:

  }

 void search_by_num() /*通过学号查找学生信息*/ {

 scanf("%s",s1);

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

  if(strcmp(stu[i].code,s1)==0)

 flag=1;

  printf("学号

 姓名

 年龄

 性别

  出生日期

  地址

 电话

 E-mail\n"

 );

  printf("--------------------------------------------------------------------------------");

  printf("%-5s %-11s %-5s %-6s %-10s %-9s %-11s %-16s\n",stu[i].code,

  if(flag==0)

  printf("该学号不存在!\n"); }

 void search_by_name() /*通过姓名查找学生信息*/ {

 scanf("%s",s1);

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

  if(strcmp(stu[i].name,s1)==0)

 flag=1;

  printf("学号

 姓名

 年龄

 性别

  出生日期

  地址

 电话

 E-mail\n"

 );

  printf("--------------------------------------------------------------------------------");

  printf("%-5s %-11s %-5s %-6s %-10s %-9s %-11s %-16s\n",stu[i].code,

  }

  }while(item!=3);

  printf("请在 1-3 之间选择!\n");

  break; int i,flag=0; char s1[21]; printf("请输入要查询的学生的学号:\n"); {

  stu[i].name,stu[i].age,stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail); } int i,flag=0; char s1[21]; printf("请输入要查询的学生的姓名:\n"); {

 if(flag==0)

  printf("该姓名不存在!\n"); } 查询信息流程图

  stu[i].name,stu[i].age,stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail); }

  当用户执行此查询任务时系统会提醒用户进行查询方式的选择即按学号或姓名进行查询。若此学生信息记录存在则会显示该学生的信息。若无此学生记录则提示该学号或姓名不存在。

 8修改学生信息函数 void modify() /*修改学生信息函数*/ {

  int i,item,num;

  char sex1[8],s1[15],s2[15];

  printf("请输入要修改的学生的学号:\n");

  scanf("%s",s1);

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

  if(strcmp(stu[i].code,s1)==0) /*比较字符串是否相等*/

  E-mail\n"

 );

  printf("--------------------------------------------------------------------------------");

  do {

  num=i;

  printf("该学生的信息为:\n");

  pr...

推荐访问:信息管理工作总结 《学生信息管理系统报告》 信息管理系统 报告 学生
上一篇:“能力作风建设年”活动个人剖析材料自查报告合编10篇
下一篇:全面从严治党工作情况报告6篇

Copyright @ 2013 - 2025 韵智公文网 All Rights Reserved

韵智公文网 版权所有 备案号:冀ICP备16002157号-5