搜档网
当前位置:搜档网 › C语言课程设计-学生信息管理系统

C语言课程设计-学生信息管理系统

南京工程学院

课程设计说明书(论文)

题目学生信息管理系统

课程名称高级语言程序设计(C)

院(系、部、中心)通信工程学院

专业电子信息工程

班级电信082

学生姓名***

学号**

设计地点****

指导教师** ______

目录

一、课程设计任务。。。。。。。。。。。。。。2

二、系统设计方案。。。。。。。。。。。。。。。2

三、数据结构描述与定义。。。。。。。。。。。2

四、程序主要代码分析... 。。。。。。。。。。。2

五、测试结果与分析。。。。。。。。。。。。。2

六、课程设计总结。。。。。。。。。。。。。。2

七、参考文献:。。。。。。。。。。。。。。。。2

一、课程设计任务

(一)前言

本课程是继《高级语言程序设计(C)》课程之后,训练学生综合运用本课程知识,结合实际系统运用C语言进行系统设计以及调试,加深对本课程的理解,提高学生综合应用知识的能力、分析问题、解决问题的能力和利用C语言进行综合系统设计的实践技能。

学C语言程序设计已有1学期了,对C语言的基本概念和常用算法也有了一定的了解,平时虽然也做过一些练习,也看了不少程序从而掌握一定的语法知识和编程经验。但是对于有些功能强大的软件还是没有尝试过能否编得起来。所以决定在所学知识的基础上,再加以拓展,利用4个半天时间编个主题明确、具有一定使用价值的中小程序,以提高自身的编程水平与上机调试技能。

(二)课程设计题目及要求

学生信息管理系统设计:

学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail 等。试设计一学生信息管理系统,使之能提供以功能:

系统以菜单方式工作

学生信息录入功能(学生信息用文件保存)----输入

学生信息浏览功能----输出

查询、排序功能----算法

按学号查询、按姓名查询

学生信息的删除与修改

二、系统设计方案

(一)总体框架图:

学生管理系统:1、录入学生信息

2、修改学生信息

3、查询学生信息

4、浏览学生信息

5、增加学生信息

6、推出信息系统

(二)模块设计

模块一:头文件,变量定义,函数的声明

对系统所使用的变量进行定义,对函数进行声明模块二:学生信息系统使用帮助

声明函数void help(),对整个系统进行使用说明模块三:录入学生信息

声明函数void readfile(),说明一个文件指针FILE *fp 打开

文件"student.txt"

模块四:学生信息的查找

声明void seek()为查找函数,通过switch(item)设定用学号查

找,用姓名查找两个分支

模块五:学生信息的修改

声明void modify()为学生信息修改函数,通过switch(item)

设定所要修改的项目

模块六:学生信息按学号排序

声明void sort()将录入学生系按升序排列,用的是“冒泡排序

法”实现排序

模块七:增加学生信息

声明void insert()插入学生信息,先通过判断学生是否存在,

若否则继续输入,若是跳出,重新循环

模块八:删除学生信息

声明void del()实现学生信息删除,通过学号对比确定要删除

的信息,然后用后一个替换掉。

模块九:显示学生信息

通过display()函数输出学生信息

模块十:保存信息

通过fp=fopen("student.txt","w");写入信息

模块十一:界面菜单

通过switch(num)调用,以上各函数,实现功能

三、数据结构描述与定义

(一)结构体:

“结构体名”用作结构体类型的标志,它又称“结构体标记”。声明一个结构体类型的一般形式为:

Struct结构体名

{成员表列};

大括弧内是该结构体中的各个成员,由它们组成一个结构体。对各成员都应进行类型声明,即

类型名成员名

也可以把“成员表列”称为“域表”。每一个成员也称为结构体中的一个域。

成员名定名规与变量名同。

(二)结构体数组:

一个结构体变量中可以存放一组数据(如本程序中一个学生的学号、姓名、成绩等)。因为程序中需存放若干个学生的信息,这些数据需要参加运算,就得运用数组即结构体数组。结构体数组的每个数组元素都是一个结构体类型的数据,它们分别包括各个成员(分量)项。

四、程序主要代码分析

#include /*I/O函数*/

#include /*其它说明*/

#include /*字符串函数*/

#define BUFLEN 100 /* 缓冲区最大字符数*/

#define LEN 15 /* 学号和姓名最大字符数,实际请更改*/

#define N 100 /* 最大学生人数,实际请更改*/

struct record /*结构体*/

{

char code[LEN+1]; /* 学号*/

char name[LEN+1]; /* 姓名*/

int age; /* 年龄*/

char sex[3]; /* 性别*/

char time[LEN+1]; /* 出生年月*/

char add[30]; /* 家庭地址*/

char tel[LEN+1]; /* 电话号码*/

char mail[30]; /* 电子邮件地址*/

}stu[N];

int k=1,n,m; /* 定义全局变量*/

void readfile();/* 函数声明*/

void seek();

void modify();

void insert();

void del();

void display();

void save();

void menu();

int main()

{

while(k)

menu();

system("pause");

return 0;

}

void help()

{

printf("\n0.欢迎使用系统帮助!\n");

printf("\n1.进入系统后,先刷新学生信息,再查询;\n");

printf("\n2.按照菜单提示键入数字代号;\n");

printf("\n3.增加学生信息后,切记保存按7;\n");

printf("\n4.谢谢您的使用!\n");

}

void readfile()/* 建立信息*/

{

char *p="student.txt";

FILE *fp;

int i=0;

if ((fp=fopen("student.txt","r"))==NULL)

{

printf("Open file %s error! Strike any key to exit!",p);

system("pause");

exit(0);

}

while(fscanf(fp,"%s %s%d%s %s %s %s %s",stu[i].code,stu[i].name,&stu[i].age, stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail)==8)

{

i++;

i=i;

}

fclose(fp);

n=i;

printf("录入完毕!\n");

}

void seek() /*查找*/

