下面是小编为大家整理的《学生信息管理系统报告》,供大家参考。
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...
推荐访问:信息管理工作总结 《学生信息管理系统报告》 信息管理系统 报告 学生