C语言实训学生信息管理系统.docx

上传人:b****2 文档编号:13976399 上传时间:2023-06-19 格式:DOCX 页数:25 大小:213.37KB
下载 相关 举报
C语言实训学生信息管理系统.docx_第1页
第1页 / 共25页
C语言实训学生信息管理系统.docx_第2页
第2页 / 共25页
C语言实训学生信息管理系统.docx_第3页
第3页 / 共25页
C语言实训学生信息管理系统.docx_第4页
第4页 / 共25页
C语言实训学生信息管理系统.docx_第5页
第5页 / 共25页
C语言实训学生信息管理系统.docx_第6页
第6页 / 共25页
C语言实训学生信息管理系统.docx_第7页
第7页 / 共25页
C语言实训学生信息管理系统.docx_第8页
第8页 / 共25页
C语言实训学生信息管理系统.docx_第9页
第9页 / 共25页
C语言实训学生信息管理系统.docx_第10页
第10页 / 共25页
C语言实训学生信息管理系统.docx_第11页
第11页 / 共25页
C语言实训学生信息管理系统.docx_第12页
第12页 / 共25页
C语言实训学生信息管理系统.docx_第13页
第13页 / 共25页
C语言实训学生信息管理系统.docx_第14页
第14页 / 共25页
C语言实训学生信息管理系统.docx_第15页
第15页 / 共25页
C语言实训学生信息管理系统.docx_第16页
第16页 / 共25页
C语言实训学生信息管理系统.docx_第17页
第17页 / 共25页
C语言实训学生信息管理系统.docx_第18页
第18页 / 共25页
C语言实训学生信息管理系统.docx_第19页
第19页 / 共25页
C语言实训学生信息管理系统.docx_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C语言实训学生信息管理系统.docx

《C语言实训学生信息管理系统.docx》由会员分享,可在线阅读,更多相关《C语言实训学生信息管理系统.docx(25页珍藏版)》请在冰点文库上搜索。

C语言实训学生信息管理系统.docx

C语言实训学生信息管理系统

实训报告

 

实训名称C语言编程开发实训

专业班级物联1541

姓名张禄泽

学号01

指导教师黄标兵、王丽平

实训时间

 

成绩评定

考核

内容

平时

答辩

实训报告

综合

评定

成绩

计算机技术与工程学院

 

《实训报告》文档规范及注意事项

一、按照《任务书》中“实训报告要求”模式写。

二、文档格式为A4纸、页边距上下,左,右;正文通篇段落倍行距,宋体五号;一级标题4号黑体,二级标题小四黑体。

三、图、表应有标号和名称,且图名位于图下,表名位于表格上方;表格:

表名用小五号黑体,表头用小五号黑体,表内数字、字母用小五号TimesNewRoman体,表内汉字用小五号宋体;表框线两端不封。

图解:

图名用小五号黑体。

图表的大小要适中。

四、参考文献格式为:

序号作者,书名,出版地:

出版社名称,出版社年份

序号作者.论文题名.期刊名称,年份,卷号(期号):

起至页码

五、附录中的源代码应有适当的注释(可没有附录,但是提交的源代码电子文档中应有适当的注释)。

六、按照格式要求填写《实训报告》封面中学生应填写的内容。

七、实训结束后,学生应提交的文档包括纸质文档和电子文档。

纸质文档包括:

1.《实训报告》1份(左侧装订)。

电子文档包括:

1.实训报告

2.源程序

3.程序的可执行文件(.exe)

 

 

第1部分实训目的

C语言编程开发实训是学生在《C语言程序设计》课程结束时进行的一项实践活动,综合运用C程序设计课程和其他先修课程的理论和知识,掌握C语言开发实训的一般方法,树立正确的设计思想,培养分析问题和解决实际问题的能力;学会从实际的要求出发,合理的选择算法,正确的使用测试方法,培养学生程序设计能力;学习运用帮助和查阅有关技术资料的能力。

针对实训题目对学生在整个实训阶段进行检查考核,主要包括考勤、阶段性检查、成果答辩和实训报告。

