c语言课程设计学籍管理系统(含源代码)_学籍管理系统c语言版

其他范文 时间:2020-02-28 00:24:17 收藏本文下载本文
【www.daodoc.com - 其他范文】

c语言课程设计学籍管理系统(含源代码)由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“学籍管理系统c语言版”。

课 程 设 计 课程设计名称: C语言程序设计 题 目:学籍管理系统 学 生 姓 名: 学生学号 : 学 院(系): 软件学院 专 业 班 级: 112021 指 导 教 师:

设计时间: 2012 年 9 月 日  2012 年 9月_ 14 日

实验题目:学籍管理系统一、实验目的综合应用所学的C语言程序设计知识,自行设计并实现一个较为完整的小型管理信息系统。通过系统分析、系统设计、编程实现,写实验报告等环节,初步掌握软件系统的设计方法和步骤,提高灵活运用程序语言进行软件开发的技能,提高程序设计水平和分析问题、解决问题的能力。

二、实验内容

1):熟悉C语言的开发环境,按照给定的上机步骤练习完成;

2):熟悉C程序的编辑,编译,链接和运行的过程。3):编译一个应用系统程序,形成一个软件系统。

三.实验要求

1.1、分析系统功能

(1)用户进入主菜单后,就会在看到,菜单选项中添加有系统的各项功能,进入的应的选项就可进行相应的操作.其主要功能有:

1、录入学生信息

2、删除学生信息

3、查询学生信息

4、学生信息排序

5、改学生信息

6、保存退出系统

(2)用户选择所需操作的选项,进入相应的操作界面,在这里用户就可开始进行操作。

四、使用说明

学生学籍管理系统是针对学生信息的管理,主要功能是添加学生信息、删除学生信息、查询学生信息、学生信息排序、修改学生信息、保存信息。

1,用户打开程序,进入主界面,输入学生信息如图

2,按回车进入主菜单,列出各项功能如图

输入1,是查询整个班级的学生的信息,如图

输入2,是查询个别学生的信息,如查询第一学生的信息,如图

输入3,是删除个别学生的信息,如删除第一个学生,如图

输入4,是插入某些学生的信息,如插入第三个,如图

输入5,是修改某个同学的信息,如删除第一个,如图

三、心得体会

两周的课程过起来其实也是很快的。这是我第一次做课程设计,起初还没做的时候觉得很快自己就将得编一个较大的程序,将会很有意思。带着最初的好奇心,新鲜感就这样开始了第一天的编程,结果是大失所望。做课程设计并不是自己想象中的那样有意思,而是很枯燥,很乏味的。也没想象中的那样简单,并不是像我们平时上C语言课时,每次编的那些小程序,没那么简单。我们现在要做的就是将我们平时学的,做的那些小程序都合理的凑到一块儿来。而把这些小程序都加到一块儿来,并不是随意的将它们放到一个程序中就完事的,而是必须得合理,且得顾及到各个方面。

正是由于编程的纷繁复杂,且结构的严谨,因此编程的过程中到处是困难和问题。它考验的不仅是我们的平时用功程度,以及我们对所学知识的熟练掌握程度、应用的灵活程度,它还考验我们的毅力。在刚开始的几天时,由于前一阵忙于各科的考试,C语言已经好久没碰了,所学的知识都有点遗忘了,在编写时处处碰壁,一直会停顿翻书,编得自己都开始心烦意乱了,实在是编不下去了,于是索性就停了三天去看书,先把书给吃透。并在后期的程序调试中也碰到不少的问题,好多问题自己反复检查了几遍都没查出,但在老师的帮助下还是一下就查出了。并不是这些问题多难,而是不够心细。因此做课程设计、编程时,它还考验并锻炼我们的心细程度。

经过这次的课程设计的实践,我受益颇多,不仅是对我掌握知识、灵活运用知识的一次考验和锻炼,也是对我生活态度的一次锻炼,让我学会心细和拥有毅力,更具信心和恒心,碰到困难不再退缩,而是坚强面对。

四,程序编码

/*做一个学生的学籍管理系统,有输入,查询,删除,增加,修改等功能*/ #include /*程序需要的头文件*/ #include

