C语言课程设计 学生成绩管理系统文档格式.docx

上传人:b****1 文档编号:4558378 上传时间:2023-05-03 格式:DOCX 页数:20 大小:19.33KB
下载 相关 举报
C语言课程设计 学生成绩管理系统文档格式.docx_第1页
第1页 / 共20页
C语言课程设计 学生成绩管理系统文档格式.docx_第2页
第2页 / 共20页
C语言课程设计 学生成绩管理系统文档格式.docx_第3页
第3页 / 共20页
C语言课程设计 学生成绩管理系统文档格式.docx_第4页
第4页 / 共20页
C语言课程设计 学生成绩管理系统文档格式.docx_第5页
第5页 / 共20页
C语言课程设计 学生成绩管理系统文档格式.docx_第6页
第6页 / 共20页
C语言课程设计 学生成绩管理系统文档格式.docx_第7页
第7页 / 共20页
C语言课程设计 学生成绩管理系统文档格式.docx_第8页
第8页 / 共20页
C语言课程设计 学生成绩管理系统文档格式.docx_第9页
第9页 / 共20页
C语言课程设计 学生成绩管理系统文档格式.docx_第10页
第10页 / 共20页
C语言课程设计 学生成绩管理系统文档格式.docx_第11页
第11页 / 共20页
C语言课程设计 学生成绩管理系统文档格式.docx_第12页
第12页 / 共20页
C语言课程设计 学生成绩管理系统文档格式.docx_第13页
第13页 / 共20页
C语言课程设计 学生成绩管理系统文档格式.docx_第14页
第14页 / 共20页
C语言课程设计 学生成绩管理系统文档格式.docx_第15页
第15页 / 共20页
C语言课程设计 学生成绩管理系统文档格式.docx_第16页
第16页 / 共20页
C语言课程设计 学生成绩管理系统文档格式.docx_第17页
第17页 / 共20页
C语言课程设计 学生成绩管理系统文档格式.docx_第18页
第18页 / 共20页
C语言课程设计 学生成绩管理系统文档格式.docx_第19页
第19页 / 共20页
C语言课程设计 学生成绩管理系统文档格式.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C语言课程设计 学生成绩管理系统文档格式.docx

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

C语言课程设计 学生成绩管理系统文档格式.docx

1:

是否输入其他数据

2:

查看数据

3:

插入数据

4:

查找数据

5:

更新数据

6:

保留数据

7:

显示或打印数据

8:

语文成绩状况

9:

数学成绩状况

10:

英语成绩状况

11:

计算机成绩状况

12:

13:

退出系统

二、数据结构设计:

程序设计中用到的结构体类型:

学生信息结构体类型:

typedefstructstudent{

charname[MAX];

intnum[MAX];

charsex[MAX];

intchinese;

intmathematic;

intenglish;

intcomputer;

structstudent*next;

}

程序代码:

//原始密码是123456

#include"

stdio.h"

stddef.h"

string.h"

#defineMAX10

typedefstructstudent{/*定义结构体*/

/*姓名*/

/*学号*/

/*性别*/

/*语文*/

/*数学*/

/*英语*/

/*计算机*/

/*结构体指针*/

}stu;

stu*head;

/*头指针*/

voidprint()/*显示或打印函数*/

{

system("

cls"

);

printf("

\t\t\tScoreManageSystem\n"

/*成绩管理系统*/

<

1>

EnterRecord\t"

/*输入数据*/

2>

Display\t"

/*显示*/

3>

Insert\t"

/*插入数据*/

4>

Quest\t"

/*访问数据*/

5>

Update\t"

/*以前数据*/

6>

Save\t"

/*保留数据*/

7>

Fresh\t"

/*更新数据*/

8>

ChineseAverage\t"

/*语文平均成绩*/

9>

MathAverage\t"

/*数学平均成绩*/

10>

EnglishAverage\t"

/*英语平均成绩*/

11>

ComputerAverage\t"

/*计算机平均成绩*/

12>

Quit\t\n"

/*退出*/

voidcin(stu*p1)/*输入相关数据的函数*/

{printf("

Entername:

\n"

scanf("

%s"

&

p1->

name);

Enternum:

%d"

num);

Entersex:

sex);

Enterscore:

Enterchinese:

chinese);

Entermath:

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"

/*是否继续输入数据*/

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)

Num:

%d\t"

p1->

Name:

%s\t"

Sex:

Chinese:

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;

find(stu*p2)/*通过姓名查找查看数据的函数*/

