当前位置:文档之家› 学生籍贯信息记录簿(C语言课程设计报告)

学生籍贯信息记录簿(C语言课程设计报告)

计算机科学与技术系

课程设计报告

2012~2013 学年第1学期

课程C语言课程设计

课程设计名称学生籍贯信息记录簿设计

学生姓名

学号

专业班级

指导教师

目录

一、绪言——需求分析……………………

二、系统设计……………………………

(一)设计思想…………………………

(二)源程序设计…………………………

(三)、设计表示……………………………

三、系统调试………………………………

四、学生籍贯记录薄使用说明…………………

五、总结……………………………………

六、参考文献……………………………………

一、绪言——需求分析

随着学校办学规模的不断扩大、办学层次的多样化、在校生的不断增多。开发这系统可以是教务处老师减轻工作压力,比较系统的对学生进行管理,加快速度、加强管理,使各项管理更加规范化。

题目要求设计一个学生籍贯信息记录簿系统,该系统要求对学生籍贯信息进行管理和

维护。

要求为:

(1)创建信息链表并以磁盘文件保存;

(2)读取磁盘文件并显示输出所有学生的籍贯信息;

(3)按学号或姓名查询其籍贯;

(4)按籍贯查询并输出该籍贯的所有学生;

(5)能添加、删除和修改学生的籍贯信息(可选项)。

二、系统设计

(一)设计思想:流程图

(二)、源程序设计

#include ///宏定义函数

#include //串操作及内存操作函数

#include /////调用系统函数

typedef struct student ////定义新结构体 student {

char name[10]; /*定义姓名*/

int num; /*定义学号*/

char sex[10]; /*定义性别*/

int age; /*定义年龄*/

char location[10]; /*定义籍贯*/

}s;

void Fun()

{

char ch1;/*定义字符*/

printf("继续操作?\n\t——输入Y继续操作/N退出系统[不区分大小写]\n"); scanf("%s",&ch1); /*接收字符*/

switch(ch1) /*选择结构*/

{

case 'Y':

case 'y':

break;

case 'N':

case 'n':

printf("欢迎您再次使用。\n");

exit(0);

default:

printf("输入有误!");

/*若输入的字符不是“Y”或“y”或“N”或“n”,会提示输入有误*/

}

system("cls"); /*清屏*/

}

void menu()

/*主函数菜单*/

{

/*按说明键入数字并键入 enter后可查询*/

printf("**********欢迎进入学生籍贯信息记录簿*************\n");

printf("1 --显示所有信息\n");

printf("2 --按学号查询\n");

printf("3 --按姓名查询\n");

printf("4 --按籍贯查询\n");

printf("5 --结束程序\n");

printf("***********请选择您需进行的选项************\n");

}

main()

