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

班级学生信息管理系统设计

班级学生信息管理系统设计
班级学生信息管理系统设计

班级学生信息管理设计系统

课程:C语言程序设计

班级:计算机软件技术****班

学号:**********

姓名:**

2014年6月

目录

一、设计目的·····································错误!未定义书签。

二、总体设计·····································错误!未定义书签。

三、详细设计···································错误!未定义书签。

四、调试与测试·································错误!未定义书签。

五、源程序清单和执行结果 ·························错误!未定义书签。

六、总结·············································错误!未定义书签。

一、设计目的

(1)基本掌握面向过程程序设计的基本思路和方法;

(2)达到熟练掌握C语言的基本知识和技能;

(3)能够利用所学的基本知识和技能,解决简单的程序设计问题

二、总体设计

本设计有1个C文件(11个函数)和一个头文件组成关系如表所示。

程序包含头文件的存、取过程,其功能就是按输入学号大小的顺序建立记录。程序自动建立一个文件来保存学生信息记录。

分析系统:根据题目的需求分析,可将这个系统设计为九大函(见下图):系统帮助及说明,刷新学生信息,查询,修改,插入,删除,显示,保存,退出。(组成框图)

流程图:

三、详细设计数据结构设计:

结构数组:

struct student /*结构体*/

{

char xuehao[LEN+1]; /* 学号*/

char name[LEN+1]; /* 姓名*/

int age; /* 年龄*/

char sex[3]; /* 性别*/

char time[LEN+1]; /* 出生年月*/

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

char tel[LEN+1]; /* 电话号码*/

char mail[30]; /* 电子邮件地址*/

char sushe[30];/* 宿舍*/

char koukou[20]; /* qq */

char banjizhiwu[30]; /* 班级职务*

}stu[N];

功能模块设计:

本程序执行的入口是menu函数,然后用switch句实现对各个函数的调用。被调用的函数都是没有形参

的,函数直接实现所需要的功能。最后再从main函数

中结束整个程序的运行。

0、界面函数:

函数原型:void menu()

功能:接受用户选择的菜单命令.若果输入不符合要求,则提醒用户重新输入。

参数:无。

返回值:无

工作方式:根据命令,调用相应函数。

1、帮助函数:

函数原型:void help()

功能:给用户一些提示和帮助。

参数:无。

返回值:无

2、刷新函数:

函数原型:void readfile()

功能:新增或修改学生信息以后,刷新信息。

参数:无。

返回值:无

3、查询函数:

函数原型:void seek()

功能:可以找到想要查询的某个学生信息记录。可以按照学号、姓名来查询。

参数:无。

返回值:无

工作方式:可选择按照学号或姓名来查询。

4、修改函数:

函数原型:void modify()

功能:找到指定记录并修改。如果有的学生信息发生改变,你可以丢它进行修改,修改之前,你必须找到你修改学生的记录,你可以根据学号找到要改学生的信息,找到之后,若要修改,可以选择某一项(如:姓名、年龄、性别等)对它进行修改。

参数:无。

返回值:无

工作方式:可以按照学号、姓名活名次找到要修改的记录,确认后方可修改。

5、插入函数:

函数原型:void insert()

功能:增加学生记录。

参数:无。

返回值:无。

工作方式:其中通过学号的大小来比较的,并且以此来排序插入记录。

6、删除函数:

函数原型:void del()

功能:删除指定学号的学生信息记录。删除之前,需要判定该学生的学号是否存在,若存在,就可以对它进行删除。

参数:无。

返回值:无

工作方式:根据给定的学号,查找符合的记录并删除之。

7、显示函数:

函数原型:void display()

功能:显示当前学生记录的信息。

参数:无。

返回值:无

工作方式:显示当前学生记录记录内容。

8、保存函数:

函数原型:void save()

功能:可以保存新增的或修改的学生信息记录。

参数:无。

返回值:无

工作方式:将学生信息记录写入student.txt中。

9、排序函数:

函数原型:void sort()

功能:对学生进行排序,可以按照学号进行准确的排序。

参数:无。

返回值:无

工作方式:对学生进行排序,可以根据需要,对学生的

学号或者成绩进行升序。

10、退出系统:

函数原型:int main()

功能:结束程序运行。

参数:无。

返回值:无

工作方式:根据要求选择退出。

四、调试与测试

问题一、学生显示信息函数:

其中包括学生的学号,姓名,年龄,性别,出生年月,地址,电话,E-mail,宿舍,扣扣,班级职务等相关信息;可用函数display()来实现此操作。当正确输入存在的学生学号,系统进行判断时,提示不存在此学生。

解决办法及步骤:

1、一个个输出所有的学生的学号,检查文件中是否有此学生,发现有。

2、既然有此学生,那么检查循环判断是否有此学生的语句发现没有错

3、输出用于循环检查语句中的学生信息,发现乱码

4、仔细分析乱码的原因,最后发现是变量的类型错误,错将学生类型的结构体指针变量定义为了其他类型的指针变量。

问题二、查询函数:

可用seek()来实现。找到就输出此学生全部信息学生的学号,姓名,年龄,性别,出生年月,地址,电话,E-mail,宿舍,扣扣,班级职务。当正确输入查找信息时,系统却不能够得到所要查找的学生信息。解决办法及步骤:

1、检查所编写的程序代码是否完全正确,若不是,则改之,然后再继续正确输入查找信息看能否得到所要查找的学生信息。

2、检查当我们在输入查找信息时,看是否我们输入的信息有误,若是这样的话,我们应当仔细输入查找信息。

五、源程序清单和执行结果

源代码:

#include /*I/O函数*/

#include /*其它说明*/

#include /*字符串函数*/

#define BUFLEN 100 /* 缓冲区最大字符数 */

#define LEN 15 /* 学号和姓名最大字符数,实际请更改 */

#define N 100 /* 最大学生人数,实际请更改*/

struct student /*结构体*/

{

char xuehao[LEN+1]; /* 学号 */

char name[LEN+1]; /* 姓名 */

int age; /* 年龄 */

char sex[3]; /* 性别 */

char time[LEN+1]; /* 出生年月 */

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

char tel[LEN+1]; /* 电话号码 */

char mail[30]; /* 电子邮件地址 */

char sushe[30]; /* 宿舍 */

char koukou[20]; /* qq */

char banjizhiwu[30]; /* 班级职务 */

}stu[N];int k=1,n,m; /* 定义全局变量 */

/* 函数声明 */

void readfile(); /* 刷新函数 */

void seek(); /* 查询函数 */

void modify(); /* 修改函数 */

void insert(); /* 插入函数 */

void del(); /* 删除函数 */

void display(); /* 显示函数 */

void save(); /* 保存函数 */

void menu(); /* 菜单界面函数 */

int main()

{

while(k)

menu(); /* 当k=0,调用menu函数,退出系统*/ system("pause");

return 0;

}

void help() /*帮助函数*/

{

printf("\n0.欢迎使用系统帮助!\n");

printf("\n1.进入系统后,先刷新学生信息,再查询;\n");

printf("\n2.按照菜单提示键入数字代号;\n");

printf("\n3.增加学生信息后,切记保存按7;\n");

printf("\n4.谢谢您的使用!\n");

}

void readfile() /* 刷新函数(建立信息) */

{

char *p="student.txt";

FILE *fp;

int i=0;

if ((fp=fopen("student.txt","r"))==NULL)

{

printf("Open file %s error! Strike any key to exit!",p);

system("pause");

exit(0);

}while(fscanf(fp,"%s %s %d %s %s %s %s %s %s %s %s",stu[i]. xuehao,stu[i].name,&stu[i].age,

stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail,st u[i].sushe,stu[i].koukou,

stu[i].banjizhiwu)==11)

{

i++;

i=i;

}

fclose(fp);

n=i;

printf("录入完毕!\n");

}

void seek() /*查找*/

{

int i,item,flag;

char s1[21];/* 以姓名和学号最长长度+1为准 */

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

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

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

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

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

while(1)

{

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

scanf("%d",&item);

flag=0;

switch(item)

{

case 1:printf("请输入要查询的学生的学号:\n");

scanf("%s",s1);

for(i=0;i

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

{

flag=1;printf(" 学号姓名年龄性别出生年月地址电话 E-mail 宿舍扣扣班级职务\n");

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

printf("%4s %7s %4d %4s %9s %8s %10s %16s %7s %7s %4s\n" ,stu[i].xuehao,stu[i].name,

stu[i].age,stu[i].sex,stu[i].time,stu[i].add,stu[i].tel, stu[i].mail,stu[i].sushe,

stu[i].koukou,stu[i].banjizhiwu);

}

if(flag==0)

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

break;

case 2:printf("请输入要查询的学生的姓名:\n");

scanf("%s",s1);

for(i=0;i

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

{

flag=1;

printf(" 学号姓名年龄性别出生年月地址电话 E-mail 宿舍扣扣班级职务\n");

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

printf("%4s %7s %4d %4s %9s %8s %10s %16s %7s %7s %4s\n" ,stu[i].xuehao,stu[i].name,stu[i].age,

stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail ,stu[i].sushe,

stu[i].koukou,stu[i].banjizhiwu);

}if

(flag==0)

printf("该姓名不存在!\n");

break;

case 3:return;

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

}

}

}

void modify() /*修改信息*/

{

int i,item,num;

char sex1[3],s1[LEN+1],s2[LEN+1]; /* 以姓名和学号最长长度+1为准 */

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

scanf("%s",s1);

for(i=0;i

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

num=i;

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

printf("1.修改姓名\n");

printf("2.修改年龄\n");

printf("3.修改性别\n");

printf("4.修改出生年月\n");

printf("5.修改地址\n");

printf("6.修改电话号码\n");

printf("7.修改E-mail地址\n");

printf("8.修改宿舍地址\n");

printf("9.修改扣扣号\n");

printf("10.修改班级职务名称\n");

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

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

while(1)

{

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

scanf("%d",&item);

switch(item)

{

case 1:printf("请输入新的姓名:\n");

scanf("%s",s2);

strcpy(stu[num].name,s2);

break;

case 2:printf("请输入新的年龄:\n");

scanf("%d",&stu[num].age);

break;

case 3:printf("请输入新的性别:\n");

scanf("%s",sex1);

strcpy(stu[num].sex,sex1);

break;case 4:printf("请输入新的出生年月:\n");

scanf("%s",s2);

strcpy(stu[num].time,s2);

break;

case 5:printf("请输入新的地址:\n");

scanf("%s",s2);

strcpy(stu[num].add,s2);

break;

case 6:printf("请输入新的电话号码:\n");

scanf("%s",s2);

strcpy(stu[num].tel,s2);

break;

case 7:printf("请输入新的E-mail地址:\n");

scanf("%s",s2);

strcpy(stu[num].mail,s2);

break;

case 8:printf("请输入新的宿舍地址:\n");

scanf("%s",s2);

strcpy(stu[num].sushe,s2);

break;

case 9:printf("请输入新的扣扣号:\n");

scanf("%s",s2);

strcpy(stu[num].koukou,s2);

break;

case 10:printf("请输入新的班级职务名称:\n");

scanf("%s",s2);

strcpy(stu[num].banjizhiwu,s2);

break;

case 11:return;

班级管理主题班会教案

高一(5)班主题班会 立自律之志展学生风采 班会目的: 通过全班每一个同学都参与本次班会,加强班级的凝聚力,通过班会从思想上认识到自我管理的重要性,在行动上自觉遵守有关规定,养成良好的行为习惯。 活动形式: 班干部主持、调查、探究、采访、表演、交流、展示 班会活动分析: 重点:开展自我管理活动,增强自律意识 难点;变自律教育为自律活动 关键:让学生参与到课堂活动中来 活动流程: 一、主持人上场,由班训、班级现状引出自我管理的话题。 尊敬的各位领导,老师,亲爱的同学们, 大家好! 高一五班“立自律之志,展学生风采”主题班会现在开始! 下面我们将给大家展示一些咱们班级刚组建初和近期的一些照片,(主持人对话,介绍照片内容的新风貌) W:还记得刚刚组建班级时的状态吗?上课趴桌子,书本摆放不整齐,值日生散漫,因为这些班主任可没少和咱们发脾气。 Y:再看看现在的照片吧,嗬,上课时大家都在聚精会神的听讲,书本全都整齐的摆放在一侧,组长带头值日,坚持值日签到制度,每个人都有自己任务。 W:雨桐啊,你看,通过咱们班级这些照片的对比,你发现了咱们班级的进步么? Y:当然了,同学们之前的不好的习惯有了很大的改正呢。 W:那你认为是因为什么原因是班级有了这么大的改善呢? Y:这个…… W:记得咱们的班训么? Y:记得“入班即静,入座即学,厚积薄发,志在必赢”(PPT) W:入班即静,入座即学,靠的就是自律(PPT),自律指在没有人现场监督的情况下,通过自己要求自己,变被动为主动,自律的行动创造出一种井然的秩序来为我们的学习生活争取更大的自由,所以啊,咱们班级之所以有这么大的进步,就是因为同学们的自律意识增强了。 二:通过自控力小测验,检测同学的自我管理能力 Y:记得毕达哥拉斯说:不能约束自己的人,不能称他为自由人。可见自律的重要性,为了让同学们了解自己的自律性,让我们来做一个自控力的小测试(PPT),每选择一个“是”得一分。 W:同学们都做完了吧?得1—2分的同学请举手,你们自律性强。 得3—5分的同学请举手,你们的自律性一般。 得6—8分的同学请举手,你们的自律性较差。 Y:相信通过刚才的小测试同学们对自己的自控力有了一定的认识,学习生活中的我们有是否因为这薄弱的自控力丧失了许多学习的动力,进步的机会呢?

《管理信息系统》课程设计分析方案

管理信息系统设计报告 实验题目:航班售票管理系统设计报告 院系班级: 姓名: 学号: 辅导老师:徐恒 完成日期:2018年5月17日

目录 一、实验题目3 二、实验目的3 三、实验内容3⑴.系统分析:3 <一)必要性分析3 <二)可行性分析3 <三)航班售票管理系统业务流程分析3 <四)航班售票管理系统数据流图5 <五)航班售票管理系统数据字典5 ⑵.系统设计:8 <一)功能模块设计8 <二)代码设计9 <三)系统运行环境与数据库设计9 <四)输入输出设计11 四、总结与体会16 参考书目:18