学习c程序设计语言除了课堂讲授以外,必须保证有不少于课堂讲授学时的上机时间。

因为学时所限,课程不能安排过多的统一上机实验,所以希望学生有效地利用课程上机实验的机会,尽快掌握用c语言开发程序的能力,为今后的继续学习打下一个良好的基础。

第2部分实训内容与要求

实训内容

C语言编程开发实.可实现信息的录入、浏览、修改、删除、可按学号、姓名查询,学生信息必须包含学号,姓名,年龄,性别,出生年月,地址,电话以文件的形式打开。

基本要求

(1)所有学生统一在机房进行设计,一人一组。

(2)听从指导老师的统一安排。

(3)严格遵守作息时间、不迟到、不早退,病、事假必须向指导老师请假。

(4)使用C语言开发。

(5)满足编程规范。

(6)设计结构清晰(模块化开发)。

(7)根据任务书的要求选择实训题目,每个题目同一班级内不超过三人选择,根据题目难易程度进行综合评分。

学生也可以自选题目,但自选题目要满足实训题目要求并经指导老师确认。

(8)实训报告不合格者不允许参加答辩。

(9)抄袭他人程序者记零分。

(10)无故缺课累计超过该课程总学时数三分之一者记零分。

第3部分报告正文

实训题目及任务要求

题目:

学生信息管理系统设计

要求:

1.可实现信息的录入、浏览、修改、删除、可按学号、姓名查询;

2.学生信息必须包含学号,姓名,年龄,性别,出生年月,地址,电话。

3.以文件的形式打开

4.必须有注释。

总体设计

开始

菜单

输入n的值进行选择

保存

结束

是否继续进行

N

YYY

5

添加学生信息

6

修改学生信息

2

浏览学生信息

3

查询学生信息

4

删除学生信息

7

退出

1

录入学生信息

详细设计

开始

输入信息

存入文件

继续?

结束

信息录入流程图

开始

输入浏览选项

从文件中导出数据

输出数据

浏览流程图

结束

信息查询界面,按1依照姓名查询,按2依照学号查询。

在文件数据中搜索后若无查找内容则输出“搜索无结果”,若找到查找内容,则输出该内容,返回主菜单。

开始

输入查询选项

选择查询类型

按学生姓名查询按学号查询

输入查找的学生姓名

输入学好号

从文件中导出数据

从文件中导出数据

是否搜索到学生姓名?

是否搜索学号?

输出搜索无结果

输出相应数据

输出相应数据

结束

查询模块

信息查询流程图

 

删除模块

修改模块

 

图1.系统的总体流程图.

一、主界面

二、信息录入

三、信息浏览

四、信息查询

五、删除信息

六、信息添加

七、信息修改

源程序

#include<>

#defineN100

structstudent

{

intnum;

charname[30];

charsex;

intage;

charxueyuan[30];

intbj;

charaddr[30];

chartel[30];

}stu[100];入学生信息");

printf("2.浏览学生信息\n");

printf("3.查询学生信息");

printf("4.删除学生信息\n");

printf("5.添加学生信息");

printf("6.修改学生信息\n");

printf("7.退出\n");

printf("\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t制作人侯迪");

printf("\n");

printf("\n");

}

voidinput()um);