{

FILE *fp; /*定义文件型指针变量*/

s stu[100];

int i=0,n=0,m,num; /*定义变量*/

char name[10],location[20];

fp=fopen("information.txt","r+");/*打开文件并读取*/

while(!feof(fp))

{

fscanf(fp,"%s%d%s%d%s",&stu[i].name,&stu[i].num,&stu[i].sex,&stu[i].age,&stu[ i].location);

/*读取姓名,学号等信息*/

i++;

n++;

}

L: menu();

printf("输入序号:");

scanf("%d",&m);

system("cls");

switch(m)

/*选择结构,选择查询方式或添加学生信息*/

{

case 1:

for(i=0;i

printf("%s\t%d\t%s\t%d\t%s\n",stu[i].name,stu[i].num,stu[i].sex,stu[i].age,st u[i].location);

Fun();

goto L; /*循环*/

case 2:

K: printf("请输入学号:");

scanf("%d",&num);

if(num>10) /*在“information.txt”这个文件中只有10位学生的信息,所以键入的数字不能超过10*/

{

printf("警告:输入错误!请重新输入:\n");

/*键入的数字超过10后所显示的提示*/

goto K;

}

system("cls");

for(i=0;i

/*依次查询满足的学生*/

{

if(stu[i].num==num)

{

printf("%s\t%d\t%s\t%d\t%s\n",stu[i].name,stu[i].num,stu[i].sex,stu[i].age,st u[i].location)

break;

}

}

Fun();

goto L;

case 3:

printf("请输入需查询的学生姓名\n");

printf("若输入错误则无法查询!\n:");

scanf("%s",name);

system("cls");

for(i=0;i

/*依次查询满足的学生*/

{

if(strcmp(stu[i].name,name)==0)

/*判断字符串比较是否相等*/

{

printf("%s\t%d\t%s\t%d\t%s\n",stu[i].name,stu[i].num,stu[i].sex,stu[i].age,st u[i].location);

break;

}

}

Fun();

goto L;

case 4:

printf("请输入籍贯\n");

printf("若输入错误则无法查询!\n:");

scanf("%s",location);

system("cls");

for(i=0;i

{

if(strcmp(stu[i].location,location)==0)

/*判断字符串比较是否相等*/

{

printf("%s\t%d\t%s\t%d\t%s\n",stu[i].name,stu[i].num,stu[i].sex,stu[i].age,st u[i].location);

}

}

Fun();

goto L;

case 5:

fp=fopen("information.txt","a+");

/*打开文件并往里写入信息*/

printf("请输入增加学生的人数:");

scanf("%d",&n);

printf("请输入增加学生的姓名、学号、性别、年龄及籍贯:\n");

for(i=0;i

{

scanf("%s%d%s%d%s",stu[i].name,&stu[i].num,stu[i].sex,&stu[i].age,stu[i].loca tion);/* 接收信息*/

fprintf(fp,"%s\t%d\t%s\t%d\t%s\n",stu[i].name,stu[i].num,stu[i].sex,stu[i].ag e,stu[i].location);/*打印信息*/

}

Fun();

goto L;

case 6:

exit(0);

default:

printf("输入错误,请重新输入!\n");

/*若输入的数字不是1,2,3,4,5,6所提示的信息*/

goto L;

}

}

(三)、设计表示

2.3.1 进入到界面

printf("*****************欢迎进入学生籍贯信息记录簿*******************\n");

2.3.2选择程序进行管理

printf("1 --显示所有信息\n");

printf("2 --按学号查询\n");

printf("3 --按姓名查询\n");

printf("4 --按籍贯查询\n");

printf("5 --结束程序\n");

2.3.3对文件进行读取,并显示学生的信息。

FILE *fp;

s stu[100];

int i=0,n=0,m,num;

char name[10],location[20];

fp=fopen("information.txt","r+");

while(!feof(fp))

fscanf(fp,"%s%d%s%d%s",&stu[i].name,&stu[i].num,&stu[i].sex,&stu[i].age,&stu[ i].location)

i++;

n++;

2.3.4

后续程序为switch语句进行选择,选择完毕后会提示是否继续,继续则进入到主菜单,否则退出系统。

三、系统调试

3.2调试程序

3.1.1 显示所有信息

进入系统后键入“1+enter”后即可显示如下界面。

选择第一个选项后,系统将会读取磁盘文件"information.txt" 中所保存的信息,并在显示屏上显示(如下图),且会提示是继续操作还是退出系统。

3.1.2 按学号查询

系统会先提示:“请输入学号”。

输入学号(例如:3)后键入“enter”:

随后键入“Y”或“y”继续运行程序。

3.1.3 按姓名查询

键入“enter”后,若磁盘文件中有你输入的学生姓名,则该同学的信息会在显示屏上显示。

如若无此学生则直接跳到继续操作这一项。

3.1.4 按籍贯查询

若磁盘文件所有学生籍贯信息中有你所输入的地点这会显示所有这个地点的学生,若无此地点的学生则直接跳到继续操作这一项。

3.1.5 添加学生信息

系统先会提示你要输入的学生数目。

接着会提示要依次输入那些信息:“请输入增加学生的姓名、学号、性别、年龄及籍贯”。

输入的信息将会被写入“information.txt”文件中。如下图:

3.1.6 退出系统

随后任意键入一个键就结束程序。

3.2调试小结

自己做的这个程序虽然简单,但过程中还是遇到了很多困难。例如对字符串的处理。开始时总是无法显示输入的学生姓名,性别,籍贯这三项信息。后来通过自己看书和询问同学,总算把字符串问题处理得当了。程序虽简单,调试过程中总是会出现这样那样很多错误,例如:少分号,未定义等等。有些错误很简单,自己看一下就可以改出来,但有些错误怎么也修改不出来,例如简单的少分号,很多时候加了分号还是没用!此时只有问同学和请教老师。好在最后是完成了这个程序。

四、学生籍贯信息记录簿的使用说明

进入系统后按照提示输入数字并键入enter即可实现你需要的操作。进入后会有提示信息提示用户应该怎么做,按照提示输入后再键入enter即可实现功能。

本系统较为简单,使用时按照提示操作,输入所提示的信息后按enter键即可。五、总结

通过这次课程设计,使我们更加熟悉的掌握了Visual C++语言的运用。帮助我们熟悉了更多Visual C++语言的功能,提高了我们的动手能力,学到了许多解决实际问题的宝贵经验.同时也挖掘出了我们潜在的能力,使我们对自己更有自信,对编程也更有兴趣。我相信,只要努力、勤奋、坚持不懈,就没有什么做不到的事,不能还没开始就退缩,要勇于拼搏,敢于创新。现在知道自己还有很多的不足,而且,由于认识的有限,无法去完善现在的程序,导致这个程序有很多功能还没有实现。对此,自己以后还需要继续学习,把它完善。

六、参考文献

[1] 马安鹏.Visual C++程序设计导学。北京:清华大学出版社,2002

[2] 谭浩强,C程序设计(第四版)

[2] 电子书籍. Visual C++技术内幕(第四版).网址:https://www.doczj.com/doc/9e3885551.html,

[3] Beck Zaratian.Microsoft Visual Visual C++ 6.0程序员指南.希望图书创作室译.北京:北京希望电脑公司出品,1998

[4]Richard C.Leinecker,Tom Archer. Visual C++ 6 宝典.张艳,张谦译.北京:电子工业出版社,1999

[5] 李强,贾云霞. Visual C++项目开发实践.北京:中国铁道出版社,2004

[6] 郑莉,董渊,张瑞丰.C++语言程序设计.2003.

[7] H.M.Deitel,P.J.Deitel. Small C++ How to Program.2006.

学生籍贯信息记录簿系统课程设计源代码

+64编制一个学生籍贯信息记录簿,每个学生信息包括:学号、姓名、籍贯。具体功能: (1)创建信息链表并以磁盘文件保存; (2)读取磁盘文件并显示输出所有学生的籍贯信息; (3)按学号或姓名查询其籍贯; (4)按籍贯查询并输出该籍贯的所有学生; (5)能添加、删除和修改学生的籍贯信息; #include "dos.h" #include "stdio.h" #include "stdlib.h" #include "conio.h" #include "math.h" #include "string.h" /**********************建立链表******************************/ struct hj { int age; long number; char name[10],address[50],sex[2]; struct hj *next; }; /**************************文件操作函数******************************/ FILE *fp; void openfile(char xx[20]) { fp=fopen(xx,"ab+"); if(fp==NULL) fp=fopen(xx,"wb"); } /************************录入信息函数***********************************/ void hjnew(void) { system("cls"); int n=0,xage; long xnumber; char xname[10]; char xaddress[50]; char xsex[2]; struct hj *head; struct hj *x1,*x2; head=NULL; x2=NULL;

学生信息管理系统

全国学前教育管理信息系统 培训上机指南 一、网址、用户名及密码 1、专题网址:https://www.doczj.com/doc/9e3885551.html,/,系统由专题右上方《管理系统入口》进入。 2、用户名(另发)。 3、测试系统初始密码统一为xueqian@2014(仅在培训时为此密码),请勿在培训时修改此密码。在使用正式系统时请修改密码。 二、系统登录注意事项 1、建议电脑为XP系统的情况下使用火狐或谷歌浏览器登录系统。 2、登录系统前,须进行浏览器设置,设置方法如下:“工具”→“Internet选项”→“隐私”→“高级”→勾选“替代自动cookie处理”和“总是允许会话cookie”。 3、不要使用同一浏览器登录多个用户。 4、在输入用户名和密码时注意键盘大小写的切换。 5、登录系统时,如密码连续五次输入错误,系统会自动锁定该账号,锁定时间为15分钟,15分钟以后才能再登录系统,建议骨干学校和市州在登录时如输错4次密码时不要再进行第5次密码的输入,可用同级或上级的系统管理员账号(A开头的账号)重置密码,再进行系统登录。

三、需完成任务 各学校使用学校级系统,市州使用县、市级系统,骨干学校与市州配合完成各项流程(机构管理、幼儿管理、业务管理、一期数据管理、机构在园幼儿情况、系统管理),具体操作步骤如下(以县级学校为例): (一)机构管理 1、使用机构级账号(普通用户)登录系统,进入“机构管理”->“基本信息管理”,进行学校扩展信息的填写(基本信息由系统自动导入),此处应注意“提交”与“保存”两个按钮的区别。 2、使用区县级账号(审核用户)登录系统,进入“业务管理”->“机构数据管理” ->“基本信息审核”,审核学校提交的基本信息。 3、使用机构级账号(普通用户)登录系统,进入“机构管理”->“办学条件信息管理”,根据提示编辑办学条件基本信息与办学条件建筑信息(该页面有两个选项卡),并提交审核。 4、使用区县级账号(审核用户)登录系统,进入“业务管理”->“机构数据管理” ->“办学条件信息审核”,审核学校提交的基本信息。 5、使用机构级账号(普通用户)登录系统,进入“机构管理”->“班级信息管理”,至少创建5个以上的班级(最好有连续的年级)。

C语言课程设计报告-游戏2048

东华理工大学C语言课程设计报告 学院:国际教育学院学院专业:电子信息工程 班级:1420606 学号:201420060638 姓名:钟天运

一、课程设计题目:游戏2048 二、课程设计要求: a)使用C语言编写2048这款游戏 b)能够正常运行,拥有游戏界面。 c)能正常进行游戏从开始到结束。 d)用户操作方便 三、设计思路: a)游戏介绍: i.2048是一款简单的数字类游戏,界面是一个 4*4的方形格子。每个格子里可以为空或者有 一个2^n的数值。 ii.用户可以输入4种指令,分别是:上下左右,游戏会根据用户的指定的方向,将格子中 的数值向对应方向进行移动,直至移动到最边 上的格子或者有其他数值占用,如果碰到等大 数值,将会进行合并。此外,成功移动后,会 在一个空格子随机生成一个2或者4 iii.游戏目标是合成2048这个数值或者更大的数值。 b)实现思路: i.可以使用二维数组来保存4*4格子中的数值 ii.指令,可以通过输入字符函数,读取用户

