佛山科学技术学院.docx

上传人:b****4 文档编号:4404449 上传时间:2023-05-07 格式:DOCX 页数:14 大小:46KB
下载 相关 举报
佛山科学技术学院.docx_第1页
第1页 / 共14页
佛山科学技术学院.docx_第2页
第2页 / 共14页
佛山科学技术学院.docx_第3页
第3页 / 共14页
佛山科学技术学院.docx_第4页
第4页 / 共14页
佛山科学技术学院.docx_第5页
第5页 / 共14页
佛山科学技术学院.docx_第6页
第6页 / 共14页
佛山科学技术学院.docx_第7页
第7页 / 共14页
佛山科学技术学院.docx_第8页
第8页 / 共14页
佛山科学技术学院.docx_第9页
第9页 / 共14页
佛山科学技术学院.docx_第10页
第10页 / 共14页
佛山科学技术学院.docx_第11页
第11页 / 共14页
佛山科学技术学院.docx_第12页
第12页 / 共14页
佛山科学技术学院.docx_第13页
第13页 / 共14页
佛山科学技术学院.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

佛山科学技术学院.docx

《佛山科学技术学院.docx》由会员分享,可在线阅读,更多相关《佛山科学技术学院.docx(14页珍藏版)》请在冰点文库上搜索。

佛山科学技术学院.docx

佛山科学技术学院

佛山科学技术学院

实验报告

实验名称小型学生信息管理系统

实验项目编写一个小型学生信息管理系统

专业班级06电子信息工程姓名邱培聪学号2006924322

指导教师郭伟刚成绩日期

一、试验目的

本实验为学生提供了一个既动手又动脑,上机实践的机会。

学生通过分析和解决该实验,将课本上的理论知识和实际有机地结合起来,锻炼学生分析、解决较复杂问题的能力,提高学生编写综合系统程序的能力。

二、实验内容

编写一个学生信息管理系统,主要用来管理学生基本信息及成绩信息。

系统功能模块如下图:

具体要求为:

1.建立学生信息,每个学生的信息应包括:

学号、姓名、性别、班级、至少3门课程的成绩;

2.数据输入:

输入学生的各项信息;

3.数据修改:

根据输入学生的学号可以选择修改该学生的信息;

4.数据处理:

可以选择处理方式为:

排序、查询、统计。

其中:

a)排序:

按选择按平均分排序

b)查询:

根据学号查询成绩

c)统计:

可以选择统计各学生的平均成绩或统计所有存在不及格科目的学生;

5.数据输出:

输出学生的相应结果信息;

6.退出:

退出整个学生信息管理系统。

 

三、程序组织结构图、函数调用关系图

主函数……LEAP……选择:

case1:

myget();break;

case2:

myproc();break;

case3:

myedit();break;{函数myorder()函数mysum()函数myseek()

函数num1()函数ave1()}

case4:

myput();break;

case5:

break;

default:

printf("输入有误");

四、程序清单

#include

#include

#include

#include

inttemp;

structstudent//

{

charnum[10];//

charname[10];//

charsex[4];//

charmyclass[20];//

intcj1,cj2,cj3;//

floatave;

}stu[100];

voidmyget()//输入

