实训报告书学生信息管理系统Word格式.docx

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

实训报告书学生信息管理系统Word格式.docx

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

实训报告书学生信息管理系统Word格式.docx

基本功能要求:

1.输入记录:

从键盘录入学生的基本信息;

2.显示输入记录:

输出学生的基本信息包括总成绩;

3.按学号查找记录:

输入一个学号,查找该学生的个人相关信息;

4.排序显示:

按总成绩进行降序排列;

5.按学号显示;

按学号升序排列;

6.退出。

扩展功能要求:

7.删除记录;

8.修改记录;

9.写文件;

10.读文件。

intNUM;

/*全局变量,记录学生数*/

#defineM100

structstudent

{longid;

/*学号*/

charname[10];

/*姓名*/

charsex[4];

intmath;

intenglish;

intc_program;

inttotal;

}STU[M];

1.主函数

2.进入主菜单页面

函数首部voidpage_title()

函数首部:

voidstudent_new()

voidshow()

voidscore_search()

用冒泡法或选择法,以及其他排序方法来实现。

voidscore_sort()

voidid_sort()

voidstudent_del()

函数首部:

voidstudent_edit()

voidsave()

voidload()

voidleft()

六、课程设计心得及体会

七、源程序清单

#include<

stdio.h>

/*VC++6.0SP6*/

string.h>

process.h>

conio.h>

/*全局变量*/

intnum=-1;

/*学生数,从STU[0]开始记录学生信息*/

{longid;

/*学号*/

charname[8];

/*姓名*/

charsex[2];

/*性别*/

intmath;

/*数学*/

intenglish;

/*英语*/

/*C语言*/

/*总分*/

}STU[M];

/*函数声明*/

voidpage_title();

voidstudent_new();

voidstudent_del();

voidstudent_edit();

voidscore_search();

voidscore_sort();

voidid_sort();

voidshow();

voidsave();

voiddisplay();

voidleft();

voidpage_head1();

/*打印表头1*/

voidpage_head2();

/*打印表头2*/

intfind(long);

/*按学号查找学生*/

voidshow_one(int);

/*显示一条记录*/

voidinput_one(int);

/*输入一个新学生的信息*/

voidcount(int);

/*计算一个新学生的总分*/

voidin_menu();

/*进入主菜单*/

/*主函数*/

voidmain()