在键盘上的方向键,进行判断执行对应的代 码。 iii.游戏界面,可以使用简单的特殊制表符,来实现,并通过清屏函数来进行反复同位置打 印界面。 iv.需要判断游戏结束的函数,以及记录游戏分数和步骤的变量 v.当游戏结束时,能够询问用户是否重新开始。 vi.随机生成一个新数,可以调用随机函数,使用时间做种子。 c)实现难点: i.打印游戏界面,要实现灵活能根据棋盘数组里 面的数据灵活打印。 ii.执行操作时,数值的移动和合并。

四、流程图

五、C语言源代码 // 游戏2048.c #include "windows.h" #include "time.h" #include "stdio.h" #include "conio.h" #include "string.h" //宏定义常量方向键值 //const int LEFT = 75, UP = 72, RIGHT = 77, DOWN = 80; #define LEFT 75 #define UP 72 #define RIGHT 77 #define DOWN 80 const char error_str[] = "您上次输入的指令无法识别,请重新输入。"; struct board { int place[4][4]; long int stepn; long int num; //存储游戏分数 long int time; int dtk; //direction key 记录方向键,及操作方向 int over; int zeronum; }; //该函数为游戏运行函数,当只是玩游戏的时候。进入该函数,游戏控制函数。int main() { //place数组为棋盘,其中为零代表空,-1代表不能合并的牌,其他2的倍数值为本身含义,初始化为全0。 struct board board1, board_backup; int newgame(struct board *, int), show(struct board *), operate(struct board *); char str[100] = "首次运行游戏"; //用于记录系统返回给用户的信息,例如:上一步执行向左合并,按键有误等 newgame(&board1, 0); //调用函数为新局初始化,第二个

《C语言课程设计》实验报告

《C语言课程设计》报告 学院:信息工程学院 专业:信息管理与信息系统设计题目:通讯录程序设计班级:2016级一班 学号:201601510138 姓名:张进步 指导教师:杨菲菲 时间:12.24

学生通讯管理系统 1.1 设计目的 学习如何实现一个复杂的信息管理系统——学生通讯管理系统,能够实现老师对学生基本信息的记录、查询、修改。 通过本次学习,读者能够掌握: (1)如何设计主菜单和子菜单,以及各级菜单的响应与返回操作; (2)如何合理设计不同的结构体对系统中多个实体进行封装; (3)如何合理设计多个结构体数组管理不同实体对应的数据; (4)如何对复杂的函数过程进行拆分,用多个子函数进行封装; (5)进一步熟悉文件读取的相关操作。 1.2需求分析 本章的学生信息管理系统的主要功能面向老师,能够实现对学生信息进行录入、修改、查询。 学生信息方面的功能需求如下。 (1)新增学生信息,包括姓名、籍贯、电话号码(2)、电子邮箱。 (2)修改学生信息,可以选择对某个学生的某个属性值进行修改。 (3)查找学生信息,即输入要查找的学生学号,实现学生信息查询。 (4)显示所有学生信息,并以列表的形式清晰呈现。 1.3总体设计 系统功能结构图如图所示;学生信息管理系统 学生信息管理模块:包括4个子模块,分别是学生信息的录入,学生信息的修改,学生信息的查询,学生信息的浏览。