一、实验题目:航班售票管理系统设计报告 二、实验目的: 1.能够正确运用网络数据库课程的基本理论和知识,结合本课题,复习巩固提高数据库反感设计,论证和分析方法; 2.熟悉关系数据库规范化设计理论,根据实验要求设计并建立 科学合理的数据库,正确建立数据库中表与表之间的关系; 3. 熟悉业务流程图,数据流程图,数据字典的绘制; 4. 熟悉数据存储设计,输入输出设计等环节; 5. 进一步树立正确的系统设计,实施思想,培养分析能力和解 决问题能力,提高查询信息和撰写书面文件的能力。 三、实验内容 ⑴.系统分析: <一)必要性分析 国际民航业的激烈竞争又迫使担负国际航线运输任务的航空公司必须尽快推出自己的因特网售票系统,而这些又必须由一个安全

的网上订票与支付系统作支持。更重要的还要提供票务管理。面对不同种类的信息,需要合理的数据库结构来保存数据信息以及有效的程序结构支持各种数据操作的执行。航空业身处信息时代的电子商务大潮中,加之传统的售票方式已经不能满足现今航空业的发展,于是航空售票管理系统就自然而然被应用。 <二)可行性分析 由于本系统管理主要是对机票的管理,且每个数据内容具有较强的关联性,涉及的计算过程不是很复杂。因此,比较适合于采用数据库管理。且航空公司用于机票管理的微机都是PIII以上的机器,在存储量、速度方面都能满足数据库运行的要求。在技术难度方面,由于有相关参考文献,还有就是网上资料,特别是参考其它程序的功能,因此完全可以实现系统的投资约50万元,待5年后更新,年使用费约10万元,在经济上是可行的。 <三)航班售票管理系统业务流程分析 航班售票系统主要有以下几项管理功能: <1)订票管理:根据乘客的订票信息查询航班信息,查看是否还有余票未售出,为乘客订票,备份数据。当需要修改订票记录时,查找原订票记录,找到后修改订票记录,备份数据。 <2)退票管理:根据乘客提供的证件号码查找相应乘客信息,若找到,为其退票。 <3)综合查询:根据乘客的要求和提供的信息,检索航班信息数据表,查询航班信息。

