- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
学生管理系统实验报告
实验目的
上学期学习了C语言的内容,学生信息管理系统有助于对C语言的学习的进一步巩固,在本系统可以增强对指针、数组、文件、函数等基本知识的进一步理解。另外学生管理系统也是学校常用的基本系统之一,它有助于学校对学生的基本管理。
问题分析
学生信息管理系统是对学生信息的基本管理,它包括:学生信息的输入、学生信息的修改、学生信息的查询、学生信息的删除、学生成绩的排序、学生信息的输出。
使用模块化编程的方法每项功能有一个函数来完成,对应如下:
学生信息的输入===?void jia(Link i) 学生信息的修改==?void xiu(Link i)
学生信息的查询===?void cha(Link i) 学生信息的删除==?void shan(Link i)
学生信息的排序===?void pai(Link i) 学生信息的保存==?void bao(Link i)
为了避免指针的过于复杂使用typedef函数创建了一个struct的同义字程序如下:
typedef struct node{
struct student data;
struct node *next;
}Node,*Link;
这是问题变得更易于描述、和程序的设计。另外本程序运用动态存储、二进制进行存贮。
为了使程序变得更加明了设计另外一个定位Node型的函数(Node *Locate(Link i,char find[],char nameornum[]))这对于查询、删除、修改中非常重要。
输入密码开始操作
输入密码开始
操作
学生信息显示学生成绩统计学生信息的排序学生信息的查询学生信息的修改学生信息的输入
学生信息显示
学生成绩统计
学生信息的排序
学生信息的查询
学生信息的修改
学生信息的输入
学生信息的保存学生信息的删除
学生信息的保存
学生信息的删除
0返回菜单,选择操作
0返回菜单,选择操作
主要算法的设计
主函数的算法设计
首先,进入设定密码(123456),进入菜单,然后选择操作(运用swith语句),调用各子函数,在退出程序时检验文件是否保存(设定全局变量wang若不改变或以保存则为0,否则为1)退出程序。在返回操作中运用while语句进行控制若选择0则返回菜单。
读入信息:
while(!feof(fp)){
p=(Node*)malloc(sizeof(Node));
if(fread(p,sizeof(Node),1,fp))从二进制文件中读入信息
{
p-next=NULL;
r-next=p;
r=p;//
count++;
}
}
fclose(fp);
控制保存信息:
if(wang==1)
{
getchar();
printf(\n====提示:资料已经改动,是否将改动保存(y/n)\n);
printf(请输入你的选择:);
scanf(%c,ch);
if(ch==y||ch==Y)
bao(i);
}
printf(\n=====提示:你已经退出系统,再见!\n);
break;
}
各子函数的算法设计
一些显示操作
密码函数用递归的方法设计,其它显示操作均用输出相应的内容即可
递归的运用:
void mima()
{
char mi[10];
printf(====请输入密码:);
scanf(%s,mi);
if(strcmp(mi,123456)==0)
return;
else
printf(====没有记住密码!请重新输入……\n);
mima();
}
定位操作函数
Node *Locate(Link i,char find[],char nameornum[])引入Link型I,字符型的find[],namenum[]运用strcmp进行比较返回其地址即可。
学生信息的输入函数
Void jia(Link i)首先,申请空间(p=(Node *)malloc(sizeof(Node));)输入学生信息,然后做总分计算和平均分的计算
p-data.zong=p-data.ying+p-data.shu+p-data.c;
p-data.ping=p-data.zong/3;
4、 学生信息的修改
void xiu(Link i)首先选择修改信息,然后定位 (p=Locate(i,fi
您可能关注的文档
- C语言程序设计案例教程 第6章 4个案例.ppt
- D13爆破安全隐患整改方案.doc
- DreamWeaver网页制作公开课教案.doc
- DS05-数据结构 数组和广义表.ppt
- EDA设计的信号发生器.doc
- eFuture门店系统操作手册.doc
- ERP企业经营分析报告.doc
- Excel电子表格基础.doc
- EXCEL和SPSS软件在遗传学教学中的应用.doc
- FOXHIS 6.0版本培训手册--经理查询系统使用说明.doc
- 第18讲 第17课 西晋的短暂统一和北方各族的内迁.docx
- 第15讲 第14课 沟通中外文明的“丝绸之路”.docx
- 第13课时 中东 欧洲西部.doc
- 第17讲 第16 课三国鼎立.docx
- 第17讲 第16课 三国鼎立 带解析.docx
- 2024_2025年新教材高中历史课时检测9近代西方的法律与教化含解析新人教版选择性必修1.doc
- 2024_2025学年高二数学下学期期末备考试卷文含解析.docx
- 山西版2024高考政治一轮复习第二单元生产劳动与经营第5课时企业与劳动者教案.docx
- 第16讲 第15课 两汉的科技和文化 带解析.docx
- 第13课 宋元时期的科技与中外交通.docx
文档评论(0)