1.4详细设计与实现 1.4.1 预处理及数据结构 1.头文件 本项目涉及4个头文件,其中#include使用字符串的函数的时候需要添加此头文件,#include #include /*system使用的函数*/ #include /*getchar、getch函数使用的头文件*/ #include /*strcmp比较2个字符串是否一样*/ 2.宏定义 LEN sizeof(struct student)表示struct student的长度。DATA是按格式输出结构体的各项数据,能够方便输出操作,减少代码量。 #define_CRT_SECURE_NO_W ARNINGS #include #include #include #include #define LEN sizeof(struct student) #define FORMAT "%-8d%-15s%-15s%-15d%-15d%-15s\n" #define DATA stu[i].numb,stu[i].name,stu[i].nat,stu[i].num1,stu[i].num2,stu[i].mail 3.结构体 利用一个结构体struct student struct student/*定义学生信息结构体*/ { int numb;/*学号*/ char name[15];/*姓名*/ char nat[16];/*籍贯*/ int num1;/*电话号码1*/ int num2;/*电话号码2*/ char mail[40];/*邮箱*/ }; 4.全局变量 分别利用全局变量结构体数组struct student stu[50];来记录所有学生的基本信息,避免程序运行过程中多次初始化,方便各个式子函数调用。 struct student stu[50];

c语言程序学生籍贯信息记录簿设计

c语言程序学生籍贯信息记录簿设计学生籍贯信息记录簿 课程设计报告书 班级: 方0909-1 学号: 20096401 姓名: 苑小叶指导教师: 康亚男石家庄铁道大学四方学院 2010年07月14日 1 课程设计报告内容 1. 选择题目 题目:学生籍贯信息记录簿设计 2. 内容摘要 摘要: 学生籍贯信息管理系统是典型的信息管理系统,根据开发要求,主要完成对学生姓名、学号、籍贯等管理。随着学校办学规模的不断扩大、办学层次的多样化、在校生的不断增多。开发这系统可以是教务处老师减轻工作压力,比较系统的对学生进行管理,加快速度、加强管理,使各项管理更加规范化。 本系统管理内容广泛,全面涉及管理学生资料信息的管理。 3. 索引关键词关键词:学生籍贯管理,结构体,循环,函数 学生籍贯信息记录簿 4. 目录 目录 1题目要求……………………………………………………………4 2设计思想……………………………………………………………4 3系统完成及功能……………………………………………………4 4界面设

计.....................................................................5 5正文...........................................................................5 6结论...........................................................................14 7参考资料.....................................................................14 8后记...........................................................................15 9附录 (15) 3 学生籍贯信息记录簿 5.正文 1.1课程设计题目要求 1. 要求利用C语言面向过程的编程思想来完成系统的设计; 2. 突出C语言的函数特征,以多个函数实现每一个子功能; 3. 画出功能模块图; 4. 进行简单界面设计,能够实现友好的交互; 5. 具有清晰的程序流程图和数据结构的详细定义; 6. 熟练掌握C语言对文件的各种操作。 2.1设计思想 程序运用结构体数组和循环进行程序的编写. 3.1系统完成功能及功能框图 1每条记录包括一个学生学号、姓名、籍贯。 2输入功能:可以一次完成无数条记录的输入。 3显示功能:完成全部学生记录的显示。 4查找功能:完成按姓名、学号查找学生记录,并显示。 5修改功能:通过查找学生姓名、学号,修改学生记录。 6保存功能:将学生记录保存到任何自定义的文件中。 7读取功能:将保存到文件中的学生记录读取出来。 8应提供一个界面来调用各个功能,调用界面和功能的操作界面应尽可能清晰美观。 主要功能

学生基本信息管理系统

沈阳工程学院 课程设计 (面向对象程序设计) 设计题目:学生基本信息管理系统 系别信息学院班级 组长姓名 组员姓名 指导教师职称 起止日期:2014年12月1日起——至2014年12月12日止

沈阳工程学院 课程设计任务书 (面向对象程序设计) 课程设计题目:学生基本信息管理系统 系别信息学院班级 组长姓名 组员姓名 指导教师职称 课程设计进行地点:实训F 任务下达时间:2014 年11月19 日 起止日期:2014年12月1日起——至2014年12月12日止教研室主任朱克敌2014年11月15日批准

1.课程设计的原始资料及依据 面向对象程序设计课程设计的前驱条件是要求学生们必须具备“程序设计基础”、“面向对象程序设计”、“软件工程导论”等计算机专业基础理论知识,本次课程设计需要在符合这种前提条件下实施。 首先,成立项目小组并推举有责任心的学生担当项目组长,全组成员在组长的带领下,采用自选和老师指定相结合的方式确定了本次课程设计的题目。本次课程设计要求学生首先查阅课程相关的资料,进一步加深对课程内容的理解,运用所学知识和所掌握的分析与设计的方法,完成一个较完整的面向对象程序设计,在此基础上利用Java语言对其进行实现,实现一个功能较为完善、界面友好、操作性强的应用程序,使学生们真正地锻炼了设计和编程能力。 2.课程设计的主要内容及要求 要求参加课程设计的学生们要重新认真复习面向对象程序设计的理论知识和技能,熟练掌握Java编程工具,灵活运用所学理论知识和技能应用于该项目的设计与开发中,加深理解面向对象程序设计的编程技巧和方法。具体要求如下: 1.成立项目开发小组并选举项目组长。 2.根据设计要求小组选定设计题目。 3.每天要求项目组长要至少组织召开一次会议,总结、汇报和布置任务。 4.每次会议要求保留会议记录并存档。 5.发挥团队合作精神共同完成如下内容: (1) 开发背景 (2) 系统分析 (3) 系统设计 (4) 代码实现 6.组长要根据能力合理地分配任务,每个组员都要积极参与每项工作。 7.组长要对每个组员进行公正客观地评价。 8.要求项目组共同对课程设计成果进行装订成册。 3.对设计说明书撰写内容、格式、字数的要求 1.课程设计说明书(论文)是体现和总结课程设计成果的载体,要求认真完成。 2.所有文档撰写格式均要求参照《沈阳工程学院毕业设计(论文)撰写规范》执行。 3.给定模板中的文字字体、大小、格式、页眉页脚等各种设置不可随意改变。 4.课程设计说明书(论文)应严格按着装订顺序进行装订,顺序如下: ⑴课程设计封面 ⑵任务书 ⑶成绩评定表 ⑷课程设计报告书 报告封面

c语言课程设计报告学生成绩信息管理系统源代码

