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