C++实现:简单的学生信息管理系统

<< endl << endl; cout << "按下1:进入学生信息管理系统." << endl; cout << "按下0:退出." << endl; cout << "-----------------------------------------------------" << endl<> flagOperateInformation; (); cout << endl; if (flagOperateInformation) EditMenu(); } } << endl; cout << "按下2:修改学生信息." << endl; cout << "按下3:删除学生信息." << endl; cout << "按下4:显示学生信息." << endl; cout << "按下5:按学号升序排序" << endl; cout << "按下6:读入已有信息(暂时没实现)" << endl; cout << "按下7:将信息输出(暂时没实现)" << endl; cout << "按下8:显示系统内所有学生的信息" << endl; cout << "按下0:返回上一级." << endl; cout << "--------------------------------------------" << endl << endl; cin >> flagContinueOperation; (); cout << endl; switch (flagContinueOperation) { case 1:AddStudentPersonalInformation(1); break; case 2:ModifyStudentInformation(); break; case 3:DeleteStudentInformation(); break; case 4:DisplayStudentInformation(); break; case 5:RankByID(); break; case 6:cout << "功能暂未实现" << endl; break; case 7:cout << "功能暂未实现" << endl; break; case 8:DisplayAllStudentInformation(); break; case 0:break; } } } tudent_WritePersonalInformation(iD,name,address,phone); cout << "基本信息输入成功!" << endl << "------------------------------" << endl; } tudent_WriteMaPhEgGrade(mathGrade, physicsGrade, englishGrade); cout << "学习成绩输入成功!" << endl

网页设计代码大全

段落标记background:网页背景图像… bgcolor:网页背景颜色align:left right center text:字体颜色强制换行标记link:可链接文字的色彩

alink:被鼠标点中时可链接文字的颜色预排格式标记vlink:已经单击过的可链接文字的颜色

 leftmargin:页面左边距插入水平线标记topmargin:页面上边距
Vlink:已经单击过的可链接文字的颜色文本缩标记Leftmargin:页面左边距
Topmargin:页面上边距列表标记 标题格式标记 1.无序标题 (范围(h1-h6))
相关文档 最新文档