#include #include #include #define SIZE 4

/*声明数组的大小,可以任意改动*/ int board[50][50];/*声明一个表格的数组*/ int cur_x, cur_y;/*定义坐标*/

void init();/*声明一个初始化界面的函数*/ void clear();/*清除界面的函数*/

void draw_board();/*声明一个函数画表格*/ struct student{/*创建一个学生的结构体*/

char stuNo[8];

/*学生的学号*/

char name[10];/*学生的姓名*/

char sex[2];/*学生的性别*/

char score[4];

/*学生的分数*/

char addre[10];/*学生的地址*/ };void init()/*初始化函数*/ {

int gdriver, gmode, i, j;

gdriver = DETECT;/*图形界面的驱动声明*/

registerbgidriver(EGAVGA_driver);

initgraph(&gdriver, &gmode, “”);

for(i = 0;i

for(j = 0;j

board[i][j] = 0;

cur_x = 1;

cur_y = 1;}

void destroy()/*关闭图形驱动器*/ {

closegraph();}

void draw_board(int n)/*画表格的函数*/ {

int i, j;

for(i = 20;i

{

line(i, 20, i,(n+1)*60+20);

}

for(i = 20;i

{

line(20, i, 5*110+10, i);

} }

void main(){

struct student stu[SIZE],stu_temp;/*声明结构体变量*/

FILE *fp;

/*声明文件型的指针*/

int i,j,n,m,h;

int c=1;/*c为循环次数*/

h=0;

fp=fopen(“c:list.txt”,“wb+”);/*打开写入文件*/

init();/*调用函数*/

draw_board(SIZE);

if(fp==NULL)/*验证文件是否为空*/

{

printf(“cannot open this filen”);

exit(0);

}

printf(“input all %d students's data.n”,SIZE);/*画输入学生信息的表*/

gotoxy(17,4);

printf(“stuNo”);

gotoxy(29,4);

printf(“name”);

gotoxy(41,4);

printf(“sex”);

gotoxy(52,4);

printf(“score”);

gotoxy(63,4);

printf(“addre”);

for(i=0;i

{

gotoxy(7,4*(i+2));

printf(“%d”,i);

gotoxy(17,4*(i+2));

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].addre);

}

for(i=0;i

if(fwrite(&stu[i],sizeof(struct student),1,fp)!=1)

{

printf(“file write error!”);

exit(0);

}

rewind(fp);

clrscr();

for(c=1;c

{

textbackground(0);

textcolor(1);

gotoxy(29,7);

printf(“read->1”);

gotoxy(29,9);

printf(“find->2”);

gotoxy(29,11);

printf(“delete->3”);

gotoxy(29,13);

printf(“insert->4”);

gotoxy(29,15);

printf(“modify->5”);

gotoxy(29,17);

printf(“plese enter j= ”);

scanf(“%d”,&j);

clrscr();

if(j==1)/*当输入为1时,显示整个班级

{的学生信息*/

draw_board(SIZE);

gotoxy(17,4);

printf(“stuNo”);

gotoxy(29,4);

printf(“name”);

gotoxy(41,4);

printf(“sex”);

gotoxy(52,4);

printf(“score”);

gotoxy(63,4);

printf(“addre”);

for(i=0;i

{

fread(&stu_temp,sizeof(struct student),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));

printf(“%s”,stu[i].sex);

gotoxy(52,4*(i+2));

printf(“%s”,stu[i].score);

gotoxy(63,4*(i+2));

printf(“%s”,stu[i].addre);

}

fclose(fp);

/*关闭文件*/

getch();/*留在当前界面*/

clrscr();/*清屏*/

}

if(j==2)/*当输入为2时,查找某个学生的{信息*/

rewind(fp);/*移动指针到最前*/

printf(“look up the nth(n

scanf(”%d“,&i);位置*/

clrscr();

draw_board(1);/*画表格*/

gotoxy(17,4);

printf(”stuNo“);

gotoxy(29,4);

printf(”name“);

gotoxy(41,4);

printf(”sex“);

gotoxy(52,4);

printf(”score“);

gotoxy(63,4);

printf(”addre“);

fseek(fp,(i-1)*sizeof(struct student),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);

gotoxy(52,8);

printf(”%s“,stu[i].score);

gotoxy(63,8);

printf(”%s“,stu[i].addre);

}

fclose(fp);

getch();

clrscr();

if(j==3)/*当输入为3,删除某个学生的信息*/

{

h=h-1;/*表格少画一格*/

printf(”you want delete nth student,plese enter n= “);

scanf(”%d“,&n);

draw_board(SIZE+h);/*调用函数画表格*/

gotoxy(17,4);

printf(”stuNo“);

gotoxy(29,4);

printf(”name“);

gotoxy(41,4);

printf(”sex“);

gotoxy(52,4);

printf(”score“);

gotoxy(63,4);

printf(”addre“);

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].addre,stu[m+1].addre);

}

for(i=0;i

{

fread(&stu_temp,sizeof(struct student),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));

printf(”%s“,stu[i].sex);

gotoxy(52,4*(i+2));

printf(”%s“,stu[i].score);

gotoxy(63,4*(i+2));

printf(”%s“,stu[i].addre);

}

fclose(fp);

getch();

clrscr();

} if(j==4)/*当输入为4时,增加一个学生

{信息*/

h=h+1;

printf(”you want insert nth student,plese enter n= “);

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].addre,stu[m].addre);

}

draw_board(1);/*调用函数画表格*/

gotoxy(7,4*2);

printf(”%d“,n);

gotoxy(17,4);

printf(”stuNo“);

gotoxy(29,4);

printf(”name“);

gotoxy(41,4);

printf(”sex“);

gotoxy(52,4);

printf(”score“);

gotoxy(63,4);

printf(”addre“);

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].addre);

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);

