C语言实训学生信息管理系统Word文档格式.docx

上传人:b****6 文档编号:21489771 上传时间:2023-01-30 格式:DOCX 页数:23 大小:83.30KB
下载 相关 举报
C语言实训学生信息管理系统Word文档格式.docx_第1页
第1页 / 共23页
C语言实训学生信息管理系统Word文档格式.docx_第2页
第2页 / 共23页
C语言实训学生信息管理系统Word文档格式.docx_第3页
第3页 / 共23页
C语言实训学生信息管理系统Word文档格式.docx_第4页
第4页 / 共23页
C语言实训学生信息管理系统Word文档格式.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

C语言实训学生信息管理系统Word文档格式.docx

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

C语言实训学生信息管理系统Word文档格式.docx

纸质文档包括:

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

电子文档包括:

1.实训报告

2.源程序

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

第1部分课程设计目的1

第2部分课程设计内容与要求2

2.1课程设计内容6

2.2基本要求2

第3部分报告正文3

3.1设计题目及任务要求3

3.2总体设计3

第4部分课程设计总结22

第5部分参考文献23

第1部分实训目的

C语言编程开发实训是学生在《C语言程序设计》课程结束时进行的一项实践活动,综合运用C程序设计课程和其他先修课程的理论和知识,掌握C语言开发实训的一般方法,树立正确的设计思想,培养分析问题和解决实际问题的能力;

学会从实际的要求出发,合理的选择算法,正确的使用测试方法,培养学生程序设计能力;

学习运用帮助和查阅有关技术资料的能力。

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

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

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

第2部分实训内容与要求

2.1实训内容

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

2.2基本要求

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

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

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

(4)使用C语言开发。

(5)满足编程规范。

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

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

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

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

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

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

第3部分报告正文

3.1实训题目及任务要求

题目:

学生信息管理系统设计

要求:

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

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

3.以文件的形式打开

4.必须有注释。

3.2总体设计

详细设计

信息录入流程图

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

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

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

查询模块

信息查询流程图

删除模块

修改模块

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

一、主界面

二、信息录入

三、信息浏览

四、信息查询

五、删除信息

六、信息添加

七、信息修改

源程序

#include<

string.h>

#defineN100

structstudent

{

intnum;

charname[30];

charsex;

intage;

charxueyuan[30];

intbj;

charaddr[30];

chartel[30];

}stu[100];

//定义一个结构体

voidmenu();

voidinput();

voidsave(int);

voiddisplay();

voiddel();

voidadd();

voidsearch();

voidsearch_num();

voidsearch_xueyuan();

voidsearch_tel();

voidmodify();

//定义各函数

voidmain()

menu();

intn,flag;

chara;

do

printf("

请选择你需要操作的步骤(1--7):

\n"

);

scanf("

%d"

&

n);

if(n>

=1&

&

n<

=7)

flag=1;

break;

}

else

flag=0;

您输入有误,请重新选择!

"

while(flag==1);

switch(n)

case1:

◆◆◆输入学生信息◆◆◆\n"

input();

case2:

◆◆◆浏览学生信息◆◆◆\n"

display();

case3:

◆◆◆按学号查询才学生信息◆◆◆\n"

search();

case4:

◆◆◆删除学生信息◆◆◆\n"

del();

case5:

◆◆◆添加学生信息◆◆◆\n"

add();

case6:

◆◆◆修改学生信息◆◆◆\n"

modify();

case7:

exit(0);

default:

getchar();

是否继续进行(yorn):

%c"

a);

if(a=='

y'

system("

cls"

//清屏

//调用菜单函数

请再次选择你需要操作的步骤(1--7):

voidmenu()//菜单函数

************欢迎进入学生信息管理系统**********\n"

1.录入学生信息"

2.浏览学生信息\n"

3.查询学生信息"

4.删除学生信息\n"

5.添加学生信息"

6.修改学生信息\n"

7.退出\n"

\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制作人侯迪"

voidinput()//录入函数

inti,m;

请输入需要创建信息的学生人数(1--100):

m);

for(i=0;

i<

m;

i++)

请输入学号:

stu[i].num);

