c语言课程设计学籍管理系统含源代码文档格式.docx
- 文档编号:19513198
- 上传时间:2023-01-07
- 格式:DOCX
- 页数:23
- 大小:19.40KB
c语言课程设计学籍管理系统含源代码文档格式.docx
《c语言课程设计学籍管理系统含源代码文档格式.docx》由会员分享,可在线阅读,更多相关《c语言课程设计学籍管理系统含源代码文档格式.docx(23页珍藏版)》请在冰豆网上搜索。
编译一个应用系统程序,形成一个软件系统。
三实验要求.1.1、分析系统功能
(1)用户进入主菜单后,就会在看到,菜单选项中添加有系统的各项功能,进入的
应的选项就可进行相应的操作.其主要功能有:
1、录入学生信息2、删除学生信息
3、查询学生信息4、学生信息排序
5、改学生信息6、保存退出系统
(2)用户选择所需操作的选项,进入相应的操作界面,在这里用户就可开始进行
操作。
四、使用说明
学生学籍管理系统是针对学生信息的管理,主要功能是添加学生信息、删除学生信息、查询学生信息、学生信息排序、修改学生信息、保存信息。
1,用户打开程序,进入主界面,输入学生信息如图
2,按回车进入主菜单,列出各项功能如图
,是查询整个班级的学生的信息,如图1输入专业资料word
2,是查询个别学生的信息,如查询第一学生的信息,如图输入
,是删除个别学生的信息,如删除第一个学生,如图3输入专业资料word
4,是插入某些学生的信息,如插入第三个,如图输入
,是修改某个同学的信息,如删除第一个,如图5输入专业资料word
三、心得体会起初还没做这是我第一次做课程设计,两周的课程过起来其实也是很快的。
带着最初的好奇将会很有意思。
的时候觉得很快自己就将得编一个较大的程序,做课程设计并不是自新鲜感就这样开始了第一天的编程,结果是大失所望。
心,己想象中的那样有意思,而是很枯燥,很乏味的。
也没想象中的那样
简单,并不我们现在要做没那么简单。
每次编的那些小程序,C是像我们平时上
语言课时,专业资料word
的就是将我们平时学的,做的那些小程序都合理的凑到一块儿来。
而把这些小程序都加到一块儿来,并不是随意的将它们放到一个程序中就完事的,而是必须得合理,且得顾及到各个方面。
正是由于编程的纷繁复杂,且结构的严谨,因此编程的过程中到处是困难和问题。
它考验的不仅是我们的平时用功程度,以及我们对所学知识的熟练掌握程度、应用的灵活程度,它还考验我们的毅力。
在刚开始的几天时,由于前一阵忙于各科
的考试,C语言已经好久没碰了,所学的知识都有点遗忘了,在编写时处处碰壁,
一直会停顿翻书,编得自己都开始心烦意乱了,实在是编不下去了,于是索性就停了三天去看书,先把书给吃透。
并在后期的程序调试中也碰到不少的问题,好多问题自己反复检查了几遍都没查出,但在老师的帮助下还是一下就查出了。
并不是这些问题多难,而是不够心细。
因此做课程设计、编程时,它还考验并锻炼我们的心细程度。
经过这次的课程设计的实践,我受益颇多,不仅是对我掌握知识、灵活运用知识的一次考验和锻炼,也是对我生活态度的一次锻炼,让我学会心细和拥有毅力,更具信心和恒心,碰到困难不再退缩,而是坚强面对。
四,程序编码
/*做一个学生的学籍管理系统,有输入,查询,删除,增加,修改等功能*/
#include<
stdio.h>
/*程序需要的头文件*/
#include<
stdlib.h>
string.h>
graphics.h>
bios.h>
#defineSIZE4
/*声明数组的大小,可以任意改动*/
intboard[50][50];
/*声明一个表格的数组*/
intcur_x,cur_y;
/*定义坐标*/
voidinit();
/*声明一个初始化界面的函数*/
voidclear();
/*清除界面的函数*/
voiddraw_board();
/*声明一个函数画表格*/
structstudent{/*创建一个学生的结构体*/
charstuNo[8];
/*学生的学号*/
charname[10];
/*学生的姓名*/
charsex[2];
/*学生的性别*/
charscore[4];
/*学生的分数*/
charaddress[10];
/*学生的地址*/
};
voidinit()/*初始化函数*/
{
intgdriver,gmode,i,j;
gdriver=DETECT;
/*图形界面的驱动声明
*/
registerbgidriver(EGAVGA_driver);
initgraph(&
gdriver,&
gmode,\);
for(i=0;
i<
10;
i++)
for(j=0;
j<
j++)/*声明坐标的
间距*/
board[i][j]=0;
cur_x=1;
cur_y=1;
}
voiddestroy()关闭图形驱动器*//*{
closegraph();
*/voiddraw_board(intn)画表格的函数/*{
inti,j;
*/for(i=20;
=5*160+80;
i+=90)划横线的
循环/*{
line(i,20,i,(n+1)*60+20);
for(i=20;
=(n+1)*60+30;
i+=60)/*划纵线
的循环*/
line(20,i,5*110+10,i);
voidmain()
structstudentstu[SIZE],stu_temp;
/*声明结
构体变*/
量/*FILE*fp;
声明文件型的
指针*/
inti,j,n,m,h;
/*c为循环次数*/intc=1;
h=0;
/*打开写入文fp=fopen(c:
\list.txt,wb+);
*/件
/*调用函数init();
*/
draw_board(SIZE);
/*if(fp==NULL)*/验证文件
是否为空专业资料word
printf(cannotopenthisfile\n);
exit(0);
printf(inputall%dstudents\'
sdata.\n,SIZE);
/*
画输入学生信息的表*/
gotoxy(17,4);
printf(stuNo);
gotoxy(29,4);
printf(
ame);
gotoxy(41,4);
printf(sex);
gotoxy(52,4);
printf(score);
gotoxy(63,4);
printf(address);
for(i=0;
i<
SIZE+h;
i++)/*输入学生的信息*/
gotoxy(7,4*(i+2));
printf(%d,i);
gotoxy(17,4*(i+2));
scanf(%s,&
stu[i].stuNo);
gotoxy(29,4*(i+2));
stu[i].name);
gotoxy(41,4*(i+2));
stu[i].sex);
gotoxy(52,4*(i+2));
stu[i].score);
gotoxy(63,4*(i+2));
stu[i].address);
i++)/*验证是否写入
文件*/
if(fwrite(&
stu[i],sizeof(structstudent),1,fp)!
=1)
{printf(
ilewriteerror!
);
rewind(fp);
clrscr();
for(c=1;
c<
100;
c++)/*创建一个图形界面
textbackground(0);
textcolor
(1);
gotoxy(29,7);
ead->
1);
gotoxy(29,9);
ind->
2);
gotoxy(29,11);
printf(delete->
3);
gotoxy(29,13);
printf(insert->
4);
gotoxy(29,15);
printf(modify->
5);
gotoxy(29,17);
printf(pleseenterj=);
scanf(%d,&
j);
if(j==1)当输入为1时,显示整个班
/*级{*/的学生信息
i++)/*用for循环
从文件中输
{fread(&
stu_temp,sizeof(structstudent),1,fp);
出每个学生的信息*/
printf(%s,stu[i].stuNo);
printf(%s,stu[i].name);
printf(%s,stu[i].sex);
printf(%s,stu[i].score);
printf(%s,stu[i].address);
fclose(fp);
/*关闭文件*/
getch();
/*留在当前界面*/
/*清屏*/
if(j==2)/*当输入为2时,查找某个学
生的
{信息*/
/*移动指针到
最前*/
printf(lookupthenth(n<
4)student,pleseentern=:
\n);
/*输入要查找的学生
i);
位置*/
draw_board
(1);
/*画表格*/
fseek(fp,(i-1)*sizeof(structstudent),0);
打开
文件查/*找,读出信*/息fread(&
stu_temp,sizeof(struct
student),1,fp);
gotoxy(7,8);
gotoxy(17,8);
gotoxy(29,8);
gotoxy(41,8);
gotoxy(52,8);
gotoxy(63,8);
if(j==3)/*当输入为3,删除某个学生的信
息*/
h=h-1;
/*表格少画一格*/
printf(youwantdeletenthstudent,pleseentern=);
n);
draw_board(SIZE+h);
/*调用函数画表格*/
for(m=n;
m<
m++)/*删除指定学生的
信息*/
strcpy(stu[m].stuNo,stu[m+1].stuNo);
strcpy(stu[m].name,stu[m+1].name);
strcpy(stu[m].sex,stu[m+1].sex);
strcpy(stu[m].score,stu[m+1].score);
strcpy(stu[m].address,stu[m+1].address);
输出整
个表格*/
if(j==4)/*当输入为4时,增加一个学生
h=h+1;
printf(youwantinsertnthstudent,pleseentern=);
m++)/*增加一个学
生的信
{息*/
strcpy(stu[m+1].stuNo,stu[m].stuNo);
strcpy(stu[m+1].name,stu[m].name);
strcpy(stu[m+1].sex,stu[m].sex);
strcpy(stu[m+1].score,stu[m].score);
strcpy(stu[m+1].address,stu[m].address);
/*调用函数画
表格*/
gotoxy(7,4*2);
printf(%d,n);
/*输入一个新学
stu[n].stuNo);
信息
stu[n].name);
stu[n].sex);
stu[n].score);
stu[n].address);
printf(%s,stu[n].stuNo);
printf(%s,stu[n].name);
printf(%s,stu[n].sex);
printf(%s,stu[n].score);
printf(%s,stu[n].address);
输出整个
if(j==5)/*当输入为5,修改某个
学生
printf(youwanttomodifynthstudent
information,pleseenter
n=);
/*输入修改的学生的位
置专业资料word
/**/输入新的学生信息
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 学籍 管理 系统 源代码
![提示](https://static.bdocx.com/images/bang_tan.gif)