printf("请输入姓名:

");

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

getchar();

printf("请输入性别(f--女m--男):

");

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

printf("请输入年龄:

");

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

printf("请输入学院:

");

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

printf("请输入年级:

");

scanf("%d",&stu[i].bj);

printf("请输入住址:

");

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

printf("请输入电话:

");

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

printf("\n");

}

printf("\n创建完毕!

\n");

save(m);

}

voidsave(intm)um,stu[i].name,stu[i].sex,stu[i].age);

printf("学院\t\t年级\t\t住址\t\t电话\n");

for(i=0;i

}

voiddel()ame,name)==0)

{

printf("\n已找到此人,原始记录为:

\n");

printf("学号\t姓名\t\t性别\t\t年龄\n");

printf("\n%d\t\t%s\t%c\t\t%d\t\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].age);

printf("\n学院\t\t班级\t\t住址\t\t电话\n");

printf("\n%s\t%d\t\t%s\t%s\n",stu[i].xueyuan,stu[i].bj,stu[i].addr,stu[i].tel);

printf("\n确实要删除此人信息请按1,不删除请按0\n");

scanf("%d",&n);

if(n==1)

{

for(j=i;j

{

strcpy(stu[j].name,stu[j+1].name);

stu[j].num=stu[j+1].num;

stu[j].sex=stu[j+1].sex;

stu[j].age=stu[j+1].age;

strcpy(stu[j].xueyuan,stu[j+1].xueyuan);

stu[j].bj=stu[j+1].bj;

strcpy(stu[j].addr,stu[j+1].addr);

strcpy(stu[j].tel,stu[j+1].tel);

}

flag=0;

}

}

}

if(!

flag)

m=m-1;

else

printf("\n对不起,查无此人!

\n");

printf("\n浏览删除后的所有学生信息:

\n");

save(m);um);

printf("\n");

printf("请输入姓名:

");

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

getchar();

printf("请输入性别(f--女m--男):

");

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

printf("请输入年龄:

");

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

printf("请输入学院:

");

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

printf("请输入年级:

");

scanf("%d",&stu[i].bj);

printf("请输入住址:

");

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

printf("请输入电话:

");

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

printf("\n");

count=count+1;

printf("已增加的人数:

\n");

printf("%d\n",count);

}

printf("\n添加完毕!

\n");

m=m+count;

printf("\n浏览增加后的所有学生信息:

\n");

printf("\n");

save(m);

display();

fclose(fp);

}

voidsearch()um)

{

printf("\n已找到此人,其记录为:

\n");

printf("学号\t姓名\t\t性别\t\t年龄\n");

printf("\n%d\t\t%s\t%c\t\t%d\t\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].age);

printf("\n学院\t\t年级\t\t住址\t\t电话\n");

printf("\n%s\t%d\t\t%s\t%s\n",stu[i].xueyuan,stu[i].bj,stu[i].addr,stu[i].tel);

break;

}

if(i==m)

printf("\n对不起,查无此人\n");

printf("\n");

printf("返回查询函数请按1,继续查询学号请按2\n");

scanf("%d",&t);

switch(t)

{

case1:

search();break;

case2:

break;

default:

break;

}

}

voidsearch_xueyuan()

{

charxueyuan[30];

inti,t;

intm=load();

printf("请输入要查找的学院:

\n");

scanf("%s",xueyuan);

for(i=0;i

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

{

printf("\n已找到,其记录为:

\n");

printf("学号\t姓名\t\t性别\t\t年龄\n");

printf("\n%d\t\t%s\t%c\t\t%d\t\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].age);

printf("\n学院\t\t年级\t\t住址\t\t电话\n");

printf("\n%s\t%d\t\t%s\t%s\n",stu[i].xueyuan,stu[i].bj,stu[i].addr,stu[i].tel);

}

if(i==m)

printf("\n对不起,查无此人\n");

printf("\n");

printf("返回查询函数请按1,继续查询学院请按2\n");

scanf("%d",&t);

switch(t)

{

case1:

search();break;

case2:

break;

default:

break;

}

}

voidsearch_tel()

{

chartel[20];

inti,t;

intm=load();

printf("请输入要查找的电话号码:

\n");

scanf("%s",tel);

for(i=0;i

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

{

printf("\n已找到,其记录为:

\n");

printf("学号\t姓名\t\t性别\t\t年龄\n");

printf("\n%d\t\t%s\t%c\t\t%d\t\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].age);

printf("\n学院\t\t年级\t\t住址\t\t电话\n");

printf("\n%s\t%d\t\t%s\t%s\n",stu[i].xueyuan,stu[i].bj,stu[i].addr,stu[i].tel);

}

if(i==m)

printf("\n对不起,查无此人\n");

printf("\n");

printf("返回查询函数请按1,继续查询电话号码请按2\n");

scanf("%d",&t);

switch(t)

{

case1:

search();break;

case2:

break;

default:

break;

}

}

voidmodify()ame,name)==0)

{

printf("\n已找到,其记录为:

\n");

printf("学号\t姓名\t\t性别\t\t年龄\n");

printf("\n%d\t\t%s\t%c\t\t%d\t\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].age);

printf("\n学院\t\t年级\t\t住址\t\t电话\n");

printf("\n%s\t%d\t\t%s\t%s\n",stu[i].xueyuan,stu[i].bj,stu[i].addr,stu[i].tel);

printf("\n确实要修改此人信息请按1;不修改请按0\n");

scanf("%d",&n);

if(n==1)

{

printf("\n需要进行修改的选项\n1.学号2.姓名3.性别4.年龄5.学院6.年级7.住址8.电话\n");

printf("请输入你想修改的那一项序号:

\n");

scanf("%d",&c);

if(c>8||c<1)

printf("\n选择错误,请重新选择!

\n");

}

flag=0;

}

}

if(flag==1)

printf("\n对不起,查无此人!

\n");

do

{

switch(c)um=num;

break;

case2:

printf("姓名改为:

");

scanf("%s",name);

strcpy(stu[i-1].name,name);

break;

case3:

printf("性别改为:

");

getchar();

scanf("%c",&sex);

stu[i-1].sex=sex;

break;

case4:

printf("年龄改为:

");

scanf("%d",&age);

stu[i-1].age=age;

break;

case5:

printf("学院改为:

");

scanf("%s",xueyuan);

strcpy(stu[i-1].xueyuan,xueyuan);

break;

case6:

printf("年级改为:

");

scanf("%d",bj);

break;

case7:

printf("住址改为:

");

scanf("%s",addr);

strcpy(stu[i-1].addr,addr);

break;

case8:

printf("电话改为:

");

scanf("%s",tel);

strcpy(stu[i-1].tel,tel);

break;

}

printf("\n");

printf("\n是否确定所修改的信息?

\n是请按1;不,重新修改请按2:

\n");

scanf("%d",&b);

}

while(b==2);

printf("\n浏览修改后的所有学生信息:

\n");

printf("\n");

save(m);

display();

printf("\n继续修改请按1,不再修改请按0\n");

scanf("%d",&t);

switch(t)

{

case1:

modify();break;

case0:

break;

default:

break;

}

}

#include<>

#include<>

第4部分实训总结

使用正文格式来书写,从自我收获、实训中遇到的问题及其解决办法等方面进行总结,不少于500字。

实习的题目也不算太难,思路很清晰,总共三步走:

1.读取文件;2.录入文件;3.保存文件。

原以为会很轻松,但还是遇到很多问题,以前上课时从未想到过。

经历过基本一天都在看程序的时间,我发现我懂的太少,要学的太多。

对文件的操作我一直都没注意,现在才发现其乐无穷;以前觉得很难,现在轻松写出程序。

学习与实践果然是不可分割的。

实习中,大家八仙过海各显神通,有的用数组,这也可以理解,方便使用,排序便利;有的直接用文件C语句查询、删除,让我大开眼界,文件还能这么用!

在写报告时看到一篇用指针数组做的程序,相当有意思。

发现水平还是不够,同学可以用C语言编出一个比较漂亮的界面,还可以随意调用文件操作,实在让人赞叹不已。

此次实习加强了我对c语言的理解,很多以前迷糊的概念得到了明确,亦让我感到C语言强大之处,直接操作内存,实在很暴力。

一句诗概括此次实习,“山重水复疑无路,柳暗花明又一村”;如今C语言实习已然结束,但是对于计算机语言的学习决不能放松,“雄关漫道真如铁,而今迈步从头越”。

现在的世界是信息化的,我们现在对于Matlab的要求也很大,C语言也是其基础。

路漫漫其修远兮,吾将上下而求索。

感谢老师们这几天的指导。

第5部分参考文献

1.谭浩强着《C语言程序设计》2005年7月第3版

吴煌坚学长时间报告

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 计算机软件及应用

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2