{

int i,item,flag;

char s1[21]; /* 以姓名和学号最长长度+1为准*/

printf("------------------\n");

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

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

printf("-----3.退出本菜单-----\n");

printf("------------------\n");

while(1)

{

printf("请选择子菜单编号:");

scanf("%d",&item);

flag=0;

switch(item)

{

case 1:

printf("请输入要查询的学生的学号:\n");

scanf("%s",s1);

for(i=0;i

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

{

flag=1;

printf("学生学号学生姓名年龄性别出生年月地址电话E-mail\n"); printf("--------------------------------------------------------------------\n");

printf("%6s %7s %6d %5s %9s %8s %10s %14s\n",stu[i].code,stu[i].name,stu[i].a ge,

stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail);

}

if(flag==0)

printf("该学号不存在!\n"); break;

case 2:

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

scanf("%s",s1);

for(i=0;i

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

{

flag=1;

printf("学生学号学生姓名年龄性别出生年月地址电话E-mail\n"); printf("--------------------------------------------------------------------\n");

printf("%6s %7s %6d %5s %9s %8s %10s %14s\n",stu[i].code,stu[i].name,stu[i].a ge,

stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail);

}

if(flag==0)

printf("该姓名不存在!\n"); break;

case 3:return;

default:printf("请在1-3之间选择\n");

}

}

}

void modify() /*修改信息*/

{

int i,item,num;

char sex1[3],s1[LEN+1],s2[LEN+1]; /* 以姓名和学号最长长度+1为准*/

printf("请输入要要修改的学生的学号:\n");

scanf("%s",s1);

for(i=0;i

if(strcmp(stu[i].code,s1)==0) /*比较字符串是否相等*/

num=i;

printf("------------------\n");

printf("1.修改姓名\n");

printf("2.修改年龄\n");

printf("3.修改性别\n");

printf("4.修改出生年月\n");

printf("5.修改地址\n");

printf("6.修改电话号码\n");

printf("7.修改E-mail地址\n");

printf("8.退出本菜单\n");

printf("------------------\n");

while(1)

{

printf("请选择子菜单编号:");

scanf("%d",&item);

switch(item)

{

case 1:

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

scanf("%s",s2);

strcpy(stu[num].name,s2); break; case 2:

printf("请输入新的年龄:\n");

scanf("%d",&stu[num].age);break; case 3:

printf("请输入新的性别:\n");

scanf("%s",sex1);

strcpy(stu[num].sex,sex1); break; case 4:

printf("请输入新的出生年月:\n");

scanf("%s",s2);

strcpy(stu[num].time,s2); break; case 5:

printf("请输入新的地址:\n");

scanf("%s",s2);

strcpy(stu[num].add,s2); break; case 6:

printf("请输入新的电话号码:\n");

scanf("%s",s2);

strcpy(stu[num].tel,s2); break; case 7:

printf("请输入新的E-mail地址:\n"); scanf("%s",s2);

strcpy(stu[num].mail,s2); break;

case 8:return;

default:printf("请在1-8之间选择\n");

}

}

}

void sort()/*按学号排序*/

{

int i,j,*p,*q,s;

char temp[10];

for(i=0;i

{

for(j=n-1;j>i;j--)

if(strcmp(stu[j-1].code,stu[j].code)>0) {

strcpy(temp,stu[j-1].code);

strcpy(stu[j-1].code,stu[j].code); strcpy(stu[j].code,temp);

strcpy(temp,stu[j-1].name);

strcpy(stu[j-1].name,stu[j].name); strcpy(stu[j].name,temp);

strcpy(temp,stu[j-1].sex);

strcpy(stu[j-1].sex,stu[j].sex);

strcpy(stu[j].sex,temp);

strcpy(temp,stu[j-1].time);

strcpy(stu[j-1].time,stu[j].time); strcpy(stu[j].time,temp);

strcpy(temp,stu[j-1].add);

strcpy(stu[j-1].add,stu[j].add);

strcpy(stu[j].add,temp);

strcpy(temp,stu[j-1].tel);

strcpy(stu[j-1].tel,stu[j].tel);

strcpy(stu[j].tel,temp);

strcpy(temp,stu[j-1].mail);

strcpy(stu[j-1].mail,stu[j].mail);

strcpy(stu[j].mail,temp);

p=&stu[j-1].age;

q=&stu[j].age;

s=*q;

*q=*p;

*p=s;

}

}

}

void insert() /*插入函数*/

{

int i=n,j,flag;

printf("请输入待增加的学生数:\n");

scanf("%d",&m);

do

{

flag=1;

while(flag)

{

flag=0;

printf("请输入第%d 个学生的学号:\n",i+1);

scanf("%s",stu[i].code);

for(j=0;j

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

{

printf("已有该学号,请检查后重新录入!\n");

flag=1;

break; /*如有重复立即退出该层循环,提高判断速度*/

}

}

printf("请输入第%d 个学生的姓名:\n",i+1);

scanf("%s",stu[i].name);

printf("请输入第%d 个学生的年龄:\n",i+1);

scanf("%d",&stu[i].age);

printf("请输入第%d 个学生的性别:\n",i+1);

scanf("%s",stu[i].sex);

printf("请输入第%d 个学生的出生年月:(格式:年.月)\n",i+1); scanf("%s",stu[i].time);

printf("请输入第%d 个学生的地址:\n",i+1);

scanf("%s",stu[i].add);

printf("请输入第%d 个学生的电话:\n",i+1);

scanf("%s",stu[i].tel);

printf("请输入第%d 个学生的E-mail:\n",i+1);

scanf("%s",stu[i].mail);

if(flag==0)

{

i=i;

i++;

}

}

while(i

n+=m;

printf("录入完毕!\n\n");

sort();

}

void del()

{

int i,j,flag=0;

char s1[LEN+1];

printf("请输入要删除学生的学号:\n");

scanf("%s",s1);

for(i=0;i

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

{

flag=1;

for(j=i;j

stu[j]=stu[j+1];

}

if(flag==0)

printf("该学号不存在!\n");

if(flag==1)

{

printf("删除成功,显示结果请选择菜单6\n");

n--;

}

}

void display()

{

int i;

printf("所有学生的信息为:\n");

printf("学生学号学生姓名年龄性别出生年月地址电

话E-mail\n");

printf("--------------------------------------------------------------------\n");

for(i=0;i

{

printf("%6s %7s %5d %5s %9s %8s %10s %14s\n",stu[i].co de,stu[i].name,stu[i].age,

stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail);

}

}

void save()

{

int i;

FILE *fp;

fp=fopen("student.txt","w"); /*写入*/

for(i=0;i

{

fprintf(fp,"%s %s %d %s %s %s %s %s\n",stu[i].code,stu[i]. name,stu[i].age,

stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail);

}

fclose(fp);

}

void menu()/* 界面*/

{

int num;

printf(" \n\n 电信082学生信息管理系统\n\n");

printf(" ***************** \n\n");

printf(" * 制作人:顾加楠* \n \n");

printf(" ***************** \n\n");

printf("*********************系统功能菜单

************************ \n");

printf("友情提醒:查询前请先刷新系统!\n");

printf(" ---------------------- ---------------------- \n");

printf(" ****************************************** *** \n");

printf(" * 0.系统帮助及说明* * 1.刷新学生信息* \n"); printf(" ****************************************** *** \n");

printf(" * 2.查询学生信息* * 3.修改学生信息* \n"); printf(" ****************************************** *** \n");

printf(" * 4.增加学生信息* * 5.按学号删除信息* \n"); printf(" ****************************************** *** \n");

printf(" * 6.显示当前信息* * 7.保存当前学生信息* \n"); printf(" **********************

********************** \n");

printf(" * 8.退出系统* \n");

printf(" ********************** \n"); printf(" ---------------------- ---------------------- \n");

printf("请选择菜单编号:");

scanf("%d",&num);

switch(num)

{

case 0:help();break;

case 1:readfile();break;

case 2:seek();break;

case 3:modify();break;

case 4:insert();break;

case 5:del();break;

case 6:display();break;

case 7:save();break;

case 8:k=0;break;

default:printf("请在0-8之间选择\n"); }

}

C语言程序课程设计任务书

《C语言程序设计》课程设计任务书 对象:17楼宇智能化技术专业 一、课程设计目的 本课程设计主要是为了进一步提高学生掌握利用C语言语言开发程序的能力,熟悉程序开发的一般流程,及自主学习能力和团队协作能力。 1. 掌握C语言语言基本语法及数据类型; 2. 掌握C语言基本程序结构、数组、函数、指针、文件的使用; 3. 掌握结构化程序设计思想和C语言开发程序基本流程; 4. 具备C语言程序调试能力; 5. 能自主进行知识查阅及分析和解决问题; 6. 能具备良好的团队协作能力和沟通能力。 二、课程设计要求 (一)总体要求 学生必须仔细阅读课程设计书,认真主动完成课设的要求。有问题及时、主动通过各种方式与教师联系沟通。 学生要发挥自主学习的能力,充分利用时间,安排好课设的时间计划,并在课设过程中不断检测自己的计划完成情况,及时的向教师汇报。 本课程设计主要流程是: 分组->选题->进行课程设计->撰写课程设计报告->课程设计答辩->上交资料。 本课程设计成绩组成: 总成绩(100%)=源程序(60%)+课程设计报告(20%)+课程设计答辩(10%)+小组自评分(10%,包括组长评分和个人自评分)

(二)各部分具体要求 1. 分组要求 (1)小组成员1-2人组成,成员自由组合,小组组长由本小组推荐产生; (2)本课程设计实行小组组长负责制,每个成员具体分工由成员共同协商,组长最后决定; (3)课程设计结束后,组长根据每个成员所负责具体任务及是否积极参加等因素进行打分,每个成员分数不能一样; (4)课程设计小组自评表由组长填写,最后由各成员签名,除签名外表格其它内容可打印(A4纸); (5)本课程设计要体现团队合作精神,每个成员分工合理,要及时、定期沟通,组长充分发挥组织协调作用,每个成员要有合作和团队意识。 2. 选题要求 本课程设计选题必须在6月10日之前完成,每个小组可以从推荐设计项目中进行选题,也可以自己自拟设计题目,自拟设计题目要上报设计详细功能,在得到老师的许可后方可开始进行课程设计。 同一个班级每个小组选题不能重复,学习委员汇总全班各组选题,电子档E-mail给老师。 3. 设计内容要求 (1)每个课程设计项目至少包含5个功能模块; (2)设计界面友好,要有菜单界面,数据存放在文件中,数据使用数组、结构体都可以; (3)书写规范,变量及函数命名体现“见名知意”原则;采用锯齿型书写格式,便于阅读; (4)采取模化程序设计,在设计过程中,按功能定义多个不同的函数,通过函数调用实现各功能模块的作用; (5)要求利用结构化程序设计方法以及C的编程思想来完成系统的设计; (6)整个设计必须上机调试通过。 4. 课程设计报告要求 设计报告内容要体现整个课程设计过程,包括:需求分析、总体设计、详细设计、程序运行测试与分析、设计反思。

c语言课程设计机房机位预定系统绝对正确,附源代码

1 设计目的 机房机位预定系统 2 任务概述 20台机器,编号1到20,从早八点到晚八点。两小时一个时间段,每次可预定一个时间段。功能要求: (1)系统以菜单方式工作 (2)查询,根据输入时间,输出机位信息。 (3)机位预定,根据输入的时间查询是否有空机位,若有则预约,若无则提供最近的时间段,另:若用户在非空时间上机,则将用户信息列入等待列表。 (4)退出预定,根据输入的时间,机器号撤销该事件的预定! (5)查询是否有等待信息,若有则提供最优解决方案(等待时间尽量短),若无则显示提示信息。 ......... 3 模块划分 4 主要函数说明及其N-S图 1.主函数: int main() { Menu(); /*当前状态函数*/ } void Menu() /*主界面*/ { int n,w; do { puts("\t\t****************机房机位预约系统*******************\n"); puts("\t\t*************************菜单

***************************\n"); puts("\t\t\t 1.查询某时间段机位状态"); /*查询某时间段机位状态*/ puts("\t\t\t 2.预定空机位"); /*预定空机位*/ puts("\t\t\t 3.取消预订"); /*取消预订*/ puts("\t\t\t 4.查询等待信息"); /*查询等待信息*/ puts("\t\t\t 5.退出"); /*退出*/ puts("\t\t********************************************************\n"); printf("选择菜单号(1-5):"); scanf("%d",&n); if(n<1||n>5) {w=1;getchar();} else w=0; }while(w==1); switch(n) { case 1:Situation();break; case 2:Book();break; case 3:Cancel();break; case 4:SearchWaiting();break; case 5:exit(0);break; } getch(); } 2.机位查询: void Situation() { int time; printf("输在 (8-20)范围内的时间:"); scanf("%d",&time); if(time<8||time>20) {printf("\t时间输入错误!\n"); printf("输入在 (8-20)范围内的时间:"); scanf("%d",&time); } detail(time); /*函数调用*/ getchar(); Menu();} 3.机位预定:

c语言实验心得体会

c语言实验心得体会 篇一:C语言上机实验心得 C语言上机实验心得 在科技高度发展的今天,计算机在人们之中的作用越来越突出。而C语言作为一种计算机的语言,学习它将有助于我们更好的了解计算机,与计算机进行交流,因此,我们一定要学好C语言,这对我们以后的发展是十分重要的。 说到这,上机实验当然就是一个必不可少的环节了,C 语言灵活、简洁的特点,只有通过编程实践才能真正了解,真正说懂。为了更好地学习语法规定、掌握程序设计方法、提高程序开发能力,我们必须实际上机、编写程序。 通过实验我也发现了自己不少的问题,这都是只看书上的程序而没有自己亲身上机编写程序而无法得知的,假如我们只因看熟书上的程序就以为自己已经掌握了C语言那就大错特错了。 我主要存在以下的这些缺点: 1、学习耐心与细心不足,如scanf(“%d”,n);中的“”有时候会忘了。而在最后 输出时又错写成printf(“%d”,n);从而错误得输出了地址而不是我原来想要的答案。 2、编程思想不够发散,看着题目有时想不出解答的方法,更不用说编写程序来解

题了。 3、 4、基本功不够,有些函数的表达不太精通,需要看书来核实,以致耗时较多。知识不够广,有些内容没有学好,不能要用到时及时反映出来,认识程度不够 深刻。 5、 6、有时候不够精简,有一点用处不大或者说没有也可以的文字存在。英语水平较差,对错误的地方虽然电脑有说,但由于是英文,理解上还是存在 一点问题。 为了能更好地学好C语言,在今后学习中我要更多的动脑,综合运用所学,多看相关东西,多上机练习,提高电脑水平,增强自学能力,把已会的东西掌握好。 实验中我深刻意识到完成程序的编写,决不意味着万事大吉。认为万无一失的程序,实际上机运行时可能会出现很多意想不到的问题。有时编译程序检测出一大堆错误,有时程序能够顺利运行,但是运行结果并不是你预期中想要的。因为开发环境所提供的编译系统无法发现程序逻辑错误,或者是你原来所设计时的理论错误,这就只能靠自己的上机经验来分析判断错误的所在了。所以程序的调试是一个技巧性很强的工作,它可能比编一个程序耗时更

C语言课程设计任务书(必备)

《C语言程序设计》课程设计任务书及指导书 计算机科学与信息工程学院 2012年

说明:以下题目每名同学可以选择一个作为设计题目,也可以自己自拟一个题目,但工作量要与此相关不大。 C语言课程设计任务书及指导书1 题目:学院教学信息管理系统 功能:学院教学信息管理系统,每一条记录包括教师的职工号、姓名、职称、性别、3门讲授课程的名称,教学效果综合评分。系统要求实现以下功能: 1、输入:输入每一位教师记录,将其信息写入文件中。 2、显示:显示每位教师记录。 3、排序:按职工号或教学效果综合评分进行排序,并显示。 4、查找:完成按姓名或课程查找教师的相关记录,并显示。 5、保存:将相关数据写入磁盘文件,便于存、取操作。 分步实施: 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数。 2、完成信息的录入和显示(即通过编程创建文件,输入教师信息并可将文件内容显示出来) 3、完成排序功能。 4、完成查找功能(可按职工号、姓名、讲授课程进行查找) 要求:1、用C语言实现程序设计; 2、利用结构体来实现教师信息的处理; 3、系统的各个功能要求用函数实现; 4、界面友好(良好的人机交互),程序必须有注释。 课程设计实验报告要求: 1、预习报告:仔细分析客户需求、进行模块划分、设计每个模块的算法和数据结构。 2、实验总结报告:按照模板的格式。 C语言课程设计任务书及指导书2 题目:酒店房间登记与计费管理系统 功能:1、屏幕上出现一个界面,让操作员能够方便的选择所需要进行的操作,包括登记入住、查询房间的入住情况、查询当前费用、结账退房等操作。 登记入住的信息主要有:客人姓名、房间号、入住时间、计费方式(按天或小时)、单价、押金房间信息:房间号、是否有人入住、房间标准、每天单价、小时单价 2、对不同标准的房间实施不同的收费标准,也可以按天收费或按小时收费,可根据顾客需要 在登记的入住的时候进行选择。 3、在结账退房时,根据入住的时间,计费方式和房间单价计算出总费用。 4、保存:将相关数据写入磁盘文件,便于存、取操作。 分步实施: 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数; 2、完成最低要求:建立房间列表,完成登记入住、查询房间入住情况等功能。 3、进一步要求:完成计费和费用查询功能; 每次登录时读取保存在磁盘文件中的入住情况。要求:1、用C语言实现系统;

c语言课程设计心得体会文档2篇

c语言课程设计心得体会文档2篇C language course design experience document 编订:JinTai College

c语言课程设计心得体会文档2篇 小泰温馨提示:心得体会是指一种读书、实践后所写的感受性文字。语言类读书心得同数学札记相近;体会是指将学习的东西运用到实践中去,通过实践反思学习内容并记录下来的文字,近似于经验总结。本文档根据主题的心得体会内容要求展开说明,具有实践指导意义,便于学习和使用,本文下载后内容可随意修改调整及打印。 本文简要目录如下:【下载该文档后使用Word打开,按住键盘Ctrl键且鼠标单击目录内容即可跳转到对应篇章】 1、篇章1:c语言课程设计心得体会文档 2、篇章2:c语言课程设计的心得体会文档 篇章1:c语言课程设计心得体会文档 在这为期半个月的时间内,通过我们小组各成员之间的相互讨论和合作,我们完成了学生信息管理系统的程序设计,更值得高兴的是我们的程序得到了大家的喜爱,在每次的简报中都得到了较好的成绩。 虽然在上个学期中,我们已经学习了《c 语言程序设计》这门课,但是我所学的知识最多也就是在做作业的时候才会用到,平时没有什么练习的机会,这次的课程设计是我第一次通

过自己构思,和同学讨论并且不断查阅资料来设计一项程序。这次设计,不仅巩固了我以前所学的知识,还让我对c语言有了更深一步的了解,掌握了更多的技巧和技能。 c语言是计算机程序设计的重要理论基础,在我们以后的学习和工作中都有着十分重要的地位。要学好这种语言,仅仅学习课本上的知识是不够的,还要经常自己动手,有较强的实践能力。只有多动手,经常编写程序,才能发现我们学习上的漏洞和自己的不足,并在实践中解决这些问题,不断提高自己转化知识的能力。 在我们小组有解决不了的问题时,我们会主动查阅相关的资料,或向其他同学询问,这不仅丰富了我们的知识,还增进了我们同学之间的友谊。为了增大信息的安全性,需要用文件来存储信息,由于我们在上课时不注重对文件的运用,所以在这方面有较大的困难。我先将书本认认真真地看了一遍,又做了一下课后习题来验证和增进自己的理解,终于,经过我们的不懈努力,我们小组的程序有了突破,成功地实现了用文件来保存并查看学生的信息。 这次设计中,我的收获还有就是学会了用流程图来表达自己的想法,并根据流程图来逐步实现程序的功能。开始的时候,我画流程图很是困难,需要一个多小时才能清楚的根据自

教师信息管理系统(C语言课程设计)

课程设计任务书 计算机科学与技术专业年级班 一、设计题目 教师信息管理系统设计 二、主要容 教师信息包括教师号、、性别、年龄、学历、职称、工资、住址、等(教师号不重复)。试设计一教师信息管理系统,使之能提供以下功能: (1)系统以菜单方式工作 (2)教师信息录入功能--输入 (3)教师信息删除功能 (4)教师信息浏览功能--输出 (5)查询和排序功能:(至少一种查询方式) --算法 按教师号查询 按职称查询等 三、具体要求 围绕课程设计的目的和意义,基本要求如下: 1、认真阅读《C语言课程设计》指导书,明确课程设计的目的、意义和要求; 2、快速总结C程序设计语言的精髓,如:函数的概念、函数的设计和函数的调用;

3、快速熟悉Tuber C 或C++的上机环境。能熟练进行高级编辑操作(特别是字块操作);熟悉步进式、断点跟踪的程序调试方法,提高工作效率。 4、根据“课程设计题目”,采用结构化的程序设计思想,确定系统的总体设计方案、确"定时间进度。如果是多人共一题,则要首先完成小组的人员分工及安排,不允许重题现象。 5.学习并了解良好的程序设计风格。按质、按量、并按时间完成课程设计的任务。 6.提供可运行的课程设计系统,参加上机面试答辩。 本次课程设计的重点是:学会设计并编写函数,掌握好各函数之间的调用关系;利用文件操作函数,建立数据库并完成对数据库的各种操作;掌握几种典型算法的应用(如:冒泡法、选择排序法和折半查找法)。同时锻炼学生根据题目进行分析、设计、编码、调试程序和书写必要文档的综合处理能力,从实践中学习并体会程序设计的结构化思想和设计方法。 四、进度安排 依照教学计划,课程设计时间为3周。按照软件工程的思想,软件系统的分析设计至关重要,并要充分重视书写“文档”。避免甚至杜绝“拿到题目就编码”的现象。建议将时间分为三个阶段: 第一阶段,根据题目要求,拿出系统的总体设计方案:即构思各程序模块的算法,并画出相应的N-S图,同时编写相应的文档; 第二阶段,根据N-S图编写程序代码并单独调试,再将调试通过的各个子模块进行集成调试; 第三阶段,归纳文档资料,按要求填写在《课程设计说明书》上,并参加答辩。

C语言课程设计报告——贪吃蛇源程序

C 语言课程设计(小游戏贪吃蛇的程序设计报告) 设计人: 班级: 201 年月号

目录一:概述 1:研究背景及意义 2:设计的任务与需要知识点3:具体完成设计内容 二:需求分析 1:功能需求 2:操作方法 三:总体设计 1:模块划分 2:数据结构设计 四:详细设计 1:主空摸块设计 2:绘制游戏界面 3:游戏的具体过程 4:游戏的结束处理 5:显示排行榜信息模块 五:程序的调试与测试1:动画与音乐同步 2:蛇的运行 3:终止程序 六:结论 七::结束语 八:程序清单 九:参考文献

一. 概述 本课程设计以软件工程方法为指导,采用了结构化,模块化的程序设计方法,以C语言技术为基础,使用Turbo C++3、0为主要开发工具,对贪吃蛇游戏进行了需求分析,总体设计,详细设计,最终完成系统的实现与测试。 1、1 研究的背景及意义 随着社会的发展,人们生活的节奏日益加快,越来越多的人加入了全球化的世界。人们不再拘泥与一小块天地,加班,出差成了现代人不可避免的公务。而此时一款可以随时随地娱乐的游戏成为了人们的需要。此次课程设计完成的贪吃蛇小游戏,正就是为了满足上述需求而设计出来的。贪吃蛇游戏虽小,却设计诸多的知识点。通过开发贪吃蛇游戏系统,可使读者初步了解使用软件工程的与那个发,技术与工具开发软件的过程,进一步掌握结构化,模块化的程序设计方法与步骤,进一步掌握总体数据结构设计,模块划分方法,掌握局部变量,全局变量,结构体,共用体,数组,指针,文件等数据结构的使用方法,掌握图形,声音,随机数等多种库函数的使用方法,学习动画,音乐,窗口,菜单,键盘等多项编程技术,进一步学会软件调试,测试,组装等软件测试方法,为后续课程的学习与将来实际软件开发打下坚实的基础。 1、2 设计的任务与需要的知识点 1、2、1 课程设计主要完成的任务 1)、通过编写“贪吃蛇游戏”程序,掌握结构化,模块块化程序设计的思想,培养解决实际问题的能力。 2) 有同步播放动画,声音效果。 3) 设计好数组元素与蛇,食物的对应关系。 4) 随机产生食物。 5) 有分数统计,排行榜,分数存储等功能。 通过此次课程设计,希望使读者能更深入的理解与掌握课程教学中的基本概念,培养读者应用基本技术解决实际问题的能力,从而进一步提高分析问题与解决问题的能力。 1、2、2需要掌握与运用的知识点 1、2、3本次课程设计需要掌握与运用如下的知识点: 1) 数组的应用。 2) 全局变量的使用。 3) 按键处理。 4)结构体的应用。 5)图形,音乐与动画的有关知识。 6)随即函数的使用。 7)文件的基本出操作。 8) 结构化,模块化的设计方法。

C语言课程设计总结

C语言课程设计总结 一、设计题目: 猜数字和贪吃蛇小游戏。 专业:09电气工程及其自动化 组号:第十组 组员:马邢(组长)、王维、毛亮、汪小成、魏坤波、陈维康、高裴石、石峰、葛良志、冯鑫源 指导教师:黄莉莉 二、任务分配: 我们组分为两队,一对制作贪吃蛇游戏,另一对制作猜数字游戏。制作贪吃蛇的人员是马邢,葛良志,高裴石,石峰,陈维康。石峰和高裴石负责收集程序材料,马邢和葛良志负责整理和编写程序,陈维康辅助我们工作。制作猜数字的是魏坤波,王维,毛亮,汪小成,冯鑫源。魏坤波和王维负责编写程序,其他三人收集材料并帮助他们人编写和调试程序。 三、心得体会: 课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,当今计算机应用在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握计算机开发技术是十分重要的。 回顾起此次课程设计,至今让我我们仍感慨颇多,的确,从从拿到题目到完成整个编程,从理论到实践,几个星期的日子里,可以学

到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识,也懂得集体团队的重要性。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说结构体……通过这次课程设计之后,一定把以前所学过的知识重新温故。 这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在黄老师的辛勤指导下,终于游逆而解。同时,在黄老师的身上我学得到很多实用的知识,在次我表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢

c语言课程设计运动会比赛计分系统(含任务书)

一、课程设计目的 将理论教学中涉及到的知识点贯穿起来,对不同的数据类型、程序控制结构、数据结构作一比较和总结,结合设计题目进行综合性应用,对所学知识达到融会贯通的程度。通过课程设计,学生在下述各方面的能力应该得到锻炼: (1)进一步巩固、加深学生所学专业课程《C语言教程》的基本理论知识,理论联系实际,进一步培养学生综合分析问题,解决问题的能力。 (2)全面考核学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生素质的最终目的。 (3)利用所学知识,开发小型应用系统,掌握运用C语言编写调试应用系统程序,训练独立开发应用系统,进行数据处理的综合能力。 (4)对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。 (5)掌握自顶而下的设计方法,将大问题进行模块化,领会结构化程序设计的方法。 (6)熟练掌握C语言的基本语法,灵活运用各种数据类型。 (7)进一步掌握在集成环境下如何调试程序(单步调试,设置断点、观察表达式,分块调试)和修改程序。 二、课程设计名称及内容 课程设计名称:运动会比赛计分系统 设计内容:设计一个运动会比赛计分系统,该系统要求对运动会比赛得分进行管理和维护。 三、任务和要求 要求:初始化输入:N-参赛学校总数,M-男子竞赛项目数,W-女子竞赛项目数各项目名次取法有如下几种: (1)取前5名:第一名得分7分,第二名得分5,第三名得分3,第四名得分2,第五名得分1; (2)取前3名:第一名得分5,第二名得分3,第三名得分2; (3)用户自定义:各名次权值由用户指定。 四、设计方案提示

(1)界面 系统以菜单方式工作 (2)输入数据并存入文件 使用到结构体变量和动态链表,由程序提醒用户填写比赛结果,输入各项目获奖运动员信息。对输入的信息进行合法性判断,直到输入正确为止。都输入完成后,调用写文件函数对指定的文件进行写操作,把输入的信息写入到文件中。 (3)显示所有记录 将文件中的所有记录以表格的形式输出。如果文件未打开会出现“文件打开失败!按任意键返回...”,关闭文件。 (4) 查询 所有信息记录完毕后,用户可以查询各个学校的比赛成绩,生成团体总分报表,查看参赛学校信息和比赛项目信息等。 二:算法设计: 信息输入模块、比赛结果录入模块以及查询模题目的总体要求是要建立三个模块:信息输入模块、建立三个模块块。在建立完之后,要求该程序能够在用户将各种必要的信息记录之后,用户可以查询所有学校的比赛成绩,而且也可以生成团体总分表,查看参赛学校信息和比赛项目信息等一切录入的信息,为此,要示编程人员能通过一些具体的程序将以上的功能加以实现。在建立三个模块的大前提下,我们将采用结构体,循环体,指针和各种函数来实现这种功能,在数据结构体中,要采用结构体数组,其中包括学校、项目、运动员三个结构体。学校结构体成员包括学校校名、竞赛项目、得分项目结构体成员包括项目名、权值。(1)在此程序中,包括几个头文件:mainfile.h; dos.h; conio.h; momery.h; 接下来,定义全)局变量,其中包括“参赛学校项目数N;男子项目数M;女子项目数W;参赛学校g_school; 竞赛项目g_sport; 各名次链表指针ptrHead,ptrThis,ptrNew; 总体设计:系统设计为信息输入模块、比赛结果录入模块和查询模块三个模块。总

c语言课程设计总结报告

附表2 C++(或C)语言课程设计总结报告

源代码: /* 学生通讯录管理系统,能够实现对通讯录的内容进行创建、显示、查询、删除以及修改等功能*/ # include # include # include

# include # define N 100 void myprint(); void mycreate(char num[N][12],char name[N][12],char tel[N][15],int *n); void mydisplay(char num[N][12],char name[N][12],char tel[N][15],int n); void mysearch(char num[N][12],char name[N][12],char tel[N][15],int n); void mydelete(char num[N][12],char name[N][12],char tel[N][15],int *n); void mymodify(char num[N][12],char name[N][12],char tel[N][15],int n); /* 主函数*/ void main() { char choose,yes_no,num[N][12],name[N][12],tel[N][15]; int n=0; do{ myprint(); choose=getch(); switch(choose) { case '1':mycreate(num,name,tel,&n); break; case '2':if(n==0) { printf("\n 无记录,请创建通讯录!\n"); break; } mydisplay(num,name,tel,n); break; case '3':if(n==0) { printf("\n 无记录,请创建通讯录!\n"); break; } mysearch(num,name,tel,n); break; case '4':if(n==0) { printf("\n 无记录,请创建通讯录!\n"); break; } mydelete(num,name,tel,&n);

C语言课程设计任务书

信息科学与工程学院综合设计报告书课程名称:C语言课程设计 班级: 学号: 姓名: 指导教师:

目录 ( 一) 需求分析..................................... . 2-3 1.设计题目; 2.用户操作流程; 3.数据处理流程; (二)概要设计......................................4-5 1.系统总体设计框架; 2.系统功能模块图; (三)详细设计.....................................5-11 1.主要功能模块的算法设计思路; 2.工作流程图; (四)主要源程序代码...............................12-21 1.完整源程序清单及关键注释; (五)调试分析过程描述.............................21-24 1.测试数据、测试输出结果; 2.对程序调试过程中存在问题的思考; (六)课程设计小结.................................24-25 1.包括课程设计过程中的学习体会与收获; 2.对C语言和本课程设计的认识以及自己的建议等内容。

一、需求分析 1、设计题目: 编程实现以下功能: (1)分别输入一元多项式pn (x)和Q n (x)。 从键盘输入一元多项式中各项的系数和指数,并用单链表 加以表示。 (2)分别对一元多项式pn (x)和Q n (x)进行升幂排序。 将一元多项式中各子项按照指数从小到大的顺序排序。 (3)分别输出一元多项式pn (x)和Q n (x)。 将用单链表表示的一元多项式输出,即打印多项式的系数 和指数。 (4)任意输入一个实数x0,分别求出一元多项式pn (x0)和Q n (x0)的值。 (5)已知有两个一元多项式分别为Pn (x)和Qn (x),求出两个多项式的和 R n (x)和差T n (x),分别用单链表表示R n (x) 和T n (x), 并将二者输出, (R n (x)=P n (x)+Q n (x),T n (x)=P n (x)-Q n (x)) 2、用户操作流程: (1)进入欢迎及界面。

C语言课程设计俄罗斯方块源代码

1、新建“.h”头文件,将“头文件” 代码粘贴至其中, 2、新建“.c”源文件,将“源代码” 代码粘贴到其中。 3、新建空白工程,将头文件和源代码 添加进去,调试使用。 //头文件 //1.自定义枚举类型,定义7种形态的游戏方块 typedef enum tetris_shape { ZShape=0, SShape, LineShape, TShape, SquareShape, LShape, MirroredLShape }shape; //2.函数声明 //(1)操作方块函数 int maxX();//取得当前方块的最大x坐标 int minX();//取得当前方块的最小x坐标 void turn_left();//当前方块逆时针旋转90度 void turn_right(); int out_of_table(); void transform(); int leftable(); int rightable(); int downable(); void move_left(); void move_right(); //(2)操作游戏桌面的函数 int add_to_table();

void remove_full(); //(3)控制游戏函数 void new_game(); void run_game(); void next_shape(); int random(int seed); //(4)绘图函数 void paint(); void draw_table(); //(5)其他功能函数 void key_down(WPARAM wParam); void resize(); void initialize(); void finalize(); //(6)回调函数,用来处理Windows消息 LRESULT CALLBACK WndProc (HWND,UINT,WPARAM,LPARAM); //源代码 //1.文件包含 #include #include #include #include"tetris.h" //2.常量定义 #define APP_NAME "TETRIS" #define APP_TITLE "Tetris Game" #define GAMEOVER "GAME OVER" #define SHAPE_COUNT 7 #define BLOCK_COUNT 4 #define MAX_SPEED 5 #define COLUMS 10 #define ROWS 20 #define RED RGB(255,0,0)

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语言课程设计报告学生成绩信息管理系统源代码

实验报告 一、问题陈述及其需求分析 (一)问题陈述 学生信息管理系统是对学生信息的基本管理,其中包括以下及模块: (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语言 项目:库函数模拟系统 指导老师:邹姝稚 班级:软件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语言课程设计任务书

C语言课程设计任务书1 题目:学院教学信息管理系统 功能:学院教学信息管理系统,每一条记录包括一位教师的职工号、姓名、职称、性别、3门课程,教学效果综合评分。系统要求实现以下功能: 1、输入:输入每一位教师记录,将其信息写入文件中。 2、显示:显示每位教师记录。 3、排序:按职工号或教学效果综合评分进行排序,并显示。 4、查找:完成按姓名或课程查找教师的相关记录,并显示。 分步实施: 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数。 2、建立一个文件,将每位教师的相关(教学)信息写入文件中并能显示于屏幕上。 3、完成排序(按职工号、姓名、职称等)、查找等功能。 要求:1、用C语言实现程序设计; 2、利用结构体数组实现教师信息的数据结构设计; 3、系统的各个功能模块要求用函数实现; 4、界面友好(良好的人机交互),程序加必要的注释。 课程设计实验报告要求: 1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。 2、实验总结报告:流程图、主要源程序代码(需打印)、测试情况及调试中问题与解决方案、 小结等。 C语言课程设计任务书2 题目:酒店房间登记与计费管理系统 功能:1、屏幕上出现一个界面,让操作员能够方便的选择所需要进行的操作,包括登记入住、查询房间的入住情况、查询当前费用、结账退房等操作。 2、对不同标准的房间实施不同的收费标准,也可以按天收费或按小时收费,可根据顾客需要 在登记的入住的时候进行选择。 3、在结账退房时,根据入住的时间,计费方式和房间单价计算出总费用。 分步实施: 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数; 2、完成最低要求:建立房间列表,完成登记入住、查询房间入住情况功能。 3、进一步要求:完成计费和费用查询功能。 要求:1、用C语言实现系统; 2、系统的各个功能模块要求用函数实现; 3、界面友好(良好的人机交互),程序加必要的注释。 课程设计实验报告要求: 1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。 2、实验总结报告:流程图、主要源程序代码(需打印)、测试情况及调试中问题与解决方案、 小结等。

C语言课程设计---学生选课系统加源代码

C程序设计课程设计 题目:学生选课系统专业班级:通信工程1班姓名: 学号: 指导教师: 成绩:

摘要 学生选课系统是一个教育单位不可缺少的重要系统组成部分,它对于学校的决策者、管理者管理、查看课程来说都有至关重要,所以学生选课管理系统应该能够为广大学、师生提供充足的信息和快捷的课程选择过程,有助于学生选好每一门课程,此系统系统选课方便、快捷,用简单的界面来展示学生的选课信息,应用简单明了、存储量大、可靠性高、保密性好、寿命长、成本低等优点,可以极大的提高对学生信息管理的效率。利用C语言开发,实现了简单的学生课程信息的录入、修改、查询、删除等操作,并且能够利用文件系统长久的保留原始数据。

目录 一、需求分析 (1) 二、总体设计 (1) 三、详细设计 (2) 1、数据定义...................................................... 错误!未定义书签。 2、算法流程图 (2) 四、编码 (6) 五、调试 (7) 六、设计总结 (10) 致谢 (11) 参考文献 (12) 附录 (13)

一、需求分析 语言文字描述系统要做什么 数据结构可用结构体,包括课程和选修两个结构体,其中课程结构体成员结构体成员包括课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期。选修结构体成员包括学号,课程编号,该结构体的建立主要是为了查询某门课程学生选修情况。 二、总体设计 系统由哪几个功能模块构成,给出功能模块图。C 中模块化的工具是函数 根据上面的需求分析,可以将这个系统的设计分为如下七大模块: 选课模块、按学分查找模块、按编号查找模块、查看课程模块、查看选课情况模块、课程输入模块、完成选择模块。 菜单选择模块 录入学生信息 学生选课 系统信息查看及储存 退出系统 完成选择模块 学生信息 管 理 录入课程信息 课程 管理

c语言课程设计总结

c语言课程设计总结 c语言课程设计总结8篇 c语言课程设计总结(一): 经过一个星期的上机实践学习,使我对c语言有了更进一步的认识和了解,要想学好它要重在实践,要透过不断的上机操作才能更好地学习它,透过实践,我也发现我的好多不足之处,首先是自己在指法上还不行,经常按错字母,透过学习也有所改善;再有对c语言的一些标准库函数不太了解,还有对函数调用的正确使用不够熟悉,还有对c语言中经常出现的错误也不了解,透过实践,使我在这几个方面的认识有所提高。 透过实践的学习,我认到学好计算机要重视实践操作,不仅仅仅是学习c语言,还是其它的语言,以及其它的计算机方面的知识都要重在实践,所以后在学习过程中,我会更加注视实践操作,使自己便好地学好计算机。 c语言课程设计总结(二): 经过一个学期的学习,我对C语言有了必须的了解。C语言是学习计算机科学的基础,作为一名计算机专业学生,掌握C语言更是毋庸置疑。在上课之前,就经常听同学说,C语言很难学,确实,刚开始听课时觉得老师不知所云。但是,发现对后续资料的预习后,前面的疑团都迎刃而解,这让我对C语言的学习更有信心。

计算机最重要的就是上机操作,自己编写程序,在VisualC++运行,刚开始经常会出现错误,经过分析改正后,最后能够运行了,就觉得个性激动。 课程设计是一个把需求分析、程序编写、程序调试、撰写报告结合为一体的过程。在这个过程中,不仅仅锻炼了我们缜密的思维和坚持不解的毅力,更磨练了一个队伍的团结互助的精神。只有透过大家一齐努力才能将课程设计的所有环节都顺利的完成。另外程序设计中我们遇到问题并解决问题的过程,使得我们独自探索并解决问题的潜力了有了一个提高,这有利于我们以后的学习。同时这整一个过程,也使我们对程序编写的整个过程有了一个统筹全局的思想,因为需求分析、程序编写、程序调试、撰写报告这些过程是环环相扣的,绝对不可能独立进行。 课程设计是学习《C程序设计》后对知识的全面测试,刚拿到题目时不明白怎样去处理,觉得很复杂,经过和小组成员的讨论,上网查资料,逐个问题逐个击破,问题不再那么复杂。透过课程设计,我发现自己还存在很多知识漏洞,编写程序时,经常会出现低级错误,很多知识点都不熟悉。在今后的时间里,我必须要投入更多精力学习C语言,以课本为基础,请教老师,与同学讨论,参考资料,上机操作,我相信我必须能把C语言学好。

相关主题