最新学生考勤系统C语言课程设计Word格式.docx

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

最新学生考勤系统C语言课程设计Word格式.docx

《最新学生考勤系统C语言课程设计Word格式.docx》由会员分享,可在线阅读,更多相关《最新学生考勤系统C语言课程设计Word格式.docx(33页珍藏版)》请在冰点文库上搜索。

最新学生考勤系统C语言课程设计Word格式.docx

结束

2.3设置的主要函数

voidcreat(void);

voidsave(structStudent*,char[]);

structStudent*load(char[]);

voidenter(void);

/*录入函数*/

voidsearch_1(void);

/*查询函数_1*/

voidsearch_2(void);

/*查询函数_2*/

voidadd(void);

voidmodify(void);

/*修改函数*/

voidback(void);

/*退出函数*/

voidmune_1();

/*界面-1*/

voidmune_2();

/*界面-2*/

mune_1();

mune_2();

第3章详细设计

3.1函数以及调用关系

voidmune_1();

/*菜单函数1*/

voidmune_2()/*菜单函数2*/

123456

BreakBreakBreakBreakBreakbreak

voidenter(void);

n

voidsearch_1(void);

/*查询个人信息*/

真假

voidsearch_2(void);

/*查询班级信息*/

voidmodify(void);

真假

voidsave(structStudent*,char[]);

structStudent*load(charfilename[])

退出

3.2结构的应用

If…else结构和while结构嵌套结构:

while(p1->

num!

=0)

{

n=n+1;

if(n==1)

head=p1;

elsep2->

next=p1;

p2=p1;

p1=(structStudent*)malloc(LEN);

scanf("

%s%d%s"

p1->

name,&

p1->

num,p1->

sex);

p1->

math=p1->

English=p1->

physics=p1->

Mks=p1->

C=p1->

teal=p1->

PE=0;

}

p2->

next=NULL;

p=head;

while(p!

=NULL)

fwrite(p,LEN,1,fp);

p=p->

next;

fclose(fp);

printf("

\t\t\t创建成功,按任意键返回主菜单\n"

);

getch();

system("

cls"

2switch结构

switch(sub)

{

case1:

{p->

math+=num;

}break;

case2:

English+=num;

case3:

physics+=num;

case4:

Mks+=num;

case5:

C+=num;

case6:

teal+=num;

case7:

PE+=num;

}

3while结构

if(p->

num==a)

{

printf("

\n\t\t请重新输入高等数学缺勤节数:

"

%d"

&

p->

math);

\n\t\t请重新输入大学英语缺勤节数:

English);

\n\t\t请输入大学物理缺勤节数:

physics);

\n\t\t请重新输入马克思主义基本原理与概论缺勤节数:

Mks);

\n\t\t请重新输入C语言缺勤节数:

C);

\n\t\t请重新输入英语口语缺勤节数:

teal);

\n\t\t请重新输入体育缺勤节数目:

PE);

flag=1;

save(head,cla);

\n\t\t修改成功!

\n\t\t"

break;

}

第4章调试与测试

4.1调试

执行程序时,显示如下信息

选择不同的选项,执行相应的功能。

(选择3),创建一个班级的基本信息。

(选择1),录入本次课考勤情况。

选择要修改的科目的界面:

输入缺勤同学和缺勤节数:

结束输入则输入n后返回菜单2:

(选择2),查询学生个人考勤信息。

(选择4),修改学生个人考勤信息。

(选择5),查看一个班级的考勤信息。

(选择6),退出学生考勤信息系统。

第5章总结与体会

三周的课程设计已经结束了。

回想学习C语言的过程中,既有快乐又有烦恼。

从领到书的那一刻,我就很郁闷,《C语言程序设计》到底事学什么的,有什么用。

刚开始上课时,还在迷茫这门课程是用来做什么的。

不过,这些感受都是在对这门课程不了解的情况下产生的。

后来慢慢的接触多了,听老师讲的多了,了解多了,渐渐的产生了兴趣。

尤其是学到语句和函数时,上机操作程序,经过编译,调试和运行后,出现界面,当时觉得很好奇,想真正的学好这门课程。

通过半个学期的学习,我掌握了基本知识。

下学期开始时,被通知要进行课程设计。

当时有点懵,感觉学的东西很少,很零散,不知该怎么连到一起,就要课程设计,是不是太难为我们了。

第一天基本上都是在看书,把基本知识再熟悉一遍。

到了下午的时候,看了很多练习题,从这些练习题上我得到了不少启发,然后我们组把整个程序的思路理清了,开始着手写程序。

第一周结束的时候,我感觉自己收获挺大的,从一开始的迷茫,不知道从何下手到把程序中的几个模块编写出来,心里挺开心的。

但是,接下来,我们又不得不再次陷入困境。

在整个程序的编写过程中,最难的就是修改和删除这两个模块,这也是我们要解决的重点问题。

开始编写修改和删除时,很头疼,去向其他人寻求帮助,在别人的帮助和提示下,我编完了修改程序,但编译时老出错,修改后的内容将文本内的信息全部覆盖了。