{//FILE*P;

charx='y';inti=0;

while

(1)

{printf("\n\t数据输入:

\n");

printf("\t学号:

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

printf("\t姓名:

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

printf("\t性别:

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

printf("\t班级:

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

printf("\t成绩1:

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

printf("\t成绩2:

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

printf("\t成绩3:

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

stu[i].ave=float((stu[i].cj1+stu[i].cj2+stu[i].cj3)/3.0);

i++;temp=i;

//if(p=(fopen(123.txt,"w")==0)

//{printf("");exit(0);}

//fread(

printf("学生个数为%d",temp);

printf("\t是否继续输入(Y/N)");

cin>>x;

if(x=='n'||x=='N')

break;}

}

voidmyproc()//修改

{inti;charx='y';charj[10];

for(i=0;i

{cout<<"总的数据如下:

"<

printf("学号姓名性别班级成绩1成绩2成绩3\n");

printf("------------------------------------------------------------------------\n");

printf("%-10s",stu[i].num);

printf("%-10s",stu[i].name);

printf("%-10s",stu[i].sex);

printf("%-11s",stu[i].myclass);

printf("%-8d",stu[i].cj1);

printf("%-8d",stu[i].cj2);

printf("%-8d",stu[i].cj3);

printf("\n");

printf("------------------------------------------------------------------------\n");

}

cout<<"请输入一个学号:

"<

cin>>j;

while

(1)

{

for(i=0;i

{

if((strcmp(j,stu[i].num)==0))//比较

{cout<<"这个学号的同学原来的数据:

"<

printf("学号姓名性别班级成绩1成绩2成绩3\n");

printf("------------------------------------------------------------------------\n");

printf("%-10s",stu[i].num);

printf("%-10s",stu[i].name);

printf("%-10s",stu[i].sex);

printf("%-11s",stu[i].myclass);

printf("%-8d",stu[i].cj1);

printf("%-8d",stu[i].cj2);

printf("%-8d",stu[i].cj3);

printf("\n");

printf("------------------------------------------------------------------------\n");

printf("\n\t数据修改:

\n");

printf("\t姓名:

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

printf("\t性别:

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

printf("\t班级:

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

printf("\t成绩1:

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

printf("\t成绩2:

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

printf("\t成绩3:

");cin>>stu[i].cj3;

}

}

printf("\t是否继续修改Y/N)");

cin>>x;

if(x=='n'||x=='N')

break;

cout<<"请输入一个学号:

"<

cin>>j;

}

}

//

voidave1()

{

inti,j;

studentstud;

for(i=0;i<=temp-2;i++)

{

for(j=0;j<=temp-2-i;j++)

if(stu[j].ave>stu[j+1].ave)

{

stud=stu[j+1];stu[j+1]=stu[j];stu[j]=stud;

}

/*printf("\t学号:

");printf("%s",stu[i].num);

printf("\t姓名:

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

printf("\t性别:

");printf("%s",stu[i].sex);

printf("\t班级:

");printf("%s",stu[i].myclass);

printf("\t成绩1:

");printf("%d",stu[i].cj1);

printf("\t成绩2:

");printf("%d",stu[i].cj2);

printf("\t成绩3:

");printf("%d",stu[i].cj3);

*/

}

cout<<"按平均分大小排序如下:

"<

for(i=0;i

{

printf("学号姓名性别班级成绩1成绩2成绩3成绩\n");

printf("------------------------------------------------------------------------\n");

printf("%-10s",stu[i].num);

printf("%-10s",stu[i].name);

printf("%-10s",stu[i].sex);

printf("%-11s",stu[i].myclass);

printf("%-8d",stu[i].cj1);

printf("%-8d",stu[i].cj2);

printf("%-8d",stu[i].cj3);

printf("%-8f",stu[i].ave);

printf("\n");

printf("------------------------------------------------------------------------\n");

}

}

voidnum1()

{inti,j,k;

studentstud;

for(i=0;i

{

k=i;

for(j=1+i;j

if(strcmp(stu[k].num,stu[j].num)>0)

k=j;

if(k!

=i)

{

stud=stu[i];stu[i]=stu[k];stu[k]=stud;

}

}

cout<<"按学号大小排序如下:

"<

for(i=0;i

{

printf("学号姓名性别班级成绩1成绩2成绩3\n");

printf("------------------------------------------------------------------------\n");

printf("%-10s",stu[i].num);

printf("%-10s",stu[i].name);

printf("%-10s",stu[i].sex);

printf("%-11s",stu[i].myclass);

printf("%-8d",stu[i].cj1);

printf("%-8d",stu[i].cj2);

printf("%-8d",stu[i].cj3);

printf("\n");

printf("------------------------------------------------------------------------\n");

}

}

voidmyorder()////排序

{

longx;

while

(1)

{printf("\t|-----------------------------|\n");

printf("\t|学生信息管理系统|\n");

printf("\t|-----------------------------|\n");

printf("\t|1.按学号排序|\n");

printf("\t|2.按成绩排序|\n");

printf("\t|3.退出|\n");

printf("\t|-----------------------------|\n");

printf("\n\t请选择编号:

");

printf("\n\t");

cin>>x;

switch(x)

{case1:

num1();break;

case2:

ave1();break;

case3:

break;

default:

printf("输入有误");

}

if((x)==3)break;

printf("\n");

}

}

//查找

voidmyseek()

{charx,min[10];

inti;

cout<<"请输入一个学号:

"<

scanf("%s",min);

while

(1)

{

for(i=0;i

{

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

{cout<<"此学生的数据如下:

"<

printf("学号姓名性别班级成绩1成绩2成绩3\n");

printf("------------------------------------------------------------------------\n");

printf("%-10s",stu[i].num);

printf("%-10s",stu[i].name);

printf("%-10s",stu[i].sex);

printf("%-11s",stu[i].myclass);

printf("%-8d",stu[i].cj1);

printf("%-8d",stu[i].cj2);

printf("%-8d",stu[i].cj3);

printf("\n");

printf("------------------------------------------------------------------------\n");

}

}

printf("\t是否继续查找(Y/N)");

cin>>x;

if(x=='n'||x=='N')

break;

cout<<"请输入一个学号:

"<

scanf("%s",min);

}

}

voidmysum()

{inti;

for(i=0;i

{printf("\t第%d学生的平均分",i+1);printf("%f",stu[i].ave);}

}

voidmyedit()//处理

{

intx;

while

(1)

{

printf("\t|-----------------------------|\n");

printf("\t||\n");

printf("\t|-----------------------------|\n");

printf("\t|1.数据排序|\n");

printf("\t|2.数据查询|\n");

printf("\t|3.数据统计|\n");

printf("\t|4.退出|\n");

printf("\t|-----------------------------|\n");

printf("\n\t请选择编号:

");

printf("\n\t");

cin>>x;

switch(x)

{case1:

myorder();break;

case2:

myseek();break;

case3:

mysum();break;

case4:

break;

default:

printf("输入有误");

}

if(x==4)break;

printf("\n");

}

}

voidmyput()

{

inti;

for(i=0;i

{printf("\n\t总的数据输出:

\n");

printf("学号姓名性别班级成绩1成绩2成绩3\n");

printf("------------------------------------------------------------------------\n");

printf("%-10s",stu[i].num);

printf("%-10s",stu[i].name);

printf("%-10s",stu[i].sex);

printf("%-11s",stu[i].myclass);

printf("%-8d",stu[i].cj1);

printf("%-8d",stu[i].cj2);

printf("%-8d",stu[i].cj3);

printf("\n");

printf("------------------------------------------------------------------------\n");

}

}

voidmain()

{

longx;

while

(1)

{printf("\t|-----------------------------|\n");

printf("\t|学生信息管理系统|\n");

printf("\t|-----------------------------|\n");

printf("\t|1.数据输入|\n");

printf("\t|2.数据修改|\n");

printf("\t|3.数据处理|\n");

printf("\t|4.数据输出|\n");

printf("\t|5.退出|\n");

printf("\t|-----------------------------|\n");

printf("\n\t请选择编号:

");

printf("\n\t");

cin>>x;

switch(x)

{case1:

myget();break;

case2:

myproc();break;

case3:

myedit();break;

case4:

myput();break;

case5:

break;

default:

printf("输入有误");

}

if((x)==5)break;

printf("\n");

}

}

五、运行结果

六、实验总结(调试分析和体会)

这个程序比较大,首先应想好整体的布局,例如

由此,我们可以得到主函数包含的内容;

然后先编辑好各个调用函数,有些在调用函数里喊要嵌入几个调用函数,这就需要我们耐心的编写,尤其是有些函数,在前面的作业里有一模一样的,可以直接用过来;

最后,再想主函数的调用,在我的程序里,用了switch函数,当输入对应的数字,就进入对应的程序里,运行。

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

当前位置:首页 > 自然科学 > 物理

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

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