实验报告 一、问题陈述及其需求分析 (一)问题陈述 学生信息管理系统是对学生信息的基本管理,其中包括以下及模块: (1)增加一个学生的信息(需输入要增加学生的所有信息); (2)统计本班学生总人数及男女生人数。 (3)分别按照学号查找学生的信息;若找到则输出该学生全部信息,否则输出查找不到的提示信息。 (4)按学号对所有学生信息排序,并输出结果; (5)删除一个学生的信息(需指定要删除学生的学号);同时显示删除后的结果。( 二) 功能需求分析 学生信息管理系统设计 学生信息包括:学号,姓名,性别,出生年月,电话 使之提供以下功能: 1、系统以菜单方式工作 2、建立链表并显示 3、插入新的学生信息 4、删除某学号的学生信息 5、查找某学号的学生信息 6、对学生信息排序 7、统计学生人数 8、输出学生信息 二总体设计 (一)模块 依据程序的数据结构,描述该程序的层次结构,如下图:

1、建立链表并显示 void createlist(struct stucode **r); 2、插入新的学生信息 void insert(struct stucode **r); 3、删除某学号的学生信息 void del(struct stucode **r); 4、查找某学号的学生信息 void search1(struct stucode *r); 5、对学生信息排序 void sort(struct stucode **r); 6、统计学生人数 void search2(struct stucode *r); 7、输出学生信息 void out(struct stucode *r); 1 建立链表并显示 2 添加学生信息 3 删除学生信息 息 4 按学号查找学生信 5 对学生信息排序 6统计学生人数 7输出学员信息 8 学生信息写入文件 0退出 main() 菜单函数

华中科技大学计算机学院C语言课设实验报告

华中科技大学计算机科学与技术学院 《C语言程序设计》课程设计 实验报告 题目:科研项目信息管理系统 专业:计算机 班级: 学号: 姓名: 成绩: 指导教师:李开 完成日期:2009年10 月20 日

科研项目信息管理系统一、系统功能结构模块图 二、数据结构设计及其用法说明 typedef struct lakey{ char name[30];/*团队名称*/ int total;/*自然科学基金的科研项目数*/ float dudu;/*经费数*/ struct lakey *next; }*plakey;/*统计3中用到的数据结构*/ typedef struct emmey{ char name[30];/*团队名称*/ int teacher;/*老师人数*/ int harden;/*项目数*/ float bizhi;/*比值*/ struct emmey *next; }*pemmey;/*统计4中用到的数据结构*/ typedef struct kPro{ char code[15];/*项目编号*/ char sort;/*项目种类*/ int aking1; char time[8];/*项目时间*/ float dudu;/*项目经费*/ int aking2;

char beiler[15];/*负责人*/ int aking3; char keynoName[30];/*所在团队名称*/ struct kPro *next; }harden,*pHarden; typedef struct Komo{ int teacher;/*老师人数*/ char name[20];/*院系名称*/ int student;/*学生人数*/ float bizhi;/*二者比值*/ struct Komo *next; }*pKomo;/*统计1中用到的数据结构,统计结果放在这个数据结构中*/ typedef struct kTea{ char name[30];/*团队名称*/ char beiler[15];/*负责人*/ int stuNum;/*学生人数*/ int aking2; int coco;/*老师人数*/ char colName[20];/*所在院系的名称*/ int aking1; struct kTea *next; pHarden child; }keyno,*pKeyno; typedef struct edward{ char name[20];/*院系名称*/ int totalnum;/*项目总数*/ int num973;/*973项目数*/ int num863;/*863项目数*/ float amount;/*经费数*/ struct edward *next; }*pedward;/*统计2中用到的数据结构*/ typedef struct kCol{ char name[20];/*院系名称*/ int aking; char beiler[15];/*院系负责人*/ struct kCol *next; char call[15];/*负责人电话号码*/ pKeyno child; }kekey,*pKekey;

学生信息管理系统(C++)

信息科学与工程学院 C++课程设计报告起止日期: 2013年 06月 17 日至 2013 年 07 月 05 日 学生姓名 班级电气信息类 学号 指导教师 2013年07月03号 目录 1引言 (3)

1.1 课题背景及意义 (3) 1.2 课程设计的目的及内容 (4) 2系统需求分析 (5) 2.1 功能需求分析 (5) 2.2 系统总体结构设计 (5) 3详细设计 (6) 3.1 数据结构设计 (6) 3.2系统函数的组成、功能、参数说明、相互调用关系 8 4设计测试流程 (10) 5课程设计总结 (17) 参考文献 (17) 附录 (17) 1引言 为方便对学生成绩进行高效的管理,编写该程序以提高学生成绩管理

效率。使用该程序之后,学校管理者可以查询某位学生、某个科目的成绩情况,还可以对学生成绩进行排名,对学生的数据进行修改和删除,其中排名包括总分排名和各个科目的排名,学生可以更具自己的个人信息进行成绩查询,查询结果包括各个科目的分数、总分和平均分。通过本系统可以很好的掌握学生成绩的分布,减轻管理人员的负担,也使学生的成绩和信息长时期的保留。 1.1 课题背景及意义 一直以来人们使用传统的人工方式管理学生成绩,在计算机尚未在学校广泛使用之前,学生成绩管理主要依靠手工。一个最典型的手工处理过程就是:当考试完后,老师就要把学生成绩登记到文档中,当老师或学生要查询成绩的时候要一个一个去找,总分、平均分都需要一个一个累加起来算,很麻烦,不过最麻烦的还是排名,不能一目了然。 以上所描述的手工过程的不足之处显而易见,首先处理学生成绩的效率很低,其次处理能力比较低,一段时间内,所能服务的读者人数是有限的。利用计算机来处理这些流程无疑会极大程度地提高效率和处理能力。我们很清晰的看到自己的各个科目成绩和每个科目的排名和总分排名以及所有学生的成绩分布,而且还是零失误,所有的都是一目了然。极大的方便了学生和老师。为提高成绩管理效率,管理人员的工作负担,有必要开发一个小型成绩管理系统来对学生成绩实施有效管理。 1.2 课程设计的目的及内容 目的: 1、使学生进一步理解和掌握课堂上所学各种基本抽象数据类型的逻辑结构、存储结构 和操作实现算法,以及它们在程序中的使用方法;

