#include stdio.h
#include string.h
struct student
{
long int num;
int age;
};
int n=0;
struct student stu[100];
struct student *p;
void lr();
void ll();
void cx();
void xg();
void sc();
void main()
int z;
printf("◆---------------------------◆\n");
printf("| 欢迎使用学生信息管理系统 |\n");
printf("提示:为保证您的操作得到保存,请按正常顺序退出系统^_^\n");
do
printf("\n\t\t\t--------------------------------\n");
printf("\t\t\t◆ 主菜单 |\n");
printf("\t\t\t--------------------------------\n");
printf("\t\t\t◆ [1]----录入学生信息 |\n");
printf("\t\t\t◆ [0]----退出系统 |\n");
printf("请输入您的选择:");
scanf("%d", z);
switch(z)
case 0 : break;
case 1 :lr();break;
default:printf("\n无效选项!");
}
while(z!= 0);
void lr()/*录入函数*/
int y;
if(n==0)
p=stu;
printf("--------------------\n");
printf("请输入学生的学号:");
scanf("%ld",p-num);
printf("请输入学生的姓名:");
scanf("%s",p-name);
printf("请输入学生的年龄:");
scanf("%d",p-age);
printf("请输入学生的性别:");
scanf("%s",p-sex);
printf("请输入学生的地址:");
scanf("%s",p-b);
printf("请输入学生的电话:");
scanf("%s",p-p);
n◆◆;
p◆◆;
printf("\n1.继续输入.\n0.输入完毕.\n");
printf("请选择:");
scanf("%d",y);
while(y==1);
printf("提示:输入完毕!你一共输入%d个\n",n);
void ll()/*浏览函数*/
int i,j;
if(n!=0)
{ printf("学生总数:%d\n", n);
printf("学号\t姓名\t年龄\t性别\t地址\t\t电话\n");
printf("-----------------------------------------------------\n");
for(i=0;in;i◆◆)
printf("%ld\t%s\t%d\t%s\t%s\t\t%s\n",stu[i].num,stu[i].name,stu[i].age,stu[i].sex,stu[i].b,stu[i].p);
else printf("提示:无学生数据,请输入数据!");
void cx()/*查询函数*/
int c;
int w,i,j=0;
do{ printf("\n");
printf("◆--------------------◆\n");
printf("| 按学号查询 请按 1 |\n");
printf("| 取消 请按 0 |\n");
scanf("%d", c);
switch(c)
case 0:break;
case 1:
printf("请输入学生的学号;");
scanf("%ld", w);
printf("\n");
if(stu[i].num==w)
printf("\n学号\t姓名\t年龄\t性别\t地址\t\t电话\n");
j=1;
if(j==0)
printf("提示:没有该学生记录,请核对!");
break;
printf("请输入学生的姓名:");
scanf("%s", name);
if(strcmp(name,stu[i].name)==0)
default:
printf("\n提示:无效选项!");
}while(c!= 0);
}else printf("提示:无学生数据,请输入数据!");
return;
void xg()/*修改函数*/
int i,j,c;
printf("请输入您要修改的学生的学号:");
scanf("%ld", num);
if(stu[i].num==num)
j=i;
do{
printf("请选择您要修改的学生的信息内容:\n");
printf("◆----------------------◆\n");
printf("| 姓名 请按 1 |\n");
printf("| 取消 请按 0 |\n");
case 1:printf("请输入新姓名:");
scanf("%s",stu[j].name);
scanf("%d",stu[j].age);
scanf("%s",stu[j].sex);
scanf("%ld",stu[j].num);
scanf("%s",stu[j].b);
scanf("%s",stu[j].p);
printf("\n无效选项!");
}else printf("提示:无学生数据,请输入数据!");
void sc()/*删除函数*/
int i,j,e;
printf("请输入您要删除的学生的学号:");
if(num==stu[i].num)
if(j!=(n-1))
for(e=i-1;en;e◆◆,j◆◆)
stu[j].num=stu[j◆1].num;
strcpy(stu[j].name,stu[j◆1].name);
strcpy(stu[j].sex,stu[j◆1].sex);
stu[j].age=stu[j◆1].age;
strcpy(stu[j].b,stu[j◆1].b);
strcpy(stu[j].p,stu[j◆1].p);
n--;p--;
}else {n--;p--;}
printf("提示:删除完毕!");
}else printf("提示:无学生数据,请输入数据!");
C 语言学生成绩管理系统
#includestdio.h
#includemalloc.h
#includeconio.h
#includestring.h
typedef struct STUDENT
float mark1;/*第1门成绩*/
struct STUDENT *next;
}STUDENT;
STUDENT *headLink; /*链表表头指针*/
/*函数声明*/
void ReadInfoFormFile();
void Menu();
void CreateHeadLink();
STUDENT *MallocNode();
void GetInformation(STUDENT *t);
void OutputInformation();
void DesplayInfoBystudentName();
void DesplayInfoBystudentNumber();
void DesplayOneNode(STUDENT *t);
void InsertOneNode(STUDENT *t);
void DeleteNodeBystudentNumber();
void ChangeMarkByName();
void ChangeMarkByNumber();
void SaveLinkToFile();
void paixu();
void DesplayMarkSegment();
int choose;/*用于接受用户的选择*/
/*主函数*/
main()
printf("\n\t\t欢迎进入***学院***班学生成绩管理系统\n\n\n");
printf("\t\t\t\tO(∩_∩)O\n\n\n\n");
printf("\t\t\t^_^\t\t\t^_^\n\n");
printf("\n\t\t 注意:请按照要求输入相应信息,谢谢!\n\n\n\n\n");
printf("\t\t\t\t\t\t\t\t制作人:***\n\n\n");
printf("\t\t\t 按任意键进入............");
getch();
system("cls");
CreateHeadLink();
ReadInfoFormFile();
Menu();
/*从文件中读学生信息到链表中*/
void ReadInfoFormFile(void)
FILE *fp;
STUDENT *p;
fp=fopen("student.txt","r");
if(!fp)
p=MallocNode();
InsertOneNode(p);
fclose(fp);
/*显示菜单,根据用户的输入完成相应的功能*/
void Menu(void)
printf("\t\t (^o^)欢迎使用学生成绩管理系统(^o^)\n\n");
printf("\t ※--------------------请选择相应功能---------------------※\n\n");
printf("\t 1: 显示所有学生的信息 |");
printf("\t 10: 显示不及格及优秀学生 |\n\n");
printf("\t 11: 返回主菜单 |");
printf("\t ※----------------------O(∩_∩)O------------------------※\n\n");
printf("\t 请输入对应数字:");
scanf("%d",choose);/*取得用户的选择*/
switch(choose)
case 1:system("cls");
OutputInformation();/*显示所有学生的信息*/
DesplayInfoBystudentName();
DesplayInfoBystudentNumber();/*根据用户输入的学号显示该学生的信息*/
p=MallocNode();/*先申请一个新结点*/
GetInformation(p);/*要求用户输入信息到新结点中*/
InsertOneNode(p);/*将新结点加到链表中*/
DeleteNodeBystudentNumber();/*根据用户输入的学号删除该学生*/
ChangeMarkByName();/*根据用户输入的姓名修改学生成绩*/
ChangeMarkByNumber();/*根据用户输入的学号修改学生成绩*/
SaveLinkToFile();/*保存数据*/
paixu();break;
case 10: system("cls");
DesplayMarkSegment();break;
case 11: system("cls");
SaveLinkToFile();/*保存数据后再退出*/
free(headLink);
exit(1);
default: system("cls"); break;
Menu();/*递归调用*/
/*建立链表表头*/
void CreateHeadLink(void)
p=(STUDENT*)malloc(sizeof(STUDENT));
headLink=p;
p-next=NULL;
/*申请一个新结点,并将其初始化*/
STUDENT *MallocNode(void)
int i;
if(p==NULL)
return NULL;
for(i=0;i10;i◆◆)
p-studentNumber='\0';
p-studentName='\0';
p-className='\0';
p-mark1=0.0;
return p;
/*取得用户输入的学生信息*/
void GetInformation(STUDENT *t)
printf("请输入学生学号:");
scanf("%s",t-studentNumber);
printf("请输入学生姓名:");
scanf("%s",t-studentName);
printf("请输入该生所在班级:");
scanf("%s",t-className);
printf("请输入第1门成绩:");
scanf("%f",(t-mark1));
/*在链表的结尾处增加一个结点*/
void InsertOneNode(STUDENT *t)
p=headLink;
while(p-next)
p=p-next;
p-next=t;
/*根据用户输入的学生姓名显示该学生的信息*/
void DesplayInfoBystudentName(void)
char flag=0;
p=headLink-next;
scanf("%s",studentName);
while(p)
if(strcmp(p-studentName,studentName)==0)
{system("cls");
DesplayOneNode(p);
flag=1;
if(!flag) {system("cls");
printf("\t 对不起,不存在姓名为 %s 的学生\n",studentName);}
/*根据用户输入的学号显示该学生的信息*/
void DesplayInfoBystudentNumber(void)
scanf("%s",studentNumber);
if(strcmp(p-studentNumber,studentNumber)==0)
{ system("cls");
printf("\t 对不起,不存在学号为 %s 的学生\n",studentNumber);
}}
/*输出一个结点的信息*/
void DesplayOneNode(STUDENT *t)
printf("\t%s\t",t-studentNumber);
printf("%s\t",t-studentName);
printf("%s\t",t-className);
/*根据用户输入的学号删除该学生*/
void DeleteNodeBystudentNumber(void)
char studentNumber[10];
STUDENT *p,*q;
printf("请输入要删除的学生学号:");
q=headLink-next;
while(q)
if(strcmp(q-studentNumber,studentNumber)==0)
p-next=q-next;
free(q);
q=q-next;
if(!flag)
printf("\t 不存在该学号的学生\n");
printf("\t 成功删除\n");
/*显示所有学生的信息*/
void OutputInformation(void)
printf("\t 现在没有学生信息,请先输入学生信息\n\n");
/*根据输入的姓名修改成绩*/
void ChangeMarkByName(void)
printf("请输入新的第1门成绩:\n");
scanf("%f",mark1);
p-mark1=mark1;
printf("修改成功\n");
printf("\t 对不起,不存在姓名为 %s 的学生\n",studentName);
} }
void ChangeMarkByNumber(void)
if(!flag){system("cls");
/*保存链表数据到文件中*/
void SaveLinkToFile(void)
printf("\t 现在没有学生信息,请先输入学生信息\n\n");
fp=fopen("student.txt","w◆");
printf("文件不存在\n");
/*显示优秀和不及格学生成绩*/
void DesplayMarkSegment(void)
int count=0;
count◆◆;
printf("\t不及格的学生一共有%d人\n",count);
printf("\t成绩优秀的学生成绩如下:\n");
count=0;
printf("\t成绩优秀的学生一共有%d人\n",count);
/*按总成绩排序*/
void paixu(void)
STUDENT exchange,*r,*p,*q;
r=headLink-next;
if(r==NULL)
printf("\t 现在还没学生信息,请先输入学生信息\n");
while(r)/*两层while循环实现排序*/
p=r;
q=r-next;
strcpy(exchange.studentNumber,q-studentNumber);/*先复制q结点信息到exchange*/
strcpy(exchange.studentName,q-studentName);
strcpy(exchange.className,q-className);
exchange.mark1=q-mark1;
strcpy(q-studentNumber,p-studentNumber);/*再复制p结点信息到q*/
strcpy(q-studentName,p-studentName);
strcpy(q-className,p-className);
q-mark1=p-mark1;
strcpy(p-studentNumber,exchange.studentNumber);/*最后复制exchange结点信息到p*/
strcpy(p-studentName,exchange.studentName);
strcpy(p-className,exchange.className);
p-mark1=exchange.mark1;
r=r-next;
OutputInformation();
需求分析项目名称:公司人事管理系统
第一段:用例视图写出用例图的介绍,包括功能包、用例的简述等.不少于1000字.
第二段:用例描述1. Login 英文名称:Login 中文名称:登录 参与者 :User
第四段:非功能性需求
① 质量属性性能暂无要求安全性密码安全存储的安全易用性简单易用快捷操作持续可用性程序稳定可伸缩性暂无要求互操作性可更换数据库或存储成标准格式CSV可靠性不易死机测试严格鲁棒性能容忍非法操作易理解性易被开发人员看懂设计文档和代码规范可扩展性能增加功能可重用性系统的类可被重用可测试性易测试可维护性易修改错误、代码易理解可移植性易换平台易换数据库
①.成绩管理系统------分析报告(不知如何贴数据流程图之类的到这里,所以把相关图片贴到空间里啦)(另:数据字典是表格形式啦,贴来这里就变了.)
一 . 引言
①系统名称:学生成绩管理信息系统
该系统的开发以教务管理人员和任课教师服务为对象,能够提高学校对学生成绩的统计分析效率,减轻教务管理人员对学生成绩管理和统计的负担,提高学校对学生成绩的规范化管理.
该成绩管理系统能够及时对学生成绩进行收集整理,使学校相关部门及时获取可靠的学生成绩信息,便于管理.
本系统的使用者根据其使用者------教务处管理人员和任课教师-----可分为以下几方面:
(1)教务处管理人员登陆后,进入教务人员管理模块,可以进行个人信息查询,教师住处职称工资情况的查询,学生信息查询,成绩查询以及退出系统等操作.
每个学校都需要在学期末进行期末考试成绩的统计分析工作,而这些工作都必须在考试结束后近一个星期的时间内完成.大量的成绩数据的统计分析工作如果只靠人工来完成,费时费力,还容易出错.随着计算机技术的飞速发展,计算机在日常管理应用中迅速普及,利用计算机进行学生成绩管理势在必行.所以呢需开发出一个能满足学校进行成绩的录入,统计,查询,报表和打印等需求的、功能完善、安全可靠、迅速简便的成绩管理信息系统.
二. 系统目标和开发的可行性
①系统目标:
(1)为教务处管理人员提供各学期、各年级、各班级学生的基本成绩信息,以作为其进行成绩汇总,分析和考绩和总结评比的依据.
(1)系统的名称、功能、目标等已如前所述,此地不再重复.
A. 软件环境:
编程语言:SOL
B 硬件环境:
有高性能的电子计算机、大容量的存贮装置,个人电脑(终端)以及联结起来的网线等,组成信息资源共享的计算机网络,有共享的打印机,扫描仪等等
①.) 系统运行安全可靠,稳定性好;
B.经济可行性:在经济上,用此系统加强了成绩信息管理效率,为教务人员提供了较高的效率,可节省人力资源的开支.
C.管理的可行性:在工作上,教务人员管理学生信息量非常大,开发了此系统,可极大提高教务人员的工作的效率.方便成绩的储存和修改,及以后随时查询成绩信息,是一个比较人性化的管理系统.
由以上分析得出,本系统可进行开发.
三. 现行系统概况
①现行系统现状调查
现有的学生成绩管理系统主要是以成绩数据信息的存储和统计为目标,而且系统的设计繁琐,管理不够专人化,需要的人员过多,所以呢系统的安全性保密性不好;查询功能简单,数据共享性不高.
(1)系统需要在实现数据录入,存储,统计自动化的基础上增强查询功能;
四. 新系统的逻辑方案
①业务流程图
(1)顶层图:
A:身份验证图:
B:成绩变动处理科:
C:教务人员身份验证:
A:数据存储条目:
编号 名称 组成
D1.1
教师信息表 教师编号,教师姓名,教师职称,所教班级,所在学院
学生成绩记录单 学生学号,姓名,课程名称,课程编号,课程成绩,教师编号
教务人员信息表 教务人员姓名,编号,职称
反馈信息表 教务处人员信息后对教师的评价,学生成绩的分析
B:数据加工条目:
编号 名称 输入 处理逻辑 输出
P1.1 身份验证处理 教师登陆信息 检验教师教工号与密码是否一致 ———
身份验证处理 教务人员登陆信息量 检验教务人员编号与密码 ———
C:数据元素项目:
编号 名称 数据类型 长度 小数位 取值范围 说明
五.系统实施计划:
①..工作任务分工:
系统初步规划:
实验报告填写及图表绘制:
系统编程:,
后期系统检测完善:
__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
系统设计报告
第一段:概述
以需求分析说明书为依据,针对教务管理人员及教师对学生成绩的管理需求,参照现有的开发环境,利用可用资源和使用环境,设计出能满足相应功能的特点,构造并确定出类和类成员函数.
第二段:环境说明
第三段:模块图
第四段:功能模块
本系统大致分为如下四大功能模块.
①..用户登陆模块
A:教务处管理人员登陆后,进入教务人员管理模块,可以进行个人信息查询,教师住处查询,学生信息查询,成绩查询以及退出系统等操作.
B:教师登陆后,进入教员管理模块,可以进行个人资料修改,学生信息查询,本班成绩查询,其它班成绩查询,退出登陆等操作.
包括以下四个模块:
A:学生个人信息查询模块:此模块又分为学生个体模块和班级模块.学生个体模块包含了学生的基本信息以及成绩,可进行如学生所在班组,学院,专业,英语成绩等相关查询操作;
在班级模块则可按班级查询学生的信息.
B:教师信息查询及修改模块:此模块主要服务于教务管理人员,可以通过打开"教师表"或"单个教师信息"进行总体或指定个体查询,如对教师工龄、工资额的设定,对各个工龄段及相应的工龄工资额进行修改、添加、删除等操作.
C:成绩查询及修改模块:该模块又分为三部分:按指定学号进行学生个体成绩查询及修改; 按指定教工号进行教师所教班级成绩查询; 按指定班级号或专业号进行综合成绩查询其中还包括教师对其它班成绩的查询(但不无修改权).
成绩查询具体内容包括指定科目成绩查询,成绩排序,排名,平均分和不及格科目查询等
D:用户信息修改模块:此模块用于教务管理人员及教师修改密码或用户名,教师教课班级及工资职称等信息的修改.
查询修改完毕,通过退出模块退出成绩管理系统,以确保系统及个人信息的安全.
第五段:代码设计:
①. 用户登陆模块代码:
A:教务处管理人员登陆
◆Private Sub 教务处人员登录_Click()
On Error GoTo Err_教务处人员登录_Click
Dim stDocName As String
DoCmd.RunMacro stDocName
Exit_教务处人员登录_Click:
Exit Sub
Err_教务处人员登录_Click:
MsgBox Err.Description
Resume Exit_教务处人员登录_Click
End Sub
B: 教师登陆
◆Private Sub 教师登录_Click()
On Error GoTo Err_教师登录_Click
Exit_教师登录_Click:
Err_教师登录_Click:
Resume Exit_教师登录_Click
◆Private Sub ok_Click()
If Len(Nz(Me!UserName)) = 0 And Len(Nz(Me!UserPassword)) = 0 Then
MsgBox "用户名、密码为空!请输入", vbCritical, "error"
Me!UserName.SetFocus
ElseIf Len(Nz(Me!UserName)) = 0 Then
MsgBox "用户名为空!请输入", vbCritical, "error"
ElseIf Len(Nz(Me!UserPassword)) = 0 Then
MsgBox "密码为空!请输入", vbCritical, "error"
Else
If Me!UserName = "刘力" Then
MsgBox "欢迎使用!", vbInformation, "成功"
DoCmd.OpenForm "教师-综合信息查询"
MsgBox "密码有误,非正常退出.", vbCritical, "error"
DoCmd.Close
End If
MsgBox "用户名有误,非正常退出.", vbCritical, "error"
A:指定学生信息查询:
◆ Private Sub Command1_Click()
On Error GoTo Err_Command1_Click
DoCmd.OpenQuery stDocName, acNormal, acEdit
Exit_Command1_Click:
Err_Command1_Click:
Resume Exit_Command1_Click
B:班级所有学生信息查询:
A:指定教师信息查询
B:全体教师信息查询:
A:指定学生个体成绩查询:
B: 指定班级综合成绩查询
DoCmd.Quit
__________________________________________________________________________________________________________
成绩管理系统实施报告
第一段: 系统物理实施
物理实施阶段的任务:实现系统设计阶段提出的物理模型;
按照实施方案完成一个可以实际运行的成绩管理信息系统,交付用户使用;
硬件包括计算机主机、输入输出设备、存储设备、辅助设备、网络连接等.
系统的实施环境:A:硬件准备:戴尔电脑
第二段: 程序设计
一)设计系统要具有以下性质
①.、可维护性 由于信息系统需求的不确定性,系统需求可能会随着环境的变化而不断变
化,所以呢,就必须对系统功能进行完善和调整,为此,就要对程序进行补充或修改.此外,由于计算机软硬件的更新换代也需要对程序进行相应的升级.
二)模块图
A:教务处管理人员模块
B:教员管理模块
A:学生个人信息查询模块:
B:教师信息查询及修改模块:
C:成绩查询及修改模块:
D:用户信息修改模块
第三段:系统的测试与评价
系统评价就是客观,从三方面评价该学生成绩管理系统的各项功能:优点,
缺点以及将来可能提出的要求.
一 系统的特点
①..流程符合教务处及教师对成绩管理的需求.
二系统的缺点
①网络功能欠缺.本系统没有建立网络连接,只能单机运行,无法实现资源共享.
第四段:系统的试运行
第五段:人员培训
人员培训是管理信息系统的重要组成部分,包括教务管理人员和教师以及管理与维护信息系统的专业人员.每一个与新系统有关的人都应该了解管理信息系统的运作方式和运作过程.培训就是使有关系统使用者,管理人员和技术人员了解和掌握新系统的有效途径之一.通过相关培训,使其了解注意事项,培养他们使用系统的习惯,以及熟练程度.经过培训,使员工非常良好的融入到系统当中.
六,文档编制
①程序设计手册
C:程序清单 D:系统覆盖的流程
用户操作手册为教务处管理人员和教师提供系统能够作什么和不能作什么的概况,一份详细的安装指南,以及一个贯穿系统详细指南.
要免费的木有,想要找人代做,可以找我,联系方式见个人简介.