c语言程序设计 学生成绩管理系统Word文档格式.docx

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

c语言程序设计 学生成绩管理系统Word文档格式.docx

《c语言程序设计 学生成绩管理系统Word文档格式.docx》由会员分享,可在线阅读,更多相关《c语言程序设计 学生成绩管理系统Word文档格式.docx(32页珍藏版)》请在冰点文库上搜索。

c语言程序设计 学生成绩管理系统Word文档格式.docx

可用insert()来实现。

其中通过学号的大小比较的,并且以此来排序。

4输出学生的信息及成绩:

通过学生的姓名来查看学生的语文数学英语计算机的有关成绩,同时也可以分别通过paverage()maverage()eaverage()comaverage()来输出物理数学英语计算机等成绩的平均分最高分最低分。

5退出系统:

可以用一个函数来实现,首先将信息保存在文件中,释放动态创建的内存空间,再退出次程序。

流程图如下

六.调试情况及运行结果

1、

对自己设计进行评价,指出合理和不足之处,提出改进的方案。

此次实践课编写的是一个应用程序,相对于以前我们见到的程序,它要大得多,于是就按课本上的例子编了超市管理系统,先把界面弄好然后再添加各模块,而且各模块也出现了不少问题,在同学们和老师的帮助下,我很有耐心的一次又一次的进行修改,最后运行的结果基本上达到了预期的目的。

可结果还不是太理想。

由于时间很短,在选题报告中设想到的好多功能都没有实现。

已有的那些功能虽已能基本上满足管理者和消费者的需要,但如果还有更多的功能程序就会更加完美。

如:

进入系统时没有设制密码,保护性不够强;

在输入商品号时没有出错提示,如果商品号输入负值

2、在设计过程中的感受。

本次C语言的实习课让我对C语言的学习又有了更深入的了解,也让我更深刻地领悟到了“实践出真理”这个道理,在上机实践过程中学到的知识远远超过了在课堂上十几周学到的,学校组织的这次实习让我们这些实践知识匮乏的大学生增添了许多社会经验,为我们将来走上工作岗位其了不小的铺垫作用。

本次实习中遇到了很多以前没有遇到过的问题,也曾想过要放弃,但看到那些同学都在那认真的写程序,给了我继续的信心。

在同学的帮助下,我顺利的结束了本次实习,让我知道原来凭借自己努力取得的成功会让自己这么欣慰,也让我知道了友谊和团结的重要性。

七.参考文献

《C语言程序设计》王曙燕曹锰科学出版社

八。

附录:

#include<

stdio.h>

#include<

stddef.h>

string.h>

stdlib.h>

conio.h>

#defineMAX10

intsum=10;

typedefstructstudent/*定义结构体*/

{

charname[MAX];

/*姓名*/

intnum;

/*学号*/

charsex[MAX];

/*性别*/

floatphysic;

/*语文*/

floatmathematic;

/*数学*/

floatenglish;

/*英语*/

floatcomputer;

/*计算机*/

structstudent*next;

/*结构体指针*/

}stu;

stu*head;

/*读取信息*/

intread_message()

{FILE*fp;

stu*p;

inti=0;

if((fp=fopen("

student_manage.txt"

"

rb"

))==NULL)

{printf("

\n\n****暂时还没有任何信息,输入密码进入主菜单选择基本信息录入!

****\n"

);

return0;

}

while(feof(fp)!

=1)

{fread(head,sizeof(stu),1,fp);

if(p->

num==0)break;

elsei++;

fclose(fp);

return(i);

/*显示或打印函数*/

voidprint()

printf("

\t\t\tScoreManageSystem\n"

/*成绩管理系统*/

\t\t\t成绩管理系统\n"

<

1>

EnterRecord:

输入数据\n"

/*输入数据*/

2>

Display:

显示或打印\n"

/*显示*/

3>

find:

查找数据\n"

/*访问数据*/

4>

Renew_message:

更新模块\n"

/*更新模块*/

5>

Save:

保存数据\n"

6>

sort_physic:

成绩排名\n"

/*物理成绩排名*/

7>

Count:

数据统计\n"

/*数据统计*/

8>

PhysicAverage:

物理平均成绩\n"

/*物理平均成绩*/

9>

MathAverage:

数学平均成绩\n"

/*数学平均成绩*/

10>

EnglishAverage:

英语平均成绩\n"

/*英语平均成绩*/

11>

ComputerAverage:

计算机平均成绩\n"

/*计算机平均成绩*/

12>

Quit:

退出\t\n"

/*退出*/

/*****输入相关数据函数*****/

voidcin(stu*p1)

\nEntername:

\n"

scanf("

%s"

&

p1->

name);

Enternum:

%d"

num);

Entersex:

sex);

Enterscore\n"

Enterphysic:

%f"

physic);