c语言课程设计报告

C语言程序设计B 课程设计报告 设计题目:学生成绩管理系统年级班级: 学号: 姓名: 指导教师: 2020 年 6 月 18 日

目录 一、设计目的 (3) 二、课程设计内容和要求 (4) 三、总体设计 (5) 四、主要步骤 (12) 五、功能实现 (13) 六、功能测试 (64) 七、评价程序 (83) 八、课程设计体会 (84)

一、设计目的 程序设计能力是当代理工类大学生的必备能力,当学生学习了C语言之后,编程能力远远不能达到开发实际应用程序的要求,特备是对其中的指针、结构体、链表和文件部分的理解和应用都比较弱。 程序设计的目的是通过对面向过程的学习,将C语言的主要知识点进行综合,针对提高学生C语言程序设计能力,强化编写较大的应用软件能力,熟练运用已掌握的知识解决实际需要解决的问题,以达到更加熟知指针、链表、结构体、文件读取、标准库的使用。 主要目的为以下几点: 1、熟练掌握面向过程(结构化)程序设计基本知识; 2、综合运用所学知识解决实际问题; 3、受到面向过程(结构化)程序设计的基本训练; 4、体会面向过程(结构化)开发程序的过程。

二、课程设计内容和要求 1.课程设计内容: 学生通过使用C语言进行编写算法,开发学生成绩管理系统,以实现对学生成绩的管理。 2.课程设计要求 1)具有菜单,可以在菜单上进行选择; 2)能实现学生数据录入、修改、删除、查询; 3)能实现数据排序; 4)有数据输出功能; 5)有数据读取与存储功能; 6)一个学生的数据(称为:每条记录)包含姓名、学号、语文、数 学、英语、总分、名次等信息; 7)以结构方式存储每条记录; 8)多条记录以链表方式存储到内存; 9)随时可将全部数据存储到磁盘文件中,方便下次从磁盘读取数据。

Java课程设计实验报告及全部源码流程图

课程设计 一、实验目的 1.加深对课堂讲授内容的理解,掌握解决实际应用问题时所应具有的查阅资料、技术标准和规范,以及软件编程、调试等能力,掌握面向对象的编程思想及Java语言程序设计的规律与技巧,为进一步学习web应用开发及今后从事专业工作打下基础。 2. 使用本学期学习的Java SE技术(也可以使用课堂教学中没有学习过的Java技术,但是应当以Java SE技术为主)完成多功能日历GUI程序的设计,使之具有如下基本功能:一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。 3.在完成基本功能的基础上发挥自己的想象力与创造力,使程序凸显出与众不同的特点与功能,形成本小组的特性色。 二、实验要求 1.问题描述准确、规范。 2.程序结构合理,调试数据准确、有代表性.。 3.界面布局整齐,人机交互方便。 4.输出结果正确。 5.正确撰写实验报告。 三、实验内容 编写一个GUI程序实现日历的功能。一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期以及当前农历,可以为每页日历选择背景图片。可以实现显示时钟,时钟能进行整点报

时。可以实现备忘记事功能,能在每天添加、修改、删除记事等操作。 四、实验步骤 1.在上机实验前,小组成员进行选题讨论,确定小组感兴趣而又伸缩性强的题目多功能日历。 2.在第一次上机实验时讨论分工,分工明确之后,分头合作进行。 3.各成员完成自己的任务后,最后进行统筹合并,以及程序最后的优化。 4. 根据实验结果,写出合肥工业大学实验报告。实验报告应当包括:实验内容,程序流程图,类结构,程序清单,运行结果,以及通过上机取得的经验。 5.详细的上机实验步骤见任务分工及程序设计进度表。 五、实验结果 经过小组成员的共同努力,最终我们小组设计的多功能日历程序能够实现实验的基本要求——一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。另外,在完成基本要求的基础上,我们增添了显示农历、显示时钟、添加备忘录、修改备忘录等功能。整体程序运行流畅、功能齐全、符合操作习惯。 下面是程序运行效果截图: 日历主界面(可以实现每个月的日历,可以按年或按月前后翻动,能够显示当前日期,并能够选择背景图片):

学生信息管理系统

学生信息管理系统 1.系统设计 1.1系统功能分析 本系统主要功能是收集学生的个人信息,以便向教师提供每个学生在校的情况.系统主要功能有: 学生个人信息输入,包括:学号,姓名,性别,院系,生日,籍贯,生源所在地等. 学生流动情况的输入,包括:转系,休学,复学,退学,毕业. 奖惩情况的输入 学生个人信息查询和修改,包括流动情况和奖惩情况 系统功能模块设计 1.2.1基础设置:基础设置模块主要进行对学校的一些基本设定,如系别、系别和班级的编辑,这是学生管理系统的基础。 *系别设置: 系别设置: 操作方式: 请在该界面中录入:系别代码、系别名称和说明,点击“保存”按钮进行保存,然后点击“退出”按钮即可。 2、系别修改:进行主界面后,执行“基础设置”→“系别设置”→“系别修改”,进入系别修改界面。在其界面中直接修改后点击“保存”按钮即可。 3、系别删除:进行主界面后,执行“基础设置”→“系别设置”→“系别删除”,进入系别删除界面。在其界面中直接修改后点击“删除”按钮即可。

4、系别查看:进行主界面后,执行“基础设置”→“系别设置”→“系别查看”,进入系别查看界面。注意,查看界面中所有记录是不能编辑的。 *专业设置 操作方式: 请在该界面中录入:专业代码、专业名称、所属系别和说明,点击“保存”按钮进行保存,然后点击“退出”按钮即可。 专业增加 专业修改: 专业删除: 专业查看: *班级设置:班级代码、班级名称、所属系别、所属专业、班辅导员和简要说明 功能概述: 《通用高校学生管理系统》基础设置模块主要进行对学校的一些基本设定,如班级、班级和班级的编辑,这是学生管理系统的基础。 年级设置 班级设置: 1、班级增加: 2、班级修改: 3、班级删除: 4、班级查看: 1.2.2学生管理 学生档案管理 1、在校学生资料增加:进行主界面后,执行“学生管理”→“学生档案管理”→“学 生资料增加”,进入学生资料录入界面,如下图:

