c语言课程设计

上传人:M****1 文档编号:432022619 上传时间:2023-06-09 格式:DOC 页数:29 大小:418.56KB
返回 下载 相关 举报
c语言课程设计_第1页
第1页 / 共29页
c语言课程设计_第2页
第2页 / 共29页
c语言课程设计_第3页
第3页 / 共29页
c语言课程设计_第4页
第4页 / 共29页
c语言课程设计_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《c语言课程设计》由会员分享,可在线阅读,更多相关《c语言课程设计(29页珍藏版)》请在金锄头文库上搜索。

1、计算机应用技术二班 赵春杨 贵州航天职业技术学院C语言程序设计 系部:计科系 班级:计算机应用技术二班 姓名: 赵春杨(吴鸿章 向旭 黄家顺 周息烽) 指导老师:陆树芬 日期:2013.12.18 计算机应用技术二班 赵春杨前言C语言是一种结构化语言。它层次清晰,便于按模块化方式组织程序,易于调试和维护。C语言的表现能力和处理能力极强。它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。它还可以直接访问内存的物理地址,进行位(bit)一级的操作。C语言一共只有32个关键字,9种控制语句,程序书写形式自由,区分大小写。把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以像

2、汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。C语言的运算符包含的范围很广泛,共有34种运算符。C语言把括号、赋值、强制类型转换等都作为运算符处理。从而使C语言的运算类型极其丰富,表达式类型多样化。灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。C语言的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。能用来实现各种复杂的数据结构的运算。并引入了指针概念,使程序效率更高。另外C语言具有强大的图形功能,支持多种显示器和驱动器。且计算功能、逻辑判断功能强大。 同时对于不同的编译器也有各种结构式语言的显著特点是代码及数据的分隔化,即程序

3、的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。虽然C语言也是强类型语言,但它的语法比较灵活,允许程序编写者有较大的自由度。 目录一、设计任务1二、功能图1三、设计思路 1四、源程序清单和执行结果10五、源程序11 六、总结26七、参考文献 26一、设计任务 对学生信息(包括学号、汇编、C语言、英语、政治、数据库、总分、平均分)进行管理,包括学生成绩的信息输入、输出、查询、删除、排序、统计、保存、退出.每个教师都将各自班学生的成绩信息

4、进行记录,信息内容包含:(1)学生的学号(2)学生的姓名(3)学生的成绩。假设,教师现收集到了一个班学生的所有成绩信息,要求用C语言编写一个简单的成绩管理系统,可进行录入、查询、修改和浏览等功能。学习相关开发工具和应用软件,熟悉系统建设过程。1、用C语言实现系统;对学生信息包括学号、汇编、C语言、英语、政治、数据库、总分、平均分)进行管理,包括学生成绩的信息输入、输出、查询、删除、排序、统计、退出.是高等学校教务管理的重要组成部分,学生信息包括:其内容较多,为了简化讨论,要求设计的管理系统能够完成以下功能:(1) 每一条记录包括一个学生的学号、姓名、5门课成绩(2)、成绩信息录入功能:(成绩信

5、息用文件保存,可以一次完成若干条记录的输入。)(3)、成绩信息显示浏览功能:完成全部学生记录的显示。(4)、查询功能:完成按姓名查找学生记录,并显示。 (5)成绩信息的删除:按学号进行删除某学生的成绩.(6)、排序功能:按学生平均成绩进行排序。二、功能图学生成绩管理系统数据输入数据显示数据修改数据删除数据查找三、设计思路 主函数一般设计得比较简单,只提供输入,处理和输出部分的函数调用,其中各功能模块用菜单方式选择. 程序: int menu_select() char c; printf(nn); printf( | 1. 增加学生记录 5.统计信息 |n); printf( | 2. 查询学

6、生记录 6.打开文件 |n); printf( | 3. 修改学生记录 7.保存文件 |n); printf( | 4. 学生纪录排序 8.显示记录 |n); printf( | 0. 退出系统 |n); printf(nn); printf(请选择(0-8):); c=getchar(); getchar(); return (c-0); 1. 输入模块:分析:单独看各数据信息,学号,姓名是字符型,可以采用字符型数组;分数为整数,采用整数;数据信息存放在文件中,一条记录对应一个学生,既符合习惯又方便信息管理. 如果要存放若干学生信息就用结构体数组: void addrecord(studen

7、t stud) int i=0,j,num; char str5; if(numstus!=0) printf(已有记录存在是否覆盖?(y/n)n); gets(str); if(str0=Y|str0=y) i=0; else i=numstus; printf(请输入增加的学生信息条目数:); scanf(%d,&num); if(i=0) numstus=num; else numstus+=num; if(numstuslens) lens+=50; pointer=(student *)realloc(pointer,lens*LEN); printf(请输入学生信息:n); for

8、(;inumstus;i+) getchar(); printf(请输入学号:); gets(pointeri.number); printf(请输入姓名:); gets(pointeri.name); printf(请输入各科成绩:(按“汇编,C语言,英语,政治,数据库”的顺序):); studi.score=0; for(j=0;j0) i=menu_select(); /*控制菜单*/ switch(i) case 1:addrecord(pointer);break; /*增加学生信息*/ case 2:findrecord(pointer);break; /*查询学生信息*/ cas

9、e 3:amendrecord(pointer);break; /*修改学生信息*/ case 4:sort(pointer);break; /*学生信息排序*/ case 5:statistic(pointer);break; /*统计信息*/ case 6:openfile(pointer);break; /*打开文件*/ case 7:writetotext(pointer);break; /*保存文件*/ case 8:display(pointer,0,numstus-1);break; /*显示记录*/ case 0: if(numstus!=0) printf(是否保存当前记录?

10、(y/n); gets(str); if(str0=y|str0=Y) writetotext(pointer); i=-1;break; /*退出系统*/ default:printf(请输入数字08:n);i=1; /*输入错误*/ printf(tt欢迎再次使用本系统。nn); display1(); 2. 修改模块: 分析:用户输入要修改学生的学号,根据学生的学号等信息查找学生记录,并提示用户修改该记录的哪部分信息.根据用户选择修改相应的信息.流程图:输入要修改的学号找到? Y N提示没有找到显示记录,调用修改函数返回主菜单继续? Y N程序:void xiugai() if(fp=f

11、open(s_score.txt,rb+)=NULL|(fp1=fopen(temp.txt,wb+)=NULL) /*检查是否出错*/ printf(Cannot open this file.n); exit(0); printf(nPLease shuru xiugai xuehao:); scanf(%d,&i); getchar(); while(fread(&data,sizeof(data),1,fp)=1) j=atoi(data.xuehao); if(j=i) printf(xuehao:%snmingzi:%snnianling:%sn,data.xuehao,data.mingzi,data.nianling); printf(Please shuru mingzi:); gets(data.mingzi); pri

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号