Entermathematic:

mathematic);

Enterenglish:

english);

Entercomputer:

computer);

/*****其他数据是否输入函数*****/

stu*cindata()

{stu*p1,*p2;

inti=1;

charch;

p1=(stu*)malloc(sizeof(stu));

head=p1;

while(i)

{cin(p1);

Doyouwanttocontinue?

Yesorno:

fflush(stdin);

ch=getchar();

if(ch=='

n'

||ch=='

N'

{i=0;

p1->

next=NULL;

else

{p2=p1;

p2->

next=p1;

return(p1->

next);

/*查看数据函数*/

stu*lookdata(stu*p1)

{

while(p1!

=NULL)

Name:

%s\t"

p1->

Num:

%d\t"

Sex:

Physic:

%f\t"

Math:

English:

Computer:

p1=p1->

next;

returnp1;

/*通过比较学号来插入数据的函数*/

voidinsert()

{stu*p1,*p3,*p2;

p1=head;

p3=(stu*)malloc(sizeof(stu));

p3->

if(head==NULL)

{head=p3;

return;

}

cin(p3);

=NULL&

&

(p1->

num<

p3->

num))

p1=p1->

if(p2==head)

{p3->

next=head;

head=p3;

next=p3;

/*通过姓名来查找的函数*/

voidfind(stu*p2)

{charname[20];

intb=0;

Enterthenameofthesutdentyouwanttofind:

"

name);

while(p2!

if(strcmp(name,p2->

name)==0)

Thedatayouwanthasbefind"

p2->

Physic%f\t"

Math%f\t"

English%f\t"

Computer%f\t"

b=1;

elseif(b==0)

sorrynotfinddata!

p2=p2->

if(b==1)

print();

Findone\n"

else

Notfind\n"

/*求各学生物理平均成绩*/

voidpaverage()

{stu*p1;

inti;

floatmax=0.0,min=200.0;

floatsum=0.0,aver=0;

if(p1==NULL)

notdata!

{for(i=0;

p1!

=NULL;

next)

sum+=p1->

physic;

aver=sum/i;

for(i=0;

i++,p1=p1->

{if(max<

physic)

max=p1->

if(min>

min=p1->

%f"

aver);

PhysicMax:

max);

PhysicMin:

/*求各学生数学平均分最高和最低分成绩的函数*/

voidmaverage()

for(i=0;

mathematic;

next)

{if(max<

mathematic)

MathAverage:

MathMax:

MathMin:

min);

/*求各学生英语平均分最高和最低分成绩的函数*/

voideaverage()

english;

english)

printf("

EnglishMax:

EnglishMin:

/*求各学生计算机平均成绩最高和最低分*/

voidcomaverage()

computer;

computer)

ComputerMax:

ComputerMin:

/*统计物理平均和总分*/

voidaver_sum_physic()

floatsum=0,aver;

if(p1=NULL)

PhysicSum:

sum);

/*统计数学平均和总分*/

voidaver_sum_mathematic()

MathematicAverage:

MathematicSum:

/*统计英语平均和总分*/

voidaver_sum_english()

EnglishSum:

/*统计计算机平均和总分*/

voidaver_sum_computer()

ComputerSum:

/*统计模块*/

voidcount()

{intchoice;

do

{

*******统计学生平均分和总分********\n"

:

物理平均和总分\n"

数学平均和总分\n"

英语平均和总分\n"

计算机平均和总分\n"

0>

返回主菜单:

请选择(0~4):

scanf("

choice);

switch(choice)

{case1:

aver_sum_physic();

break;

case2:

aver_sum_mathematic();

case3:

aver_sum_english();

case4:

aver_sum_computer();

case0:

}while(choice!

=0);

/*物理成绩排序*/

/*库存排行*/

sort_physic()

{

inti=1,j=1;

floatmin;

stu*newh,*newp,*tp1,*tp2,*p;

newp=newh=NULL;

tp1=tp2=NULL;

p=head;

do

i++;

p=p->

}while(p->

while(head!

tp1=tp2=p;

min=p->

while(p->

next!

next->

physic<

min)

tp1=p;

tp2=p->

}

if(newh==NULL)newp=newh=tp2;

newp->

next=tp2;

newp=tp2;

if(tp2==head)head=tp2->

tp1->

next=tp2->

tp2->

}

head=newh;

for(j=1;

j<

=i;

j++)

if(p!

\n物理成绩排行\n"

----------------------------------------------------"

\n排名姓名性别学号物理成绩\n"

\n%18d%6s%8s%11d%10f\n"

j,p->

name

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

当前位置:首页 > IT计算机 > 电脑基础知识

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

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