学生信息管理系统毕业设计论文

学生信息管理系统毕 业设计论文 Revised on November 25, 2020

–––––––––––––––––摘要––––––––––––––––– 学生信息管理系统是典型的信息管理系统 (MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。 经过分析,我们使用MICROSOFT公司的VISUAL BASIC开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。 关键字:控件、窗体、域、数据库。 –––––––––––––––––前言––––––––––––––––– 随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。面对庞大的信息量需要有学生管理系统来提高学生管理工作的效率。通过这样的系统可以做到信息的规范管理、科学统计和快速查询、修改、增加、删除等,从而减少管理方面的工作量。 本系统主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日常管理,如查询、修改、增加、删除,另外还考虑到学生选课,针对这些要求设计了学生信息管理系统本系统主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日

常管理,如查询、修改、增加、删除,另外还考虑到学生选课,针对这些要求设计了学生信息管理系统。 本系统主要包括学生信息查询、教务信息维护和学生选课三部分。其功能主要有: ⒈有关学籍等信息的输入,包括输入学生基本信息、所在班级、所学课程和成绩等。 ⒉学生信息的查询,包括查询学生基本信息、所在班级、已学课程和成绩等。 ⒊学生信息的修改。 ⒋班级管理信息的输入,包括输入班级设置、年级信息等。 ⒌班级管理信息的查询。 ⒍班级管理信息的修改。 ⒎学生课程的设置和修改。 目录 前言 第一章Visual Basic 概述 1.1Visual Basic 语言的特点 1.2Visual Basic 系统几个程序应用中的常用名词 第二章Windows 下的Visual Basic 编程环境简介 面对对象的编程 实现菜单选项

C语言课程设计报告-模板

C语言课程设计报告 班级:16 物联网 一、题目说明 (1)读取输入信息,能正确进行数字运算

(2)拥有记忆功能,可查询最近几次计算结果并继续进行数字运算。 二、基本功能实现 (1)能实现两个数之间的加减,乘,除,乘方,开方等运算。 (2)实现记忆功能,可保留近十位结果,可用#键查看。(3)*键作为清0键,清除当前屏幕上的值为0表示重新开三、设计流程(可以画流程图,可以直接写说明)

四、代码 #include #include #include #include double yunsuan(double a, char operate, double b); //处理数值之间的运算void PutRes(double array[], double res, int *i); //保存该次运算结果 int main() { char str[40]; double a = 0; double b = 0; double res = 0; double history[10] = {0,0,0}; char opt; int i = 0; printf("欢迎进入计算功能(eg: 1 \n+ 1 ; '#':查询历史结果; 'q':退出程序)·\n"); while(1){

fgets(str,40,stdin); //将从键盘的一整行标准输入保存在字符串str中 if(sscanf(str,"%lf", &a) == 1){ //将str以长浮点型的格式放入a中,如果返回值为1,说明输入的是数值, scanf("%c %lf", &opt, &b); //获取操作符的值和另外一个操作数的值 res = yunsuan(a,opt,b); //调用yunsuan()函数计算,并将结果给res printf("%lf %c %lf = %lf\n\n",a, opt, b, res); PutRes(history, res, &i); //调用函数PutRes()将本次结果保存到数组history中(i用引用传递) // printf("%d\n", i); }else if(sscanf(str,"%c",&opt) == 1){ //将str以字符型的格式放入opt中,如果返回值为1,说明输入的是字符 if(opt == '#'){ //如果opt为‘#’,则显示history 中的数值 int j = 0; for(j = 0; j < i; ++j){ //i为history中存放的数值个数 printf(" %lf ", history[j]); } printf("\n");

c语言程序学生籍贯信息记录簿设计

学生籍贯信息记录簿 课程设计报告书 学生籍贯信息记录簿设计 班级:方0909-1 学号:20096401 姓名:苑小叶 指导教师:康亚男 石家庄铁道大学四方学院 2010年07月14日 1

课程设计报告内容 1.选择题目 题目:学生籍贯信息记录簿设计 2.内容摘要 摘要: 学生籍贯信息管理系统是典型的信息管理系统,根据开发要求,主要完成对学生姓名、学号、籍贯等管理。随着学校办学规模的不断扩大、办学层次的多样化、在校生的不断增多。开发这系统可以是教务处老师减轻工作压力,比较系统的对学生进行管理,加快速度、加强管理,使各项管理更加规范化。 本系统管理内容广泛,全面涉及管理学生资料信息的管理。 3.索引关键词 关键词:学生籍贯管理,结构体,循环,函数

4.目录 目录 1题目要求 (4) 2设计思想 (4) 3系统完成及功能 (4) 4界面设计 (5) 5正文 (5) 6结论 (14) 7参考资料 (14) 8后记 (15) 9附录 (15) 3

5.正文 1.1课程设计题目要求 1. 要求利用C语言面向过程的编程思想来完成系统的设计; 2. 突出C语言的函数特征,以多个函数实现每一个子功能; 3. 画出功能模块图; 4. 进行简单界面设计,能够实现友好的交互; 5. 具有清晰的程序流程图和数据结构的详细定义; 6. 熟练掌握C语言对文件的各种操作。 2.1设计思想 程序运用结构体数组和循环进行程序的编写. 3.1系统完成功能及功能框图 1每条记录包括一个学生学号、姓名、籍贯。 2输入功能:可以一次完成无数条记录的输入。 3显示功能:完成全部学生记录的显示。 4查找功能:完成按姓名、学号查找学生记录,并显示。 5修改功能:通过查找学生姓名、学号,修改学生记录。 6保存功能:将学生记录保存到任何自定义的文件中。 7读取功能:将保存到文件中的学生记录读取出来。 8应提供一个界面来调用各个功能,调用界面和功能的操作界面应尽可能清晰美观。 4

学生信息管理系统(完整)

学生信息管理系统(总体设计) 1、管理系统功能模块设计 本系统需要完成的功能主要有: (1)、输入学生基本信息、所在班级、所学课程和成绩等。 (2)、学生信息的查询,包括查询学生基本信息、所在班级、已学课程和成绩等。(3)、学生信息的修改。 (4)、班级信息的输入,包括输入班级设置、年级信息等。 (5)、班级信息的查询。 (6)、班级信息的修改。 (7)、班级课程信息的输入。 (8)、班级课程信息的修改。 (9)、学生课程添加和修改。 (10)、学生成绩信息的输入。 (11)、学生成绩信息的修改。 (12)、学生成绩信息的查询。 (13)、学生成绩信息的统计。 2、功能模块设计:

3、数据库设计:

学生信息管理系统(需求分析)

1.系统开发背景分析 系统的功能取决开用户的需求。随着科技进步和信息时代的到来,教育的普及程度起来起高,学校的人数也在迅速的增长,怎样的管理好成千上万的学生,已经成为一个学校的管理者必须面对的问题。编写本报告的目的就是用最少的代价,尽可能短的时间内确定问题是否能够解决,通过对学校的一些管理软件的调研分析,发现了一些不足,所以拟做此系统,使学生信息的管理更加准确,安全和快捷。 在本次试验中包括的模块有学生信息管理、课程信息管理、成绩信息管理和班级信息管理等几项,各项管理工作涉及到的内容用下面的关系模式表示。a)学生(学号,姓名,性别,年龄,班级,电话,备注,出生日期,入学时间, 班级编号,家庭地址) b)课程(课程编号,课程名称,课程类别,学分,学时) c)班级(系,班级号,指导老师) 2.系统分析 1.抽象出当前系统的逻辑模型 画出反映当前系统工作的数据流程图。数据流程图是逻辑模型的图形表示,即使不是专业的计算机技术人员也能非常容易理解,它是一种很好的系统构造的表示方法。画数据流程图是应该从已获得的人工处理流程中去掉物理因素,只保留数据、信息处理部分。 2.系统功能分析 系统主要用于学校学生信息管理,主要任务是用计算机对学生各种信息进行日常管理,如:查询、修改、增加、删除。 3.系统目标设计 根据本校的实际情况,利用校园网而设计一套针对性和功能都比较强的学生信息管理系统,对学生信息管理系统进行科学的分类、录入、查询. 4.开发设计思想 尽量采用学校现有的软硬件环境及先进的管理系统开发方案,从而达到充分利用资源,提高系统开发的水平和应用效果的目的。系统应该符合学校学生信息管理的规定,满足学校学生日常管理的需要,达到操作过程中的直观、方便、实用、安全等要求。强调多部门合作,学生工作设计面广泛,应该考虑各部门各

