C语言实训报告学生成绩管理系统文档格式.docx

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

C语言实训报告学生成绩管理系统文档格式.docx

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

C语言实训报告学生成绩管理系统文档格式.docx

4.1项目设计要求...........................................................15

4.2项目设计思路...........................................................15

4.3程序流程...............................................................16

4.3程序代码...............................................................17

4.5运行结果...............................................................21

5项目五名称:

学生成绩排序文件管理

5.1项目设计要求...........................................................22

5.2项目设计思路...........................................................22

5.3程序流程...............................................................23

5.3程序代码...............................................................24

5.5运行结果...............................................................27

6项目六名称:

设计和编写学生成绩管理系统的系统主菜单

6.1项目设计要求...........................................................28

6.2项目设计思路...........................................................28

6.3程序流程...............................................................29

6.3程序代码...............................................................30

6.5运行结果...............................................................32

7项目七名称:

学生成绩管理项目实现

7.1项目设计要求...........................................................33

7.2项目设计思路...........................................................33

7.3程序流程...............................................................34

7.3程序代码...............................................................35

7.5运行结果...............................................................45

8课程设计总结.............................................................49

9参考文献.................................................................50

1.1项目设计要求

(1)熟悉变量、数组定义、使用、输入、输出等基本操作;

(2)进行选择、循环结构程序设计练习;

(3)掌握冒泡法排序的算法。

1.2项目设计思路

(1)定义一个数组a[11],用以存放学生的成绩;

(2)从键盘输入10个学生及成绩;

(3)采用冒泡法,将学生成绩按照从高到低进行排序;

(4)再输入一个学生的成绩,将此成绩按照排序规律插入原学生成绩数组;

(5)将排好序的成绩单进行反序存放,即原来是从高到低,现在改为从低到高排列。

1.3程序流程

输入10个学生成绩

i=0to9

Scanf(“%d”,a&

[i])

用冒泡法排序

j=0to9

i=0to9-j

intt=0;

t=a[i];

a[i]=a[i+1];

a[i+1]=t;

1.4程序代码

#include<

stdio.h>

#defineN11

voidmain()

{

inta[11],i,j,t,x;

printf("

pleaseinputsort:

\n"

);

/*输入数组*/

for(i=0;

i<

10;

i++)

scanf("

%d"

&

a[i]);

thearryis:

%3d"

a[i]);

for(j=0;

j<

9;

j++)/*用起泡法进行排序*/

{

9-j;

if(a[i]<

a[i+1])

t=a[i];

a[i]=a[i+1];

a[i+1]=t;

}

}

thenewarryis:

/*输出新排好顺序的数列*/

for(i=0;

printf("

pleaseinputanumber:

/*插入一个数*/

x);

if(x<

a[9])/*对新形成的数组进行排序*/

a[10]=x;

else

x)

for(j=9;

j>

=i;

j--)

a[j+1]=a[j];

a[i]=x;

break;

=10;

N/2;

i++)/*反顺序排放数组*/

a[i]=a[N-i-1];

a[N-i-1]=t;

newarryis:

i++)/*输出反序数组*/

}

1.5运行结果:

按条件实现学生成绩排名项目一:

2.1项目设计要求

(1)复习数组,选择、循环结构程序设计;

(2)掌握函数的定义、调用、声明,以及参数的两种传递方式。

2.2项目设计思路

(1)在函数中进行10个学生成绩从高到低排名sort(inta[10]);

(2)改进第一步的函数为sort(inta[],intn),进行n个学生成绩从高到低排名;

(3)改进第二步的函数为sort(inta[],intn,charstyle),将n个学生成绩从高到低排名,排名方式;

(4)根据sort()函数的style参数进行,如style为‘a’按升序排,style为’d’按降序排。

(a:

ascending升,d:

descending降)

(5)尝试用三种方法排序:

冒泡法、选择法,插入法排序。

2.3程序流程

2.3程序代码

intn,a[1000];

charstyle;

intinput(inta[]);

//声明输出函数

charmode();

//声明模式函数

voidsort(inta[],intn,charstyle);

//声明排序函数

n=input(a);

//调用输入函数

style=mode();

//调用模式函数

sort(a,n,style);

//调用排序函数

getch();

intinput(inta[])//定义输入函数

inti,n;

请输入学生的个数(小于999):

//确定学生个数n

n);

请输入%d个学生的成绩:

n);

n;

i++)//输入n个学生成绩

输入的%d个学生成绩为:

i++)//输出输入的n个学生成绩

%5d"

if((i+1)%10==0)

printf("

returnn;

//返回学生个数

charmode()//定义模式函数

charstyle;

modeselect:

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

*模式选择(A/D)*\n"

*A)升序排列*\n"

*D)降序排列*\n"

getchar();

%c"

style);

//选择模式