请输入姓名:

%s"

stu[i].name);

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

stu[i].sex);

请输入年龄:

stu[i].age);

请输入学院:

stu[i].xueyuan);

请输入年级:

stu[i].bj);

请输入住址:

stu[i].addr);

请输入电话:

stu[i].tel);

\n创建完毕!

save(m);

voidsave(intm)//保存文件函数

inti;

FILE*fp;

if((fp=fopen("

student_list"

"

wb"

))==NULL)

cannotopenfile\n"

i++)//将内存中学生的信息输出到磁盘文件中去

if(fwrite(&

stu[i],sizeof(structstudent),1,fp)!

=1)

filewriteerror\n"

fclose(fp);

intload()//导入函数

inti=0;

rb"

fread(&

stu[i],sizeof(structstudent),1,fp);

i++;

while(feof(fp)==0);

return(i-1);

voiddisplay()//浏览函数

intm=load();

学号\t\t姓名\t\t性别\t\t年龄\n"

i++)//m为输入部分的学生人数

%d\t%s\t\t%c\t\t%d\t\n"

stu[i].num,stu[i].name,stu[i].sex,stu[i].age);

学院\t\t年级\t\t住址\t\t电话\n"

\n%s\t%d\t\t%s\t\t%s\n"

stu[i].xueyuan,stu[i].bj,stu[i].addr,stu[i].tel);

voiddel()//删除函数

inti,j,n,t,flag;

charname[20];

\n原来的学生信息:

请输入要删除的学生的姓名:

name);

for(flag=1,i=0;

flag&

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

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

学号\t姓名\t\t性别\t\t年龄\n"

\n%d\t\t%s\t%c\t\t%d\t\n"

\n学院\t\t班级\t\t住址\t\t电话\n"

\n%s\t%d\t\t%s\t%s\n"

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

if(n==1)

for(j=i;

j<

m-1;

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);

if(!

flag)

m=m-1;

\n对不起,查无此人!

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

//调用保存函数

//调用浏览函数

\n继续删除请按1,不再删除请按0\n"

t);

switch(t)

case0:

voidadd()//添加函数

intn;

intcount=0;

fp=fopen("

a"

请输入想的学生数:

for(i=m;

(m+n);

\n请输入新增加学生的信息:

请输入学生号:

count=count+1;

已增加的人数:

%d\n"

count);

\n添加完毕!

m=m+count;

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

voidsearch()//查询函数

intt,flag;

\n按学号查询请按1;

按学院查询请按2;

按电话号码查询请按3;

进入主函数请按4\n"

if(t>

t<

=4)

while(flag==0);

while(flag==1)

按学号查询\n"

search_num();

按学院查询\n"

search_xueyuan();

按电话号码查询\n"

search_tel();

main();

voidsearch_num()

inti,t;

请输入要查找的学号:

num);

if(num==stu[i].num)

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

\n学院\t\t年级\t\t住址\t\t电话\n"

if(i==m)

\n对不起,查无此人\n"

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

voidsearch_xueyuan()

请输入要查找的学院:

xueyuan);

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

\n已找到,其记录为:

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

voidsearch_tel()

chartel[20];

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

tel);

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

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

voidmodify()//修改函数

intb,c,i,n,t,flag;

请输入要修改的学生的姓名:

\n确实要修改此人信息请按1;

不修改请按0\n"

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

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

c);

if(c>

8||c<

1)

\n选择错误,请重新选择!

if(flag==1)

switch(c)//因为当找到第i个学生时,for语句后i自加了1,所以下面的应该把改后的信息赋值给第i-1个人

学号改为:

stu[i-1].num=num;

姓名改为:

strcpy(stu[i-1].na

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

当前位置:首页 > 高等教育 > 教育学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1