C语言课设之学生学籍管理系统Word格式文档下载.docx

上传人:b****5 文档编号:19483720 上传时间:2023-01-06 格式:DOCX 页数:11 大小:22.69KB
下载 相关 举报
C语言课设之学生学籍管理系统Word格式文档下载.docx_第1页
第1页 / 共11页
C语言课设之学生学籍管理系统Word格式文档下载.docx_第2页
第2页 / 共11页
C语言课设之学生学籍管理系统Word格式文档下载.docx_第3页
第3页 / 共11页
C语言课设之学生学籍管理系统Word格式文档下载.docx_第4页
第4页 / 共11页
C语言课设之学生学籍管理系统Word格式文档下载.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

C语言课设之学生学籍管理系统Word格式文档下载.docx

《C语言课设之学生学籍管理系统Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C语言课设之学生学籍管理系统Word格式文档下载.docx(11页珍藏版)》请在冰豆网上搜索。

C语言课设之学生学籍管理系统Word格式文档下载.docx

负责提供输入、处理和输出部分的函数调用,其中各功能模块用菜单方式选择。

程序:

voidmenu()

{intn,w;

do

{

puts("

\t\t****************MENU******************\n\n"

);

\t\t\t\t1.enternewdata-student"

\t\t\t\t2.searchbyname"

\t\t\t\t3.searchbylearnnumber"

\t\t\t\t4.deletedata"

\t\t\t\t5.insertdata"

\t\t\t\t6.enternewdata-sorce"

\t\t\t\t6.exit"

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

printf("

choiceyournumber(1-9):

[]\\b\b"

scanf("

%d"

&

n);

if(n<

1||n>

9)

{w1=1;

getchar();

}

elsew1=0;

}while(w1==1);

switch(n)

{case1:

enter();

break

case2:

searchbyname();

break;

case3:

searchbylearnnumber();

case4:

del();

case5:

insert():

case6:

exit(0);

main()

{menu();

(2)数据录入板块

数据信息中学号、姓名等是字符型,采用字符型数组,分数、号码、等为整数,可以采用整型数组,实得学分可能为小数,采用实型。

采用结构体数组存放学生数据信息到文件。

程序:

/*************************************************/

#defineN10

structstudent

{

intnum;

charname[20];

charsex;

chartel[20];

chardomi[3];

}stu[N];

viodenternewdata-student()

{inti,n;

printf("

houmanystudents(0-%d)?

:

"

n-1);

for(n=1;

n<

10;

n++)

\nenterdatanow\n\n"

for(i=0;

i<

n;

i++)

{printf("

\ninput%dthstudentrecord.\n"

i+1);

input(i);

if(i!

=0)save(n);

printf_back();

structcourse

intcourse_num;

charcoursename[];

intnormalsorce[]

intnormal;

\\平时成绩

intlab;

\\实验成绩

inttext;

\\考试成绩

intture[];

\\综合成绩

floatact[];

\\实得学分

}cou[N]

voidenternewdata-sorce()

{inti,n,z,c;

floats;

howmanynum(0-%d)?

"

N-1);

for(n=1;

printf(\nenterdatanow\n\n"

for(i=0;

{print("

\ninput%dthrecord.\n"

input(i);

}

if(i!

printf_back();

if(cou[1].lab==-1)cou[1].true=cou[1].normal*0.3+cou[1].text*0.7;

elsecou[1].true=cou[1].lab*0.15+cou[1].normal*0.15+cou[1].text*0.7;

if(c=100)s=cou[1].normalsorce*1;

elsec=cou[1].text/10;

switch(c)

{case10:

case9:

s=cou[1].normalsorce*0.9;

case8:

s=cou[1].normalsorce*0.8;

case7:

s=cou[1].normalsorce*0.75;

case6:

s=cou[1].normalsorce*0.6;

case5:

case4:

case3:

case2:

case1:

case0:

s=0;

default:

error\n"

cou[i].act=s;

(3)数据查询

这个模块要求a.输入一个学号或姓名查讯学生的基本信息并显示输出;

输入一个宿舍号码,可查出本室所有学生的基本信息并显示输出;

c.输入一个学号时,查出此学生所有课程情况。

/*******************************************************/

Search()

{inti,n,k;

Structstudents;

Structcoursec;

n=load();

{

do{k=-1;

\n\nenternamethatyouwanttosearch!

name:

%s"

s.name);

printf_face();

do{n=-1;

Printf("

\n\nenterdomithatyouwanttosearch!

domi:

s.domi);

printf_face();

do{i=-1;

\n\nenternumthatyouwanttosearch!

num"

%d%c%d%f"

c.num,c.coursename,c.ture,c.act);

printf_face();

(4)删除数据

题目要求在删除A.TXT中一个学生信息时,B.TXT中相应的信息也要被删除。

/*********************************************************/

voiddel()

{structstudents

sturctcoursec;

FILE*fp;

inti,n,kw0=1,w1,w2=0;

k=-1;

for(i=0,i<

=0)&

&

(i%10==0)

{printf("

\n\nrememberno.whichneededdelete.Passanykeytocontiune..."

getch()

\n\n"

printf_one(i);

do

\n\nenterno.Thatyouwanttodelete!

no."

s.num);

i++)

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

{k=i;

s=stu[i];

[for(i=0,i<

n,i++)

{if(strcmp(cou[i]==stu[i]))

if(k==-1)printf("

\n\nnoexist!

Pleaseagain"

}

while(k==-1);

printf_one(k);

w1=delete_data(k,n);

if(w1==1)

\nsuccessful!

\n\nareyoudeleteanother?

\n\n\t1)yes2)backwithsave\t\b\b"

w0);

w2=1;

else

{w0=0;

if(w2==1)

stu[k]=s

if(w0!

=1&

w2==1)

save(n);

while(w0==1);

menu()

(5)数据排序

能实现选择按综合成绩或实得学分升序或降序排序并显示数据。

/*************************************************************/

voidorder()

{inti,j,k;

intm,n,p;

structcourses;

structcoursec;

9;

for(j=i+1;

j<

j++)if(cou[j].true>

cou[k].true)k=j;

s=cou[i].true;

cou[i].true=cou[j].true;

cou[j].true=s;

for(m=0;

m<

m++)

{p=m

for(n=m+1;

n++)if(cou.act[n]>

cou.Act[p])p=n;

c=cou.act[m];

cou.act[m]=cou.atc[n];

cou.act[n]=c;

(6)公共函数//***********************************************************************

voidprintf_face1()//每次要输出文件1数据的时候用到(打印到数据的第一排,提示作用)

{printf("

\n学号姓名性别宿舍号码电话号码\n"

//***********************************************************************

voidprintf_face()//每次要输出文件2数据的时候用到(打印到数据的第一排,提示作用)

\n学号课程编号课程名称学分平时成绩实验成绩卷面成绩综合成绩实得分数\n"

voidprintf_back()//返回函数

{intw;

\n\n\t数据输入成功^_^\n\n"

选择需要实现的功能\n\n\t1).浏览输入的数据\t2).返回主菜单:

[]\b\b"

w);

if(w==1)browse();

elsemenu();

intsave(intn)//保存输入的数据到txt文档

{FILE*fp;

inti;

if((fp=fopen("

Pro.txt"

"

wb"

))==NULL)

\nCannotopenfile\n"

returnNULL;

if(course[i].num!

=0)

if(fwrite(&

course[i],sizeof(structcourse),1,fp)!

=1)printf("

filewriteerror\n"

fclose(fp);

return0;

}

voidno_input(inti,intn)//检查输入数据是否存在以及编号是否正确

{intj,k,w1;

{w1=0;

for(j=0;

course[i].num[j]!

='

\0'

;

j++)//判断输入编号格式是否正确

if(course[i].num[j]>

'

9'

{puts("

Inputerror!

Onlybemadeupof(0-9).Pleasereinput!

\n"

w1=1;

if(w1!

=1)

for(k=0;

k<

k++)if(k!

=i&

strcmp(course[k].num,course[i].num)==0)//判断此编号是否存在

Thisrecordisexist.pleasereinput!

}while(w1==1);

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

当前位置:首页 > PPT模板 > 动物植物

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

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