用C语言实现学生信息管理系统设计及源代码.docx

上传人:b****5 文档编号:7904308 上传时间:2023-01-27 格式:DOCX 页数:30 大小:118.94KB
下载 相关 举报
用C语言实现学生信息管理系统设计及源代码.docx_第1页
第1页 / 共30页
用C语言实现学生信息管理系统设计及源代码.docx_第2页
第2页 / 共30页
用C语言实现学生信息管理系统设计及源代码.docx_第3页
第3页 / 共30页
用C语言实现学生信息管理系统设计及源代码.docx_第4页
第4页 / 共30页
用C语言实现学生信息管理系统设计及源代码.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

用C语言实现学生信息管理系统设计及源代码.docx

《用C语言实现学生信息管理系统设计及源代码.docx》由会员分享,可在线阅读,更多相关《用C语言实现学生信息管理系统设计及源代码.docx(30页珍藏版)》请在冰豆网上搜索。

用C语言实现学生信息管理系统设计及源代码.docx

用C语言实现学生信息管理系统设计及源代码

一、 课程设计目的

让学生综合应用所学的计算机基础知识和所掌握的程序设计语言(C语言),自主实现一个较为完整的小型管理信息系统的设计与开发。

其主要目的是使学生通过系统分析、系统设计、编程调试,写实验报告等环节,初步掌握软件系统设计的方法和步骤,训练灵活运用程序设计语言进行软件开发的能力,提高分析问题和解决问题的能力,提高程序设计水平,培养必要的工程实践动手二、课程设计内容

序号

阶段名称

具体内容

要求

1

数据录入

录入系统所需的数据

用链表或结构体数组组织数据

2

数据存储数据读写

将录入的数据存储,

对数据进行读写操作

用文件的形式将录入的数据存储,

并进行读写操作

3

数据修改

对数据进行更新操作

可以进行新数据的插入,旧数据的修改操作

4

数据删除

对数据进行删除操作

根据具体题目将对应记录删除

5

数据查询

按要求对数据进行查询

含简单查询及组合查询

6

数据统计

按要求对数据进行统计

含简单统计及综合统计

7

数据排序

按要求对数据进行排序

含升序排序及降序排序

8

数据报表

按要求对数据打印报表

依规定的报表格式对数据打印报表

9

界面

设计总体菜单界面

简单菜单、下拉式或弹出式

三、需求分析

(1)学生信息管理系统是用结构体数组来实现,该结构体数组中包括整型,字符型及其数组,实现系统功能的调用函数。

(2)学生信息系统的功能是对学生的学生信息的录入、显示、修改、添加、删除、查询、排序、保存、读取来对学生信息进行管理。

(3)该学生信息管理程序的要求是:

结构清晰,书写规范;各种信息都保存在文件中;界面采用最简单的菜单,层次清楚,操作方便。

四、概要设计

1.系统结构图(功能模块图)

 

 

2.功能模块说明

<1>录入信息模块:

将要入库的学生信息加到信息数据中。

它包括学生的学号、姓名、性别、班级、年龄、电话、家庭地址等。

<2>.显示学生信息:

分为两个模块

(1)显示学生基本信息。

它包括学生的学号、姓名、性别、班级、年龄、家庭住址、电话等。

(2)显示学生成绩信息。

它包括学生的学号、姓名、数学、物理、英语、C语言成绩。

<3>.查找信息模块:

分为两个模块

(1)根据学生学号进行查找。

(2)根据学生姓名进行查找。

包括学号、姓名、成绩等。

<4>.修改信息模块:

对现存的学生信息进行修改分为两个模块

(1)根据学生学号进行修改。

(2)根据学生姓名进行修改。

它包括各科成绩。

<5>.删除信息模块:

同样分为按学号与姓名进行把某学生的学生信息删除。

<6>.学生信息排序模块:

把已存在的学生信息按照学号进行排序。

<7>.信息查询统计模块:

输入学号后,显示该生学生信息。

<8>.退出模块:

退出程序。

 

五、详细设计及运行结果

1:

主函数流程图

 

 

 

 

 

4、

 

 

 

 

2.按学号查找流程图

 

 

 

六、调试情况,设计技巧及体会

(1).这次课程设计和以前所做题目截然不同,在这之前,以前从未尝试过写一个较大的程序,由于上学期C语言学得不是很好,所以设计过程中遇到好多问题,比如没有思路、算法分析、不知如何下手等。

但是通过查阅资料和咨询同学终于有了想法。

所以自己就慢慢设计了这个程序。

但是程序设计有些简单,没有运用链表知识,只应用了结构体和数组。

而且设计中还存在很多问题,管理系统不够完善,实现的功能不够详尽,没有实现自己想要实现的那么复杂和完善的功能。