{charname[20];

intb=0;

Enterthenameofthestudentyouwanttofind:

"

/*通过姓名查看*/

name);

while(p2!

{if(strcmp(name,p2->

name)==0)

Thedatayouwanthasbefound\n"

Name:

p2->

sex%s\t"

b=1;

elseif(b==0)

sorrynotfinddata!

p2=p2->

if(b==1)

print();

Findone\n"

{print();

Notfind\n"

voidcaverage()/*求各学生语文平均分、最高和最低分成绩的函数*/

{stu*p1;

inti;

floatmax=0.0,min=200.0;

floatsum=0.0,aver=0;

if(p1==NULL)

notdata!

{for(i=0;

p1!

=NULL;

i++,p1=p1->

next)

sum+=p1->

chinese;

aver=sum/i;

for(i=0;

{if(max<

chinese)

max=p1->

if(min>

min=p1->

ChineseAverage:

%f"

aver);

ChineseMax:

max);

ChineseMin:

min);

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

mathematic;

mathematic)

MatheAverage:

MatheMax:

MatheMin:

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

english;

english)

EnglishAverage:

EnglishMax:

EnglishMin:

voidcomaverage()/*求各学生计算机平均分、最高和最低分成绩的函数*/

computer;

computer)

ComputerAverage:

ComputerMax:

ComputerMin:

update(stu*p2)/*通过姓名查找来更新数据*/

charname[10];

/*p2为指向结构体structstudent的指针*/

EnterTheName"

/*输入姓名*/

Findyoudata\n"

english:

Success!

SorrynotFinddata!

if(b==0)

Finish!

save(stu*p2)/*保留数据函数*/

FILE*fp;

charfile[10];

Enterfilename"

/*输入文件名*/

file);

fp=fopen(file,"

w"

fprintf(fp,"

fclose(fp);

charpassword[7]="

123456"

;

/*定义初始密码*/

voidmain()/*主函数*/

{intchoice;

stu*p2;

chars[8];

intflag=0,i;

/*标志项*/

intn=3;

do{printf("

Enterpassword:

s);

if(!

strcmp(s,password))/*进行密码匹配验证*/

PASS\n\n\n"

flag=1;

break;

else{

ErrorEnteragain:

n--;

while(n>

0);

flag)

{printf("

youhaveEnter3times!

/*输入密码超过了3次!

*/

exit(0);

/*自动退出*/

/*密码验证成功后进入的界面*/

~~~~~~~~~~\t\t\t~~~~~~~~~~~~\n"

/*操作界面*/

\t\tWelcomtotheMis\n"

Author:

-----\tClass:

------\tNum:

------\n"

/*作者,班级和号码*/

Adress:

HG\n"

/*地址*/

%%%%%%%%%%%%%%%%%%%%%%%%%%%\n"

\t\tEnterOP:

\n\n\n\n"

==============\t\t==============\n"

\t\tEntertheMISyesorno\n"

/*问进入系统与否*/

choice);

if(choice=='

||choice=='

exit

(1);

while

(1)

Enterchoice:

i);

if(i<

1||i>

13)

Enternumfrom1to13:

/*再从1-13中进行选择*/

switch(i)

{case1:

p2=cindata();

/*其他数据是否继续输入的函数*/

case2:

p2=lookdata(head);

/*查看数据的函数*/

case3:

insert();

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

case4:

find(head);

/*通过姓名查找查看数据的函数*/

case5:

update(head);

/*通过姓名查找来更新数据*/

case6:

save(head);

/*保留数据函数*/

case7:

/*显示或打印函数*/

case8:

caverage();

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

case9:

maverage();

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

case10:

eaverage();

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

case11:

comaverage();

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

case12:

;

/*空操作*/

case13:

程序中出现的问题及解决方法

问题一、学生初始信息模块:

当正确输入存在的学生学号,系统进行判断时,提示不存在此学生。

解决办法及步骤:

1、一个个输出所有的学生的学号,检查文件中是否有此学生,发现有。

2、既然有此学生,那么检查循环判断是否有此学生的语句发现没有错

3、输出用于循环检查语句中的学生信息,发现乱码

4、仔细分析乱码的原因,最后发现是变量的类型错误,错将学生类型的结构体指针变量定义为了其他类型的指针变量。

问题二、查询模块:

当正确输入查找信息时,系统却不能够得到所要查找的学生信息以及学生的语文、数学、英语

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

当前位置:首页 > 求职职场 > 简历

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

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