c语言课程设计报告书

课程设计报告书 所属课程:c语言 项目:库函数模拟系统 指导老师:邹姝稚 班级:软件1401 姓名:江闯 学号:141403107 分数:

1.任务描述: 本系统开发的代码模拟了下列库函数的功能: (1).模拟gets和puts的功能:能接收一个字符串,将其写入ASCII文件,并且可以读出显示。 (2).在不使用字符串库函数的条件下,编程实现字符串的拷贝,连接,求长,倒置功能。 (3).字符串加密功能:将一段明文建立到一个ASCII文件中,按加密的算法加密后写入密文文件,最终实现将明文和密文文件都显示出来。 (4).编程实现字符串与对应数字的相互转换功能。 2.总体设计: 模块调用图: 图1

函数调用图: 图2 函数功能: (1)函数gp( ):模拟gets和puts的功能 (2)函数kaobei( ):实现字符串的拷贝 (3)函数lianjie( ):实现字符串的连接 (4)函数qiuchang( ):实现字符串的求长 (5)函数daozhi( ):实现字符串的倒置 (6)函数jiami( ):实现字符串的加密功能,最后将明文和密文文件都显示出来 (7)函数zhuanhuan1( ):将数字字符串转换为对应的数字 (8)函数zhuanhuan2( ):将数字转换为对应的数字字符串 3.详细设计: (1).模仿gets和puts功能: gets和puts功能与scanf和printf函数的功能相似,但是也不是完全相同,本系统模拟功能的程序总共运用了两次函数调用技术,模拟gets运用了一次,模拟puts运用了一次。 (2)..字符串的拷贝功能: 字符串的拷贝功能程序设计源于strcpy的功能,其中运用了字符串数组和指针的相关技术,还运用了一组while语句,实现语句的循环,从而将一个字符串拷贝到一个空数组中。

学生籍贯信息记录簿系统课程设计报告

C语言课程设计 学生籍贯信息记录簿系统 院(系)别 班级 学号 姓名 指导教师 时间2010-6-12—2008-6-24 课程设计任务书

题目学生籍贯信息记录簿考试系统 系(部) 专业 班级 学生姓名 学号 6 月12 日至 6 月24 日共 2 周 指导教师(签字) 系主任(签字) 年月日

一、设计内容及要求 二、设计原始资料 三、设计完成后提交的文件和图表1.计算说明书部分 数据库设计分析

2.图纸部分: 程序流程图 四、进程安排 五、主要参考资料

成绩评定表 口试(答辩)成绩报告成绩总评成绩

摘要 这次程序设计,我选择的是设计学生籍贯信息记录簿系统的程序,之所以选择要设计这个程序首先因为我自己认为这个程序非常实用,虽然说老师给我们的每一个程序都很实用,但是在平时籍贯信息比较常用。其次,通过向信息的同学了解,建立这个程序有一个方法就是利用链表,而我们的C语言课还没有学到这一步呢,我自己觉得挺有挑战性的,就打算在同学的帮助下编写这个程序了。 其实,刚拿到这个题目,真的没有什么头绪,但是在同学的帮助下,通过自己看课本,通过上网查资料,通过向老师询问,根据自己制定的进程安排,我还是完成了任务。 通过为期一周的课程设计,我对编程有了更加深刻的认识,也让我学到了一些关于用指针处理链表的知识,增强了自己的动手操作能力。这一周的课程设计,让我对以前学过的知识有了一个更好的巩固,同时也增加了我的新的知识,使我受益匪浅,也让我对Visual C++ 6.0有了进一步的了解,而且,在编程过程中我也学到了许多的东西,也让我明白了一个道理:不管做什么事情,态度是最重要的。 关键字:学生籍贯信息记录簿,链表,指针

相关主题
文本预览
相关文档 最新文档