if(style=='

a'

||style=='

A'

returnstyle;

//如果为A/a就返回模式选择

elseif(style=='

d'

D'

//如果为D/d就返回模式选择

else

gotomodeselect;

//如果不是选项,就重新选择

voidsort(inta[],intn,charstyle)//定义排序函数

||style=='

)//如果为升序排序

{//使用选择法排序

inti,j,t,min;

=n-2;

{

min=i;

for(j=i+1;

=n-1;

j++)

{

if(a[min]>

a[j])

{

min=j;

}

}

t=a[i];

a[i]=a[min];

a[min]=t;

}

选择法升序排序结果:

//输出排序后的结果

{

if((i+1)%10==0)

printf("

}

}

else//如果为降序排序

{//使用选择法排序

inti,j,t,max;

max=i;

if(a[max]<

max=j;

a[i]=a[max];

a[max]=t;

降序排序结果:

//输出排序后的结果

}

2.5运行结果

3项目三:

数组优化学生成绩排名项目一:

3.1项目设计要求

(1)熟悉变量的指针和指向变量的的指针变量的概念和使用;

(2)熟悉数组的指针和指向数组的的指针变量的概念和使用。

3.2项目设计思路

(1)定义一个数组stu[10]存放10个学生的成绩,从键盘输入数据,要求用指针实现;

(2)将数组stu[10]的内容输出到屏幕上,要求用指针实现;

(3)将成绩数组按照从高到低进行排序,要求用指针实现;

(4)将第三步内容放在函数中实现,在主函数中调用实现排序,用指针实现,输出排序后的成绩单;

(5)采用指针方法,输入字符串“studentscore”,复制该字符串并输出(复制字符串采用库函数或用户自定义函数)。

3.3程序流程

3.4程序代码

main()

int*p,i,a[10],j,k,t;

请输入数据:

p=a;

//将数组的首地址赋给P

p++);

//依次输入数据

输出数组:

//将数组的首地址赋给P

{

%d"

*p);

//用指针的方式输出数据

p++;

p=a;

for(i=0;

k=i;

//用选择法排序

for(j=i+1;

if(*(p+j)>

*(p+k))k=j;

if(k!

=i)

t=*(p+i);

*(p+i)=*(p+k);

*(p+k)=t;

输出排序后的数组:

for(p=a,i=0;

3.5运行结果

4项目四:

学生成绩单制作项目一:

4.1项目设计要求

(1)掌握结构体变量及数组的定义、赋值、初始化、输入、输出;

(2)结构体数组的操作。

4.2项目设计思路

(1)定义一个结构体数组,存放10个学生的学号,姓名,math、Chinese、English三门课的成绩;

(2)从键盘输入10个学生的以上内容;

(3)输出单门课成绩最高的学生的学号、姓名、以及该门课程的成绩;

(4)输出三门课程的平均分数最高的学生的学号、姓名及其平均分;

(5)将10个学生按照平均分数从高到低进行排序,输出结果,格式如下所示:

numbernamemathChineseEnglishaverage

103tom909010095

101alice90807080

4.3程序流程

4.4程序代码

structstudent

charnumber[10];

charname[20];

intmatch;

intchinese;

intenglish;

floataverage,;

}student[10],h;

inti,j,max,t;

floatmax1;

请输入学生的姓名、学号和成绩:

姓名:

"

%s"

student[i].name);

学号:

student[i].number);

数学:

student[i].match);

语文:

student[i].chinese);

英语:

student[i].english);

该学生的平均成绩是:

student[i].average=(student[i].match+student[i].chinese+student[i].english)/3.0;

%5.1f\n"

student[i].average);

输出数学成绩最高的学生资料:

max=student[0].match;

if(max<

student[i].match)

max=student[i].match;

t=i;

}

%s\n姓名:

%s%\n数学成绩:

%5d\n"

student[t].number,student[t].name,student[t].match);

输出平均成绩最高的学生的成绩:

max1=student[0].average;

if(max1<

student[i].average)

max1=student[i].average;

%s\n数学成绩:

%d\n"

10-j;

if(student[i].average<

=student[i+1].average)

h=student[i];

student[i]=student[i+1];

student[i+1]=h;

numbernamematchchineseEnglishaverage\n"

i++)printf("

%-7s%-10s%-8d%-10d%-12d%-7.1f\n"

student[i].number,student[i].name,student[i].match,student[i].chinese,student[i].english,student[i].average);

4.5运行结果

5项目五:

5.1项目设计要求

(1)掌握文件指针的概念和运用;

(2)掌握文件的相关操作:

打开、读、写、关闭;

(3)掌握文件的定位操作。

5.2项目设计思路

(1)定义一个结构体数组,存放10个学生的学号,姓名,三门课的成绩;

(2)从键盘输入10个学生的以上内容,存入文件

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

当前位置:首页 > 考试认证 > 交规考试

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

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