(2)在这两周的课程设计过程中,我感触颇深,让我深刻感受到知识总是在用的时候才知道匮乏,以前觉得自己C语言考试过了,就是合格了,对自己要求太低,以至于这次实习遇到很大的麻烦.基础知识不够扎实是我最大的问题,对很多知识点是只知其一,不知其二,或是只知其然而不知其所以然,自己的知识真的很浅薄,而且动手能力,分析问题、解决问题的的能力很差,以后一定要增加自己的知识储备,努力锻炼自己的实践能力。

在实践过程中也遇到好多困难想要放弃,但又一想这样就放弃了以后还如何面多更大地挑战,终于还是坚持下来了,虽然自己做的不是很好,但是自己也用心努力了,我相信只要自己肯努力结果就一定不会太差!

一份耕耘一份收获,两个星期的C语言实习,我终于又重新拾起了渐以模糊的C语言知识和概念,通过上机调试程序,不但熟悉了C语言的一些基本知识,而且熟练了上机实践,通过实践,又掌握了一些在书本上学不到的解决实际问题的方法

本次的课程设计不仅让我学会了如何使用C语言编程,更多的我学会了如何持之以恒,细心的去做完一件事,我深信,只要我能一直坚持实习这段时间的精神,相信我也一定会到达成功的彼岸!

七、参考文献

1.王曙燕主编,C语言程序设计,科学出版社,2005年

2.谭浩强,《C程序设计》,清华大学出版社2002年

八、附录:

源代码

(略,详见电子版实验报告)

#include

#include

#include

#include

#defineMAX50

 

/*studentbasicinformationstruct*/

typedefstruct

{

intnumber;

charname[10];

charsex[2];

intage;

charkind[20];

chardormitory[10];

charaddress[30];

charphone[11];

intscore1;

intscore2;

intscore3;

intscore4;

intsum;

doubleaverage;

}STUDENT;

 

voidpassword(void);

voidinput(void);

voidsort();

voiddisplaybasic(void);

voiddisplayscore(void);

voidrevise(void);

voidrevise_num(void);

voidrevise_name(void);

voidinquire(void);

voidinquire_number(void);

voidinquire_name(void);

voiddel(void);

voiddel_number(void);

voiddel_name(void);

voidsave(void);

voidread(void);

 

STUDENTstudent[MAX];

 

intcount=0;

voidmain()