困难之时,我们组的其他人,帮助了我,完成了修改和删除,这让我认识到团队的力量。

这样的话,整个程序基本上全部完成了,就剩下完善工作了。

我们组写了两个程序,最后,两个程序相互组合,互补,大功告成

虽然设计时完成了,但是我觉得其中还是有一些不足之处:

1.警告句。

程序中缺少一些警告句,例如:

“是否真的删除(y/n)?

”。

2.重名的情况。

由于考虑的不周全,没有设计遇到重名的情况该怎么处理。

3.选择单一。

我们设计的程序中,只设计了按名字选择,进行操作,忽略了重名的情况。

整个程序完成了,还有很多不完善的地方,希望自己以后办事的时候要认真,仔细,考虑周全。

短短的几周课程设计结束了,但是这段时间里,我又学到了更多C知识,如:

对象数组,string类,文件流,链表以及文件对链表的操作等,同时我也被提醒以后办事的时候要认真,仔细,考虑周全,也看到了团队精神和互帮互助的重要性。

这一点会让我终生受益。

通过这次课程设计,我觉得自己肚子里的墨水多了,收获也挺大的,这几周过的挺充实!

*附:

源程序清单和执行结果

#include<

stdio.h>

stdlib.h>

#include<

conio.h>

string.h>

#defineLENsizeof(structStudent)

structStudent

{

intnum;

charname[15];

charsex[4];

intmath,English,physics,Mks,C,teal,PE;

structStudent*next;

};

intn;

voidmain()

voidback(void);

\n"

}

voidmune_1()

\n\n\n\n\n\n"

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

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

\t\t\t◇********欢迎使用班级考勤系统********◇"

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

================================================================================"

\n\n\n\t\t\t\t<

按任意键进入>

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

voidmune_2()

intoption,ch;

/*定义一个选项的数据类型*/

\n\n\n"

/*制作的一个漂亮的选择界面*/

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

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

\t*1、录入本次课考勤情况\t2、查询学生考勤信息\t*\n"

\t*3、创建学生信息\t\t4、修改学生信息\t*\n"

\t*5、查看班级考勤情况\t6、退出考勤系统\t*\n"

\t\t\t请输入您所需的操作(1~6):

\n\t\t\t\t"

while

(1)

scanf("

option);

switch(option)

{ch=getchar();

system("

enter();

case2:

search_1();

case3:

creat();

case4:

modify();

case5:

search_2();

case6:

back();

default:

\t\t\t输入错误,请重新输入!

!

printf("

ch=getchar();

voidsave(structStudent*head,charfilename[])

FILE*fp;

structStudent*p=head;

if((fp=fopen(filename,"

wb"

))==NULL)

cannotopenfile\n"

exit(0);

structStudent*head,*p1,*p2;

head=NULL;

p1=NULL;

rb"

while(!

feof(fp))

{

p2=(structStudent*)malloc(LEN);

if(fread(p2,LEN,1,fp)==1)

if(head==NULL)

head=p2;

if(p1)

p1->

next=p2;

p1=p2;

p1->

return(head);

voidenter()/*录入函数*/

structStudent*head,*p;

charselect='

y'

cla[10];

intsub,stu,num,flag=0;

请输入上课班级:

%s"

cla);

strcat(cla,"

.dat"

p=head=load(cla);

while(select=='

||select=='

Y'

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

\t*1、高等数学\t\t2、大学英语\t\t*\n"

\t*3、大学物理\t\t4、马克思基本原理概论*\n"

\t*5、C程序设计基础\t6、教师口语\t\t*\n"

\t*7、体育\t\t\t\t\t\t*\n"

\t\t\t请输入科目选项(1~7):

sub);

while

(1)

if(sub>

0&

&

sub<

8)

break;

else

printf("

\t\t\t输入错误,请重新输入\n\t\t\t\t"

scanf("

system("

请输入本次课缺席同学的座号:

stu);

请输入该同学的缺课节数:

num);

while(p!

if(p->

num==stu)

switch(sub)

p=p->

\n\n\t\t******输入成功******!

是否继续输入(y\\n):

%c"

select);

save(head,cla);

voidsearch_1(void)/*查询个人信息*/

intnum,flag=0;

请输入要查询同学的座号:

num==num)

\n\n"

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

座号姓名性别数学英语物理马克思C语言教师口语体育\n"

%3d%8s%4s%5d%5d%5d%5d%3d%7d%8d\n"

p->

num,p->

name,p->

sex,

p->

math,p->

English,p->

physics,p->

Mks,p->

C,p->

teal,p->

flag=1;

if(flag==0)

\t\t!

没有这个学生信息,请核对后再输入!

voidsearch_2(void)/*查询某班级信息*/

charcla[10];

请输入您要查询的班级名:

gets(cla);

\n\t\t\t%s班的考勤情况\n\n"

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

当前位置:首页 > 法律文书 > 调解书

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

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