{display();

while

(1)

{page_title();

}

/*主菜单*/

voidpage_title()

{charc;

system("

cls"

);

/*清屏*/

printf("

\n\n>

>

学生成绩管理系统<

<

\n\n"

\t1录入学生成绩记录\n\n"

\t2显示学生成绩记录\n\n"

\t3修改学生成绩记录\n\n"

\t4删除学生成绩记录\n\n"

\t5按学号查询学生记录\n\n"

\t6按学号显示学生记录\n\n"

\t7按总成绩递减输出\n\n"

\t8保存\n\n"

\t0退出\n\n"

***************************************************\n"

请用数字键0-8选择操作:

"

c=getchar();

switch(c)

{case'

1'

:

student_new();

break;

/*录入学生基本信息*/

case'

2'

show();

/*显示所有记录*/

case'

3'

student_edit();

/*修改记录*/

4'

student_del();

/*删除记录*/

5'

score_search();

/*查询记录*/

6'

id_sort();

/*按学号排序显示*/

7'

score_sort();

/*按成绩递减排序显示*/

8'

save();

/*保存*/

0'

left();

/*退出*/

}

/*录入学生基本信息*/

voidstudent_new()

{intn=0;

\n请输入学生的个数(1-%d):

M);

scanf("

%d"

&

n);

while(n<

=0||n>

M)

{printf("

\n请重新输入学生个数:

page_head1();

while(n--)

{num++;

input_one(num);

count(num);

/*删除学生基本信息*/

voidstudent_del()

intn;

charc;

请输入要删除学生的学号:

%ld"

id);

\n"

n=find(id);

if(n!

=-1)

break;

else

system("

page_head2();

show_one(n);

\n请确认删除吗?

(Y/N)?

c=getch();

if(c=='

Y'

||c=='

y'

{STU[n].id=STU[num].id;

STU[n].math=STU[num].math;

STU[n].english=STU[num].english;

STU[n].c_program=STU[num].c_program;

STU[n].total=STU[num].total;

strcpy(STU[n].name,STU[num].name);

strcpy(STU[n].sex,STU[num].sex);

num--;

/*按学号查找学生*/

intfind(longid)

{intn;

for(n=0;

n<

=num;

n++)

if(STU[n].id==id)returnn;

return-1;

/*输入一个新学生的信息*/

voidinput_one(intn)

{scanf("

%ld%s%s%d%d%d"

STU[n].id,STU[n].name,STU[n].sex,&

STU[n].math,&

STU[n].english,&

STU[n].c_program);

--------------------------------------------------------------\n"

/*显示所有记录*/

voidshow()

{inti;

for(i=0;

i<

i++)

show_one(i);

in_menu();

/*显示一条记录*/

voidshow_one(intn)

{printf("

%ld\t%s\t\t%s\t%3d\t%3d\t%3d\t%3d"

STU[n].id,STU[n].name,STU[n].sex,STU[n].math,STU[n].english,STU[n].c_program,STU[n].total);

\n----------------------------------------------------------------------\n"

/*计算一个新学生的总分*/

voidcount(intn)

{STU[n].total=STU[n].math+STU[n].english+STU[n].c_program;

/*退出*/

voidleft()

{save();

exit(0);

/*修改信息*/

voidstudent_edit()

请输入你要修改学生的学号:

=-1)

\n请输入修改的记录信息:

count(n);

/*进入主菜单*/

voidin_menu()

{printf("

\n请按任意键进入主菜单"

getch();

/*按学号查询成绩*/

voidscore_search()

请输入要查询学生的学号:

{page_head2();

没找到!

/*按学号排序显示*/

voidid_sort()

{inti=0;

longmin=STU[0].id;

for(i=1;

if(STU[i].id<

min)min=STU[i].id;

{n=find(min++);

/*学号加1*/

{show_one(n);

i++;

/*记录数加1*/

}

/*按总成绩冒泡降序显示*/

voidscore_sort()

{structstudentstu1;

inti,j;

num;

i++)/*趟数*/

{for(j=0;

j<

num-i;

j++)/*次数/趟*/

{if(STU[j].total<

STU[j+1].total)/*降序*/

{stu1.id=STU[j].id;

STU[j].id=STU[j+1].id;

STU[j+1].id=stu1.id;

stu1.math=STU[j].math;

STU[j].math=STU[j+1].math;

STU[j+1].math=stu1.math;

stu1.english=STU[j].english;

STU[j].english=STU[j+1].english;

STU[j+1].english=stu1.english;

stu1.c_program=STU[j].c_program;

STU[j].c_program=STU[j+1].c_program;

STU[j+1].c_program=stu1.c_program;

stu1.total=STU[j].total;

STU[j].total=STU[j+1].total;

STU[j+1].total=stu1.total;

strcpy(stu1.name,STU[j].name);

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

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

strcpy(stu1.sex,STU[j].sex);

strcpy(STU[j].sex,STU[j+1].sex);

strcpy(STU[j+1].sex,stu1.sex);

}

}

/*打印表头2*/

voidpage_head2()

**********************************************************************\n"

学号\t\t姓名\t\t性别\t数学\t英语\tC语言\t总成绩\n"

/*打印表头1*/

voidpage_head1()

**************************************************************\n"

学号\t\t姓名\t\t性别\t数学\t英语\tC语言\n"

/*读文件*/

voiddisplay()

{FILE*fp;

inti;

if((fp=fopen("

d:

\c\stu.txt"

"

rb"

))==NULL)

cannotopenfile\n"

return;

M;

{if(fread(&

STU[i],sizeof(structstudent),1,fp)==1)i++;

elsebreak;

num=i-1;

fclose(fp);

/*写文件*/

voidsave()

wb"

if(fwrite(&

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

=1)

filewriteerror\n"

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

当前位置:首页 > 医药卫生 > 中医中药

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

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