{

intselect=-1;

password();

while(select!

=0)

{

printf("\n");

printf("========================================\n");

printf("=1---read\n");

printf("=2---Input\n");

printf("=3---Displaybasic\n");

printf("=4---Displayscore\n");

printf("=5---sort\n");

printf("=6---Revise\n");

printf("=7---inquire\n");

printf("=8---delete\n");

printf("=9---save\n");

printf("=0---Exit\n");

printf("========================================\n");

printf("Pleaseinputselect(0-9):

\n");

scanf("%d",&select);

switch(select)

{

case1:

read();

break;

case2:

input();

break;

case3:

displaybasic();

break;

case4:

displayscore();

break;

case5:

sort();

break;

case6:

revise();

break;

case7:

inquire();

break;

case8:

del();

break;

case9:

save();

break;

case0:

break;

}

}

}

 

/*inputthesecretcodefunction*/

voidpassword()

{

inti;

charn[8],m[8];

m[0]='0';m[1]='4';m[2]='0';m[3]='8';m[4]='2';m[5]='0';m[6]='3';m[7]='7';

printf("\n\n\n\n\n\t-----Welcometothestudent'sstatusmanagesystem-----\n\n\n\n\n\n\n\n");

printf("\n\n\n\n\n\t\t\tPleaseinputthesecretcode:

");

do

{

for(i=0;i<8;i++)

{

n[i]=getch();

if(n[i]>='0'||n[i]<='9'||n[i]>='a'||n[i]<='z'||n[i]>='A'||n[i]<='Z')

putchar('*');

}

getch();

if(n[0]==m[0]&&n[1]==m[1]&&n[2]==m[2]&&n[3]==m[3]&&n[4]==m[4]&&n[5]==m[5]&&n[6]==m[6]&&n[7]==m[7])

{

system("cls");

printf("=================================================================\n");

printf("\n\n\n\n\n\n\t-----Thesecretcodeisright!

---\n\n");

printf("\t\t\t-------------Wellcometouse!

-----\n\n\n\n\n\n");

printf("===============================================================\n");

getchar();

printf("pressanykeycontiue!

");

break;

}

else

{

system("cls");

printf("\t\tSorry!

thesecretcodeiswrong!

pleaseinputagain!

:

\n");continue;

}

}while

(1);

}

 

/*informationinputfunction*/

voidinput(void)

{

printf("pleaseinputstudentbasicintormation:

\n");

printf("number:

");

scanf("%d",&student[count].number);

printf("name:

");

scanf("%s",student[count].name);

printf("sex:

");

scanf("%s",student[count].sex);

printf("age:

");

fflush(stdin);

scanf("%d",&student[count].age);

printf("kind:

");

scanf("%s",student[count].kind);

printf("dormitory:

");

scanf("%s",student[count].dormitory);

printf("address:

");

scanf("%s",student[count].address);

printf("phone:

");

scanf("%s",student[count].phone);

printf("pleaseinputnumberbetween0~100:

\n");

printf("math:

\n");

scanf("%d",&student[count].score1);

printf("physics:

\n");

scanf("%d",&student[count].score2);

printf("c:

\n");

scanf("%d",&student[count].score3);

printf("English:

\n");

scanf("%d",&student[count].score4);

student[count].sum=student[count].score1+student[count].score2+student[count].score3+student[count].score4;

student[count].average=student[count].sum/4.0;

count++;

}

 

/*displaythebasicinformationfunction*/

voiddisplaybasic(void)

{

inti;

if(count==0)

{

printf("notinputbefore!

\n");

getch();

return;

}

printf("StudentInformationasfollows:

\n");

printf("================================================================\n");

printf("number\tname\tsex\tkind\tage\tdormitory\taddress\tphone\n");

for(i=0;i

{

printf("%d\t",student[i].number);

printf("%s\t",student[i].name);

printf("%s\t",student[i].sex);

printf("%s\t",student[i].kind);

printf("%d\t",student[i].age);

printf("%s\t",student[i].dormitory);

printf("%s\t",student[i].address);

printf("%s\n",student[i].phone);

}

printf("================================================================\n");

printf("Pressanykeytocontinue!

\n");

getch();

}

 

/*resultdisplay*/

voiddisplayscore(void)

{

inti;

printf("studentresultasfollows:

\n");

printf("Number\tName\tMath\tPhysic\tC\tEnglish\tEverage\n");

for(i=0;i

{

printf("%d\t",student[i].number);

printf("%s\t",student[i].name);

printf("%d\t",student[i].score1);

printf("%d\t",student[i].score2);

printf("%d\t",student[i].score3);

printf("%d\t",student[i].score4);

student[i].sum=student[i].score1+student[i].score2+student[i].score3+student[i].score4;

student[i].average=student[i].sum/4.0;

printf("%f\n",student[i].average);

}

printf("pressanykeytocometothemenu!

");

getch();

}

 

/*sortdependonthenumber*/

voidsort(void)

{

inti,j;

STUDENTt;

for(j=0;j

for(i=j+1;i

if(student[i].number

{

t=student[i];

student[i]=student[j];

student[j]=t;

}

printf("theresultyouwanttoknowasfollows:

\n");

printf("================================================================\n");

printf("number\tname\tsex\tkind\tage\tdormitory\taddress\tphone\n");

for(i=0;i

{

printf("%d\t",student[i].number);

printf("%s\t",student[i].name);

printf("%s\t",student[i].sex);

printf("%s\t",student[i].kind);

printf("%d\t",student[i].age);

printf("%s\t",student[i].dormitory);

printf("%s\t",student[i].address);

printf("%s\n",student[i].phone);

}

printf("number\tname\tmath\tphysic\tC\tEnglish\tsum\taverage\n");

for(i=0;i

{

printf("%d\t",student[i].number);

printf("%s\t",student[i].name);

printf("%d\t",student[i].score1);

printf("%d\t",student[i].score2);

printf("%d\t",student[i].score3);

printf("%d\t",student[i].score4);

printf("%d\t",student[i].sum);

printf("%f\n",student[i].average);

}

printf("================================================================\n");

printf("\n");

}

 

/*revisestudentresultfunction*/

voidrevise()

{

intin;

do

{

printf("---pleasechoicethenumberrevisenumber----\n");

printf("=============================================\n");

printf("-1inquirerevisedependonnumber-\n");

printf("-2inquirerevisedependonname-\n");

printf("-3nottorevise-\n");

printf("=============================================\n");

printf("\n");

printf("pleasechoicebetween(1~3)\n");

scanf("%d",&in);

fflush(stdin);

if(in<1||in>3)

{

printf("theinputiswrong!

pleaseinputagain!

");

continue;

}

elsebreak;

}while

(1);

switch(in)

{

case1:

revise_num();

break;

case2:

revise_name();

break;

case3:

break;

}

}

 

/*revisethescoredependonthenumber*/

voidrevise_num(void)

{

inti=0,choice,flag,revise_num;

do

{

printf("pleaseinputtherevisenumber:

\n");

scanf("%d",&revise_num);

for(i=0;i

{

if(student[i].number==revise_num)

{

printf("thestudentresultinformationasfollows:

\n");

printf("\nchoicebetween(0~8)\n");

printf("pleasechoicethenumberyouwanttorevise\n");

printf("===========================================\n");

printf("-1reviseMath-\n")

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

当前位置:首页 > 高等教育 > 工学

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

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