C语言课程设计(8页).doc
-C语言课程设计-第 8 页 序号: 学号: 课 程 设 计课程设计名称: 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 日教研室主任: 年 月 日系主任: 年 月 日 目 录 意义及主要功能3整个系统的功能结构图以及调用关系3流程图4程序运行概述6系统使用说明13C语言源程序代码13心得体会17日志17参考文献17意义及主要功能意义:按照分析、设计、编码、调试和测试的软件开发过程独立完成一个学生学籍基本情况管理系统,并能最终实现本系统的功能要求。主要功能: 假设某校学生学籍基本信息主要包括:学号、姓名、所在系、班级等,本系统应能对这些基本信息进行管理,并要求具有以下功能:1、具有学生信息添加功能2、具有学生信息删除功能3、具有学生信息查询功能4、具有学生信息排序功能5、具有学生信息显示功能整个系统的功能结构图以及调用关系 outputarrange del input find main输出 number,name,department and class请输入number,name,department and class流程图开 始学生信息添加:结 束学生信息删除:请输入学号请输入姓名如按学号删除请按1,按姓名删除请按2开 始结 束学生信息查询:请输入姓名请输入学号如按学号查询请按1,按姓名查询请按2开 始结 束学生信息排序:结 束请输入姓名请输入学号如果按学号排序请按1,如果按姓名排序请按2开 始学生信息显示:开 始输出 number,name,department and class结 束程序运行概述程序界面添加删除查询排序显示运行系统使用说明 该系统用来是实现添加、删除、查询、排序、显示学生信息,通过各种操作实现相应的功能,然后按学号或姓名查询或删除,排序功能按学号或姓名排列。C语言源程序代码#include "stdio.h"#include "string.h"int n=0;struct student int number; char name20; char dep20; int class;a10,b10;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 请选择输入选项123456: 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 classn"); scanf("%d%s%s%d",&an.number,an.name,an.dep,&an.class); getchar(); n+;void del() int k,i,j,m,p; char name120; printf("如按学号删除请按1,按姓名删除请按2n"); scanf("%d",&m); if(m=1) printf("请输入学号n"); scanf("%d",&k); flushall(); for(i=0;i<n;i+) if(k=ai.number) for(j=i;j<n;j+) aj=aj+1; n-; else printf("请输入姓名n"); scanf("%s",name1); flushall(); for(i=0;i<n;i+) p=strcmp(name1,ai.name); if(p=0) for(j=i;j<n;j+) aj=aj+1; n-;void find() int k,i,j,m,p; char name120; printf("如按学号查询请按1,按姓名查询请按2n"); scanf("%d",&m); flushall(); if(m=1) printf("请输入学号n"); scanf("%d",&k); flushall(); for(i=0;i<n;i+) if(k=ai.number) printf("num->%d name->%s dep->%s class->%dn",ai.number,ai.name,ai.dep,ai.class); else printf("请输入姓名n"); scanf("%s",name1); flushall(); for(i=0;i<n;i+) p=strcmp(name1,ai.name); if(p=0) printf("num->%d name->%s dep->%s class->%dn",ai.number,ai.name,ai.dep,ai.class);void arrange() int k,i,j,p; printf("如果按学号排序请按1,如果按姓名排序请按2n"); scanf("%d",&k); flushall(); if(k=1) for(i=0;i<n-1;i+) for(j=0;j<n-1-i;j+) if(aj.number>aj+1.number) b0=aj; aj=aj+1; aj+1=b0; else for(i=0;i<n-1;i+) for(j=0;j<n-1-i;j+)p=strcmp(aj.name,aj+1.name);if(p>0) b0=aj; aj=aj+1; aj+1=b0;void output()int i; for(i=0;i<n;i+) printf("num->%d name->%s dep->%s class->%dn",ai.number,ai.name,ai.dep,ai.class);心得体会通过这次实践我了解到,要把书本上的知识运用到实际是需要对所学信息的融会贯通的。对一些不明白的步骤和程序存在的问题应该积极思考,尽量自己解决,这样有助于自己对知识铭记于心。日志1) 6月17日:今天下午开始课程设计,对题目要求有了初步的了解。2) 6月18日:今天下午在老师的指点下开始编程,完成了整体框架以及对添加和显示功能的源程序编写。3)6月23日:经过几天的努力终于把源程序代码编写。今天在老师的指导下进一步完善了程序,程序运行也完全正常。参考文献1,论著序号作者.文献题名M.出版地:出版者,出版年.起止页码1毛利锐,沈灌群.中国教育通史M.济南:山东教育出版社,1988.20-222Borko H,Bernier C L.Indexing concepts and methods.New York:Academic Pr,1978.261-263