C语言课程设计

发布时间:2020-07-06 18:42:07

序号:

学号:

课 程 设 计

课程设计名称: C语言程序设计

题 目: 学籍管理系统

生 姓 名

学 院(系): 业 班 级

指 导 教 师: 专业技术职务:

设计时间: 2008 6 17 2008 6 24

江苏工业学院课程设计任务书

专业 071 同学:

一、设计题目 学籍管理系统

二、设计内容

本课程设计任务的目的是要求学生按照分析、设计、编码、调试和测试的软件开发过程独立完成一个学生学籍基本情况管理系统,并能最终实现本系统的功能要求。

假设某校学生学籍基本信息主要包括:学号、姓名、所在系、班级等,本系统应能对这些基本信息进行管理,并要求具有以下功能:

1、具有学生信息添加功能

2、具有学生信息删除功能

3、具有学生信息查询功能

4、具有学生信息排序功能

5、具有学生信息显示功能

三、基本要求

1、编写源程序的要求:

(1)能够实现任务书中的功能;(2)尽可能使界面友好、直观、易操作

(3)源程序要有适当的注释,使程序容易阅读。

2、撰写“课程设计报告”,要求如下:

(1)封面:统一采用《江苏工业学院课程设计说明书》封面格式

(2)任务书

(3)目录

(4)课程设计报告”正文

3、课程设计验收要求:

(1)运行所设计的系统;(2)回答有关问题;(3)提交课程设计报告;(4)提交源程序。

四、进度安排

1、系统分析、设计准备阶段:6学时

2、编程调试阶段:28学时

3、总结和书写课程设计报告阶段:4学时

4、考核阶段:2学时

指导教师: 2008 6 24

教研室主任:

系主任:

意义及主要功能

意义:按照分析、设计、编码、调试和测试的软件开发过程独立完成一个学生学籍基本情况管理系统,并能最终实现本系统的功能要求。

主要功能:

假设某校学生学籍基本信息主要包括:学号、姓名、所在系、班级等,本系统应能对这些基本信息进行管理,并要求具有以下功能:

1、具有学生信息添加功能

2、具有学生信息删除功能

3、具有学生信息查询功能

4、具有学生信息排序功能

5、具有学生信息显示功能

整个系统的功能结构图以及调用关系

流程图

学生信息添加:

学生信息删除:

学生信息查询:

学生信息排序:

学生信息显示:

程序运行概述

程序界面

添加

删除

查询

排序

显示

运行

系统使用说明

该系统用来是实现添加、删除、查询、排序、显示学生信息,通过各种操作实现相应的功能,然后按学号或姓名查询或删除,排序功能按学号或姓名排列。

C语言源程序代码

#include "stdio.h"

#include "string.h"

int n=0;

struct student

{

int number;

char name[20];

char dep[20];

int class;

}a[10],b[10];

main()

{

void find();

void input();

void del();

void arrange();

void output();

char c;

int i;

do

{

clrscr();

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

printf("*");

printf("\t 1: 添加一个学生\n");

printf("\t 2: 删除一个学生\n");

printf("\t 3: 查找一个学生\n");

printf("\t 4: 学生信息排序\n");

printf("\t 5: 学生信息输出\n");

printf("\t 6: 退出\n");

printf("\t 请选择输入选项[1\\2\\3\\4\\5\\6]: \n");

do

{

c=getchar();

}while(c!='1'&&c!='2'&&c!='3'&&c!='4'&&c!='5'&&c!='6');

getchar();

switch(c)

{

case '1':input();break;

case '2':del();break;

case '3':find();break;

case '4':arrange();break;

case '5':output();break;

case '6':exit(0);

}

printf(" 按任意键返回主菜单:\n");

getchar();

clrscr();

}while(1);

}

void input()

{

printf("please input number,name,department and class\n");

scanf("%d%s%s%d",&a[n].number,a[n].name,a[n].dep,&a[n].class);

getchar();

n++;

}

void del()

{

int k,i,j,m,p;

char name1[20];

printf("如按学号删除请按1,按姓名删除请按2\n");

scanf("%d",&m);

if(m==1)

{

printf("请输入学号\n");

scanf("%d",&k);

flushall();

for(i=0;i

if(k==a[i].number)

for(j=i;j

a[j]=a[j+1];

n--;

}

else

{

printf("请输入姓名\n");

scanf("%s",name1);

flushall();

for(i=0;i

{

p=strcmp(name1,a[i].name);

if(p==0)

for(j=i;j

a[j]=a[j+1];

n--;

}

}

}

void find()

{

int k,i,j,m,p;

char name1[20];

printf("如按学号查询请按1,按姓名查询请按2\n");

scanf("%d",&m);

flushall();

if(m==1)

{

printf("请输入学号\n");

scanf("%d",&k);

flushall();

for(i=0;i

if(k==a[i].number)

printf("num->%d name->%s dep->%s class->%d\n",a[i].number,a[i].name,a[i].dep,a[i].class);

}

else

{

printf("请输入姓名\n");

scanf("%s",name1);

flushall();

for(i=0;i

{

p=strcmp(name1,a[i].name);

if(p==0)

printf("num->%d name->%s dep->%s class->%d\n",a[i].number,a[i].name,a[i].dep,a[i].class);

}

}

}

void arrange()

{

int k,i,j,p;

printf("如果按学号排序请按1,如果按姓名排序请按2\n");

scanf("%d",&k);

flushall();

if(k==1)

{for(i=0;i

for(j=0;j

if(a[j].number>a[j+1].number)

{

b[0]=a[j];

a[j]=a[j+1];

a[j+1]=b[0];

}

}

else

for(i=0;i

for(j=0;j

{

p=strcmp(a[j].name,a[j+1].name);

if(p>0)

{

b[0]=a[j];

a[j]=a[j+1];

a[j+1]=b[0];}

}

}

void output()

{int i;

for(i=0;i

printf("num->%d name->%s dep->%s class->%d\n",a[i].number,a[i].name,a[i].dep,a[i].class);

}

心得体会

通过这次实践我了解到,要把书本上的知识运用到实际是需要对所学信息的融会贯通的。对一些不明白的步骤和程序存在的问题应该积极思考,尽量自己解决,这样有助于自己对知识铭记于心。

日志

1) 6月17日:今天下午开始课程设计,对题目要求有了初步的了解。

2) 6月18日:今天下午在老师的指点下开始编程,完成了整体框架以及对添加和显示功能的源程序编写。

3)6月23日:经过几天的努力终于把源程序代码编写。今天在老师的指导下进一步完善了程序,程序运行也完全正常。

参考文献

1,论著

[序号]作者.文献题名[M].出版地:出版者,出版年.起止页码

[1]毛利锐,沈灌群.中国教育通史[M].济南:山东教育出版社,1988.20-22

[2]Borko H,Bernier C L.Indexing concepts and methods.New York:Academic Pr,1978.261-263

C语言课程设计

相关推荐