gotoxy(63,8);

printf(”%s“,stu[n].addre);

clrscr();

draw_board(SIZE+h);

gotoxy(17,4);

printf(”stuNo“);

gotoxy(29,4);

printf(”name“);

gotoxy(41,4);

printf(”sex“);

gotoxy(52,4);

printf(”score“);

gotoxy(63,4);

printf(”addre“);

for(i=0;i

{

fread(&stu_temp,sizeof(struct student),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));

printf(”%s“,stu[i].sex);

gotoxy(52,4*(i+2));

printf(”%s“,stu[i].score);

gotoxy(63,4*(i+2));

printf(”%s“,stu[i].addre);

}

fclose(fp);

getch();

clrscr();

}

if(j==5)/*当输入为5,修改某个学生

{信息*/

printf(”you want to modify nth student information,plese enter n= “);

scanf(”%d“,&n);

/*输入修改的学生的位置*/

draw_board(1);

draw_board(1);

gotoxy(7,4*2);

printf(”%d“,n);

gotoxy(17,4);

printf(”stuNo“);

gotoxy(29,4);

printf(”name“);

gotoxy(41,4);

printf(”sex“);

gotoxy(52,4);

printf(”score“);

gotoxy(63,4);

printf(”addre“);

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].addre);

gotoxy(7,8);

clrscr();

draw_board(SIZE);

gotoxy(17,4);

printf(”stuNo“);

gotoxy(29,4);

printf(”name“);

gotoxy(41,4);

printf(”sex“);

gotoxy(52,4);

printf(”score“);

gotoxy(63,4);

printf(”addre“);

for(i=0;i

{

fread(&stu_temp,sizeof(struct student),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));

printf(”%s“,stu[i].sex);

gotoxy(52,4*(i+2));

printf(”%s“,stu[i].score);

gotoxy(63,4*(i+2));

printf(”%s",stu[i].addre);

}

fclose(fp);/*关闭文件*/

getch();/*保留在这个界面上*/

clrscr();/*清屏*/

}

}

}

下载c语言课程设计学籍管理系统(含源代码)word格式文档
下载c语言课程设计学籍管理系统(含源代码).doc
将本文档下载到自己电脑,方便修改和收藏。
点此处下载文档

文档为doc格式

    热门文章
      整站推荐
        点击下载本文