程序设计基础课程设计报告

合集下载

c#程序设计课程程序设计报告

c#程序设计课程程序设计报告

C#程序设计设计说明书简单浏览器的设计与实现学生姓名夏守成学号1006111097班级10计算机一班成绩指导教师朱老师计算机科学与技术C#课程设计评阅书课程设计任务书2011—2012学年第一学期专业:计算机科学与技术学号:1006111097 姓名:夏守成课程设计名称:C#课程设计设计题目:简单浏览器的设计与实现完成期限:自2011 年12月14日至2011 年12 月21 日共1周设计依据、要求及主要内容(可另加附页):根据程序设计所学知识,设计与实现一个简单浏览器,该简单浏览器设计的内容和功能要求如下:(1)有合理的首页页面设计,背景柔和,(2)有多个按钮,比如说前进、后退、刷新删除等(3)输入地址栏,支持所有的网址,并有转到功能(4)设计登陆页面。

(5)可以存储网址,进行网内连接,(6)是利用C#编写程序,该浏览器简单但功能齐全(7)使用时同样可以最大化最小化(8)按钮是利用画图工具进行拷贝下来的(9)地址默认为百度要求:系统功能设计基本完善,并写出详细的设计说明书。

指导教师(签字):批准日期:年月日摘要关键词:前进、后退、刷新、输入合法地址、运行程序,在网内搜索,使用vs2008中的C#编写程序,利用画图工具。

拷贝前进、后退的按钮目录1课题描述 (4)2程序设计流程图 (4)2.1 系统说明 (4)2.2主界面的设计 (4)3 功能的设计 (4)3.1 简单浏览器功能的设计 (4)3.简单浏览器功能的设计 (5)3.3 简单浏览器功能的设计 (5)4测试 (5)4.1系统测试 (5)4.2 调试结果 (6)4.3 错误原因分析 (6)总结 (6)参考文献 (6)附录: (7)源代码: (7)1课题描述利用C#编写简单的程序,创建一个简单的浏览器,包含基本的功能,培养编写程序的兴趣。

实践中了解浏览器的一些特性2程序设计流程图2.1 系统说明使用win7系统,vs2008中的控制台应用程序,设计主界面,并拖放按钮。

Python语言程序设计基础第二版课程设计

Python语言程序设计基础第二版课程设计

Python语言程序设计基础第二版课程设计1. 课程设计目的本课程设计的目的是为了帮助学生进一步理解Python语言的程序设计基础,提高编程能力。

通过课程设计,学生将学会使用Python语言进行程序分析、设计和实现,并掌握一些常用的数据结构和算法,能够解决实际问题。

2. 教学内容本课程设计主要包括以下内容:•程序分析和设计的基本概念•Python语言的基本语法和数据类型•控制流程语句和函数的使用•文件读写和异常处理•常用的数据结构和算法(链表,堆栈,队列,二叉树等)•GUI编程(使用PyQt)3. 课程设计要求在本课程设计中,要求学生选择一个实际问题进行分析和解决,具体要求如下:3.1 问题描述选择一个你感兴趣的实际问题,例如学生成绩管理系统、图书馆管理系统等。

根据问题需求,设计并实现一个解决方案。

3.2 功能要求在设计解决方案的过程中,需要考虑以下功能:•学生信息的录入和修改;•成绩的录入和修改;•成绩的统计和分析;•数据的持久化和读取。

你可以自定义更多的功能来完善你的方案。

3.3 作业提交要求学生需要提交以下文件:•Python源代码文件;•详细的设计文档,包括具体的需求分析、系统设计、算法和数据结构的分析,程序流程图等。

作业提交时间截止到课程结束前,提交方式可以使用邮件或在线提交。

4. 评分标准学生完成本次课程设计后,将按以下标准进行评分:•完成度:完成度越高,得分越高;•功能实现:实现的功能越多,得分越高;•代码质量:代码的规范程度和可读性越高,得分越高;•系统设计:系统设计的合理性和思路清晰度越高,得分越高;•实用价值:方案的实用价值越高,得分越高。

5. 参考资料•Mark Lutz, 《Python语言程序设计基础(第二版)》, 机械工业出版社;• B.M. Kim and H.W. Park, 《Introduction to Computer Science with Python》, Springer.6. 结束语本课程设计旨在帮助学生更好地掌握Python语言的程序设计基础,提高编程水平,为将来的工作和学习奠定基础。

程序设计基础课程设计实验

程序设计基础课程设计实验

程序设计基础课程设计实验一、课程目标知识目标:1. 让学生理解程序设计的基本概念,掌握编程语言的语法和结构。

2. 培养学生运用程序设计思想解决问题的能力,包括数据表示、逻辑判断和循环控制等。

3. 使学生了解程序设计的流程,学会编写、调试和优化程序。

技能目标:1. 培养学生运用编程工具进行程序设计和调试的能力。

2. 培养学生独立思考和解决问题的能力,提高编程解题技巧。

3. 培养学生团队协作和沟通能力,能够与他人共同完成程序设计任务。

情感态度价值观目标:1. 培养学生对程序设计的兴趣和热情,激发学生学习编程的积极性。

2. 培养学生勇于尝试、不怕失败的精神,提高学生面对编程挑战的自信心。

3. 引导学生认识到编程在科技发展和社会进步中的重要作用,培养学生的社会责任感和创新意识。

课程性质:本课程为程序设计基础课程,旨在让学生掌握编程基本技能,培养编程思维。

学生特点:学生为初中年级,具备一定的逻辑思维能力,好奇心强,对新鲜事物感兴趣。

教学要求:注重理论与实践相结合,以实例为主线,引导学生主动探索,培养实际编程能力。

将课程目标分解为具体的学习成果,便于教学设计和评估。

二、教学内容1. 程序设计基本概念:程序、编程语言、算法等基本概念介绍。

2. 编程环境搭建:安装编程软件,了解编程环境,学会使用开发工具。

3. 语法基础:变量、数据类型、运算符、表达式和语句等。

4. 控制结构:顺序结构、分支结构(if语句)、循环结构(for、while语句)。

5. 函数与模块:函数的定义、调用、参数传递,模块的导入和使用。

6. 数组与列表:数组的概念、使用,列表的创建、操作。

7. 文件操作:文件的打开、读取、写入和关闭。

8. 编程规范与调试:代码风格、命名规则,调试技巧和错误处理。

9. 综合实例分析:分析实际编程案例,学会运用所学知识解决问题。

教学内容安排与进度:第1-2周:程序设计基本概念,编程环境搭建。

第3-4周:语法基础,变量、数据类型、运算符。

C语言程序设计课程设计报告

C语言程序设计课程设计报告

C语言程序设计课程设计实验报告一、设计名称:学生成绩治理查询系统实验项目性质:综合性所涉及课程:C语言程序设计打算学时:实验学时12二、设计目的:1.通过本课程设计,培育上机动手能力,使学生巩固《C语言程序设计》课程学习的内容,把握工程软件设计的大体方式,强化上机动手能力,闯过编程关;2.为后续各门运算机课程的学习打下坚实基础。

3.明白得程序设计的思路,把握结构化程序设计的方式,综合利用C语言进行程序编写,巩固常常利用的C语言概念,如数组、指针、结构体、链表、文件操作等,注意良好的程序设计风格的培育。

提高编写程序解决实际问题的能力、调试程序的技术。

三、设计环境(软件、硬件及条件)1.硬件:PC机2.软件:Turbo C++四、设计说明:程序系统的结构:用一系列图表列出本程序系统内的每一个程序(包括每一个模块和子程序)的名称、标识符和它们之间的层次结构关系。

主程序:新建:输入记录(遇#号时停止输入)。

插入:在指定位置插入记录。

显示:列出所有记录。

查询:一、按学号查询;二、按名字排序。

删除:一、按学号删除;二、按名字删除;3、删除所有记录。

排序:一、按语文成绩排序;二、按英语成绩排序;3、按数学成绩排序。

保留:保留为任意名字,系统自动加后缀名为.txt。

读取:读取程序目录下的后缀名为.txt的文件。

退出:退出程序。

五、各功能模块的具体实现,用图表表示。

输入记录显示开始:输入学号输入的学号是否为#Y N 结束,返回主菜单输入记录循环输入结束开始p=hp!=NULL输出学生信息;p=p->next结束按学号(姓名)查询信息Y N读取文件六、各模块(函数)的功能介绍,数据结构设计描述,参数说明等。

STUDENT *init(); /*初始化链表*/STUDENT *create(); /*新建链表*/STUDENT *del_no(STUDENT *h);/*按学号删除信息*/STUDENT *del_name(STUDENT *h); /*按姓名删除信息*/void print(STUDENT *h); /*显示信息函数*/void search_no(STUDENT *h); /*按学号搜索*/void search_name(STUDENT *h); /*按姓名搜索*/STUDENT *insert(STUDENT *h); /*插入信息函数*/void sort(STUDENT *h);/* 排序函数*/void save(STUDENT *h);/*保留数据到文件*/void load(STUDENT *h); /*从文件读取数据*/int menu_main(); /*菜单函数*/void inputs(char *prompt,char *s,int count);/*输出信息*/七、程序代码:Enter records\n");printf(" 2. Add records\n");printf(" 3. List records\n");printf(" 4. Search records\n");printf(" 5. Delete records\n");printf(" 6. Sort records\n");printf(" 9. Quit\n\n");printf("*****************************************\n");do{ printf("\n Enter you choice(1~9):"); /*提示输入选项*/ scanf("%s",s); /*输入选择项*/c=atoi(s); /*将输入的字符串转化为整型数*/}while(c<1||c>9); /*选择项不在1~9之间重输*/return c; /*返回选择项,主程序依照该数挪用相应的函数*/}Search records on number\n");printf(" 2. Search records on name\n");printf(" 3. Back\n\n");printf("*****************************************\n");do{ printf("\n Enter you choice(1~3):"); /*提示输入选项*/ scanf("%s",s); /*输入选择项*/c=atoi(s); /*将输入的字符串转化为整型数*/}while(c<1||c>3);return c; /*返回选择项,主程序依照该数挪用相应的函数*/}Chinese\n");printf(" 2. English\n");printf(" 3. Math\n");printf(" 4. Back\n\n");printf("*****************************************\n");do{ printf("\n Enter you choice(1~4):"); /*提示输入选项*/ scanf("%s",s); /*输入选择项*/c=atoi(s); /*将输入的字符串转化为整型数*/}while(c<1||c>4);return c; /*返回选择项,主程序依照该数挪用相应的函数*/}Delete records on number\n");printf(" 2. Delete records on name\n");printf(" 3. Delete all records\n");printf(" 4. Back\n\n");printf("*****************************************\n");do{ printf("\n Enter you choice(1~4):"); /*提示输入选项*/ scanf("%s",s); /*输入选择项*/c=atoi(s); /*将输入的字符串转化为整型数*/}while(c<1||c>4);return c; /*返回选择项,主程序依照该数挪用相应的函数*/}.");/*提示*/getch(); /*读入任意字符*/}.\n");getch(); /*读入任意字符*/if(p==h)h=p->next;elseq->next=p->next;free(p); /*释放*/printf("\n%s had been deleted\n",s); }printf("\nPress any key to continue..."); getch(); /*读入任意字符*/return h;}.\n");getch();if(p==h)h=p->next;else q->next=p->next;free(p); /*释放*/printf("\n%s had been deleted\n",s);}printf("\nPress any key to continue...");getch(); /*读入任意字符*/return h;}.");getch(); /*读入任意字符*/}.");getch(); /*读入任意字符*/}xt"};STUDENT *p;FILE *fp; /*指向文件的指针*/printf("\n Input the filename:");scanf("%s",outfile);strcat(outfile,last);if((fp=fopen(outfile,"wb"))==NULL) /*打开文件,并判定打开是不是正常*/ {printf("\nCannot open file!\n");exit(1); /*退出*/}p=h;while(p!=NULL){if(fwrite(p,sizeof(STUDENT)-sizeof(p->next),1,fp)!=1){printf("Error!\n");exit(1);} /*写入*/p=p->next;}fclose(fp); /*关闭文件*/printf("\n------OK------\n");printf("Press any key to continue...");getch(); /*读入任意字符*/}xt"};STUDENT *p,*a1=NULL,*a2=NULL;FILE *fp;/*概念文件指针*/printf("\n Input the filename:");scanf("%s",outfile);strcat(outfile,last);if((fp=fopen(outfile,"rb"))==NULL)/*打开文件*/{printf("\nCannot open file!\n");exit(1); /*退出*/}p=h;a1=a2=(STUDENT *)malloc(LEN);fread(a1,sizeof(STUDENT)-sizeof(a1->next),1,fp); while(!feof(fp)){n++;if(n==1)h=a1;else a2->next=a1;a1=(STUDENT *)malloc(LEN);fread(a1,sizeof(STUDENT)-sizeof(a1->next),1,fp);}a2->next=NULL;printf("\n------OK------\n");printf("Press any key to continue...");getch(p); /*读入任意字符*/}///////////////////////////////////////////void sort(STUDENT *h) /*排序函数*/{int i=0,j;STUDENT *p,*q,*t,*h1,*z;clrscr(); /*清屏*/printf("Enter you choice :\n");scanf("%d",&j);z=h;h1=h->next;h->next=NULL;while(h1!=NULL){t=h1;h1=h1->next;q=h;while(t->score[--j]<p->score[--j]&&p!=NULL){q=p;p=p->next;}if(p==q){t->next=p;h=t;}else{t->next=p;q->next=t;}}p=h;while(p!=NULL){i++;p=p->next;}h=z;printf("------OK------\n");}//////////////////////////////////////////////////九、体会、总结本课程设计完成了设计一个学生成绩治理系统,学生的学习成绩进行治理,具有查询和检索功能,而且能够对指定文件操作。

程序设计课程设计报告

程序设计课程设计报告

程序设计课程设计报告一、引言程序设计是计算机科学与技术领域中的重要学科,涉及到软件开发、算法设计和编程等方面。

本报告旨在总结和展示我们小组在程序设计课程中的设计过程和成果。

二、设计目标本次程序设计课程项目的主要目标是设计和实现一个个人信息管理系统。

该系统应包括以下功能:1. 用户注册和登录功能:用户可以通过注册账号并进行登录,以便使用系统中的各项功能。

2. 个人信息管理功能:用户可以管理自己的个人信息,包括姓名、年龄、联系方式等,可以进行查看、编辑和删除等操作。

3. 日程管理功能:用户可以添加和管理自己的日程安排,包括日期、时间、地点和备注等。

4. 密码修改功能:用户可以修改登录密码,确保账号安全性。

5. 用户数据备份和恢复功能:用户可以将自己的数据进行备份,并在需要时进行恢复。

三、设计步骤1. 需求分析:首先,我们小组成员深入了解了用户的需求,明确了项目的功能和特点。

通过分析用户需求,我们确定了系统的基本功能和界面设计。

2. 系统设计:根据需求分析结果,我们进行了系统设计。

包括数据库设计、界面设计和算法设计等方面。

数据库设计决定了用户信息和日程数据库的结构,界面设计决定了用户交互的方式和页面展示方式,算法设计决定了系统功能的实现方式。

3. 编码实现:在系统设计完成后,我们根据设计结果进行编码实现。

采用适当的编程语言和开发工具,我们按照系统设计的要求编写代码,实现系统的各项功能。

4. 测试与调试:在编码实现完成后,我们对系统进行了测试和调试。

通过模拟用户操作和输入各种情况下的数据,我们确保系统能够正确运行,并处理各种异常情况。

5. 优化与改进:在测试和调试过程中,我们不断优化和改进系统的性能和用户体验。

通过对系统的使用和反馈进行分析,我们进一步完善系统功能和界面设计,提升用户体验。

四、实现成果经过团队成员的共同努力,我们小组成功实现了个人信息管理系统。

该系统具有以下特点和功能:1. 用户注册和登录功能:用户可以通过注册账号并登录,确保账号的安全性。

程序设计基础课程设计报告

程序设计基础课程设计报告

程序设计基础课程设计报告
本次课程设计旨在深化我们对程序设计基础的理解和应用。

通过实际操作,我们学习了算法设计、数据结构选择及代码优化等关键技能。

在解决问题的过程中,我们遇到了诸如逻辑错误、运行效率低等问题,但通过团队合作、反复调试和查阅资料,最终成功解决了这些问题。

这次课程设计不仅提高了我们的编程能力,还锻炼了我们的逻辑思维和团队协作能力。

我们深刻认识到,良好的程序设计不仅需要扎实的理论知识,还需要灵活的应用能力和不懈的探索精神。

展望未来,我们将继续巩固和扩展程序设计知识,努力提升编程水平,为解决实际问题和推动科技发展贡献自己的力量。

C语言程序设计基础第二版课程设计

C语言程序设计基础第二版课程设计

C语言程序设计基础第二版课程设计介绍C语言是一种广泛应用的程序设计语言,具备高效性、可移植性和易学易用等特点。

C语言程序设计基础第二版是一本关于C语言的教材,以简洁明了的语言阐述了C语言的各种基本概念和应用场景。

本次课程设计旨在加深学生对C语言的理解,从而提高实际的编程能力。

通过实践演练,帮助学生掌握C语言的基本操作和常见技巧,以便在日后的编程实践中更加游刃有余。

目标本次课程设计主要目标如下:1.帮助学生深入理解C语言的语法和常用的编程技巧。

2.培养学生的编程思维,注重算法和实现。

3.提升学生的团队协作和沟通能力。

分工针对本次课程设计,将学生分为三组:1.编写单个程序的组(5人):该组学生将负责设计和编写单个C语言程序,要求代码结构清晰,逻辑清晰,充分考虑可读性和可维护性。

2.编写多个程序的组(5人):该组学生将负责设计和编写多个C语言程序,每个程序的功能各异,从基础的语法运用到高级操作的实现。

3.管理和协调组(3人):该组学生将负责监督和协调整个课程设计的进程,负责程序的统一管理和排版。

要求1.每个组需要完成的程序数量不少于5个。

2.代码量不少于500行。

3.提交的代码和文档需要使用Markdown文本格式输出。

4.文档中包含程序的详细说明和对代码实现的解释,注重实用性和易读性。

5.最终产出的程序都需要经过测试和完善,确保代码的运行正确和稳定性。

6.全部源码和文档需要打包并提交。

时间进度本次课程设计的时间进度如下:1.第一周:确定分组,明确全组任务,熟悉Markdown格式。

2.第二周到第六周:分别完成单个程序和多个程序的编写,周期时间限制为一周。

3.第七周:总结经验、讨论问题、修改收尾。

参考资料1.C程序设计基础(第2版)作者:谭浩强2.《C程序设计语言》(第2版)作者:Brian W. Kernighan,DennisM. Ritchie3.C语言程序设计(第3版)作者:陈洪庆, 陈小莉结论本次课程设计旨在使学生更深入地理解C语言的基本要素和常用技巧,锻炼学生的编程思维能力和团队协作沟通能力,从而为日后的编程实践和职业规划打下坚实基础。

大学C++程序设计课程设计

大学C++程序设计课程设计

课程设计(实训)报告20xx-20xx学年第1学期课程名称:C++程序设计课程设计设计题目:编程实现一些基本的计算系别:信息工程系班级:XXXX姓名:XXXX起止日期:2019.12.30~2020.1.3指导老师:XXXX目录目录 (1)1背景概述 (2)1.1项目的背景和来源 (2)1.2项目的目的和意义 (2)2.需求分析 (2)2.1功能目标和要求 (2)2.2性能指标和要求 (2)2.3用户界面设计要求 (2)3.总体设计 (3)3.1总体设计方案 (3)3.2程序总体架构 (3)3.3文件组织结构 (3)4.详细设计 (4)5.测试纠错 (5)6.经验总结 (5)致谢参考文献编程实现一些基本的计算1.背景概述 C++是C 语言的继承,它既可以进行C 语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。

《C++程序设计课程设计》是一门单独考核的课程,其重要性不言而喻。

1.1项目的来源和背景《C++程序设计课程设计》是完全由C++来进行设计并完成项目的课程,随着C++学习的逐渐深入,知识的逐渐扩充,程序设计课程设计其实是对已学知识的一次复习,同时期末临近,课程复习显得格外重要。

1.2项目的目的和意义针对所学知识进行综合性的编程实践,通过用C++语言编写一个完整的应用程序,让大家学习如何进行团队协作,掌握C++程序设计的基本思想、方法和技术,领悟C++程序设计的思想和规律,熟练掌握程序的编译、测试、纠错和运行方法,实现理论知识与实践经验的有效结合。

2.需求分析这个项目主要是用C++解决一些基本的计算并能正常运行。

系统功能要求点击运行后一秒内能够运行,程序简洁高效,占用系统资源较少,结构清晰,较好体现C++程序设计的思想和规律。

2.1功能目标和要求这个业务处理系统旨在用高效简洁的方法实现一些基本的数学计算,并设置有一些菜单能够让用户选择任何一个项目进行体验,做到系统可以多次运行计算。

C语言程序设计课程设计报告

C语言程序设计课程设计报告

《C语言程序设计》课程设计报告(2011— 2012学年第 1 学期)专业:计算机科学与技术班级:姓名学号:指导教师:成绩:计算机科学与技术系2011 年12月31日目录一、课程设计的目的与要求 (3)二、方案实现与调试 (3)2.1 掷骰子游戏 (3)2.2 汽车加油 (6)2.3 大优惠 (8)2.4 金币 (9)2.5小型通讯录设计 (12)三、课程设计分析与总结 (14)附录程序清单 (14)一、课程设计的目的与要求(含设计指标)(1)实验目的C语言是一种编程灵活,特色鲜明的程序设计语言。

C语言除了学习必须的基本知识,如概念,方法和语法规则之外,更重要的是进行实训,以提高学习者的动手和编程能力,这是学习语言的最终目的。

结合多年来的教学经验,根据学生的学习情况,为配合教学过程,使“项目教学法”能在本质上促使学生有更大进步,特编写了该《C语言程序设计任务书》,以在实训过程中给学生提供帮助。

达到如下目的:1.在课程结束之前,让学生进一步了解C程序设计语言的编程功能;2.让学生扎实掌握C程序设计语言的相关知识;3.通过一些有实际意义的程序设计,使学生体会到学以致用,并能将程序设计的知识与专业知识有效地结合,更全面系统地了解行业知识。

(2)设计要求根据实验内容的要求自由选定题目。

编写程序要求遵循如下基本要求:●模块化程序设计●锯齿型书写格式●必须上机调试通过二、方案实现与调试2.1掷骰子游戏•2.1.1 题目内容的描述两人玩骰子,游戏规则如下:1) 两人轮流掷骰子,每次掷两个,每人最多掷10次。

2) 将每人每次的分值累加计分3) 当两个骰子点数都为6时,计8分;当两个点数相等且不为两个6时,计7分;当两个点数不一样时,计其中点数较小的骰子的点数。

4) 结束条件:当双方都掷10次或经过5次后一方累计分数为另一方的两倍。

最后显示双方分数并判定优胜者。

•2.1.2输入数据类型、格式和内容限制和输出数据的说明输入数据类型:整型数格式:srand(time(0));输入数=rand()%6+1;内容限制:产生最多十次随机数输出数据说明:掷骰子的获胜者•2.1.3主要模块的算法描述2.1.4调试过程及实验结果出现的问题:每次循环产生的随机数相同。

程序基础设计课程设计

程序基础设计课程设计

程序基础设计课程设计一、课程目标知识目标:1. 让学生理解程序设计的基本概念,掌握程序设计的流程和基本方法。

2. 使学生熟悉编程语言的基本语法,能够运用条件语句和循环语句进行简单的程序编写。

3. 帮助学生了解程序设计中的常用算法和解决问题的策略。

技能目标:1. 培养学生运用编程语言进行程序设计的能力,能够独立编写简单的程序。

2. 培养学生运用程序设计思维解决问题的能力,能够分析问题、设计算法并实现程序。

3. 提高学生调试程序、查找并解决问题的能力。

情感态度价值观目标:1. 激发学生对程序设计的兴趣和好奇心,培养其主动学习和探究的精神。

2. 培养学生良好的编程习惯,使其注重代码规范和程序质量。

3. 增强学生的团队合作意识,使其能够在小组合作中发挥个人优势,共同解决问题。

课程性质:本课程为程序设计基础课程,旨在帮助学生建立程序设计的基本概念,培养编程技能和逻辑思维能力。

学生特点:学生为初中年级,具备一定的逻辑思维能力,对新事物充满好奇,但注意力容易分散,需要激发兴趣和引导学习。

教学要求:注重理论与实践相结合,以案例教学为主,让学生在动手实践中掌握程序设计的基本方法和技能。

同时,关注学生的个体差异,因材施教,提高学生的编程能力和解决问题的能力。

通过本课程的学习,使学生能够具备进一步学习高级编程语言的基础。

二、教学内容1. 程序设计基本概念:程序、编程语言、算法等基本概念介绍。

2. 编程环境与工具:介绍编程环境及基本操作,如代码编辑器、编译器和调试器。

3. 基本语法:变量、数据类型、运算符、表达式等基础语法知识。

4. 控制结构:- 条件语句:if、if-else、switch等条件判断语句。

- 循环语句:for、while、do-while等循环语句。

5. 函数:函数定义、调用、参数传递等概念。

6. 数组与字符串:数组定义、使用,字符串操作方法。

7. 编程规范与习惯:代码缩进、注释、命名规范等。

8. 简单算法与应用:排序、查找等基础算法介绍及应用。

《程序设计课程设计》实验报告

《程序设计课程设计》实验报告

《程序设计》课程设计姓名:学号:班级:软件工程14 班指导教师:成绩:1.消除类游戏1.1【问题描述】消除类游戏是深受大众欢迎的一种游戏,游戏在一个包含有n行m列的游戏棋盘上进行,棋盘的每一行每一列的方格上放着一个有颜色的棋子,当一行或一列上有连续三个或更多的相同颜色的棋子时,这些棋子都被消除。

当有多处可以被消除时,这些地方的棋子将同时被消除。

1.2【基本要求】现在给你一个n行m列的棋盘(1≤n,m≤30),棋盘中的每一个方格上有一个棋子,请给出经过一次消除后的棋盘。

请注意:一个棋子可能在某一行和某一列同时被消除。

输入数据格式:输入的第一行包含两个整数n, m,用空格分隔,分别表示棋盘的行数和列数。

接下来n行,每行m个整数,用空格分隔,分别表示每一个方格中的棋子的颜色。

颜色使用1至9编号。

输出数据格式:输出n行,每行m个整数,相邻的整数之间使用一个空格分隔,表示经过一次消除后的棋盘。

如果一个方格中的棋子被消除,则对应的方格输出0,否则输出棋子的颜色编号。

1.3【测试数据】为方便调试程序,可将输入数据先写入一个文本文件,然后从文件读取数据处理,这样可避免每次运行程序时都要从键盘输入数据。

测试数据一输出说明:棋盘中第4列的1和第4行的2可以被消除,其他的方格中的棋子均保留。

棋盘中所有的1以及最后一行的3可以被同时消除,其他的方格中的棋子均保留。

1.4【功能实现】#include <iostream>#include <windows.h>using namespace std;int main(){int m, n, i ,j;int temp;cin >> n >> m;temp = m;m = n;n = temp;int * map = new int[m * n];int * mark = new int[m * n];int * tmap = map;int * tmark = mark;int dif = 0;//输入for ( i = 0 ; i < m ; i++ )for (j = 0; j < n; j++)cin >> *(tmap + i * n + j);for (i = 0; i < m; i++)for (j = 0; j < n; j++){//横行if ((tmap + 2 - map) % n != 0 || (tmap + 1 - map) % n != 0)if (*(tmap) == *(tmap + 1) && * (tmap + 1) == *(tmap + 2)){dif = tmap - map;*(tmark + dif) = 0;*(tmark + dif + 1) = 0;*(tmark + dif + 2) = 0;}//竖列if (tmap + 2 * n - map < m * n || tmap + n - map < m * n)if (*(tmap) == *(tmap + n) && * (tmap + n) == *(tmap + 2 * n)) {dif = tmap - map;*(tmark + dif) = 0;*(tmark + dif + n) = 0;*(tmark + dif + 2 * n) = 0;}tmap = map + (j+1) + i * n;}//输出cout << endl;tmap = map;for (i = 0; i < m; i++)for (j = 0; j < n; j++)if (* (tmark + i * n + j) == 0)*(tmap + i * n + j) = 0;for (i = 0; i < m; i++){for (j = 0; j < n; j++)cout<< *(tmap + i * n + j)<<" ";cout << endl;}system("pause");return 0;}1.5【结果和截图】1.6【心得体会】通过这次试验,我对c语言编译器和对棋盘类游戏中的棋子行列删除有了更加深刻的认识和了解。

程序设计基础实践报告

程序设计基础实践报告

福建师范大学闽南科技学院程序设计基础实践报告题目职工工资信息管理系统学生姓名陈显泽学院信息科学与工程学院专业班级土木工程1班完成时间 2017。

4.20 指导教师褚若波目录一、课程设计目的和要求...。

..。

.。

.。

...。

...。

..。

.。

二、课程设计基本内容.。

.。

..。

..。

..。

.。

.。

..。

....。

..。

..三、程序功能简介。

...。

..。

..。

..。

.。

....。

..。

..。

.。

..四、主体内容...。

...。

.。

.。

.。

.....。

..。

...。

...。

.。

.。

4.1 设计分析。

.。

....。

...。

...。

.。

...。

.。

.。

.。

.. 4。

2 程序结构。

........。

.。

..。

....。

.。

.。

..。

..。

.。

4。

3 模块的功能及程序说明.。

.。

...。

..。

.....。

.4.4 相关模块源程序。

..。

......。

.。

.。

.。

....。

.。

.。

.。

4。

5 操作方法(流程).。

...。

..。

.。

..。

.。

.。

...4.6 试验结果(包括输入数据和输出结果).。

..。

..。

.。

4。

7 设计体会。

.....。

...。

..。

.。

.。

.。

.。

...。

.。

. 4。

8 参考文献.。

.。

.....。

.。

.。

...。

.。

....。

.。

.。

.。

五、用户使用说明..。

..。

..。

...。

.。

...。

.。

..。

..。

.。

.。

.。

.六、对本设计过程及方法、手段的改进建议。

..。

..。

..。

.。

一、课程设计的目的和要求本次课程设计,是基于“面向对象编程(C++)”课程学习内容的重要实践环节,其主要目的在于通过综合程序课程设计,培养和提高学生的独立分析问题、解决实际问题的能力和计算机语言编程能力。

本次课程设计时间为2周,要求每位同学在为期两周的时间段内,在编程环境下,用面向对象程序设计思想进行C++程序设计、功能模块调试,在正确、合理的软件功能规划的基础上,实现公用接口与私有实现的分离,独立完成相关设计题所规定的任务、进行课程设计报告编写与整理。

Java程序设计报告24928

Java程序设计报告24928

《Java程序设计》课程设计报告xxxxxxx一、设计时间二、设计地点三、设计目的1.复习、巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握;2.课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼分析解决实际问题的能力。

提高学生适应实际,实践编程的能力;3.培养在项目开发中团队合作精神、创新意识及能力。

4.培养查阅资料,独立思考问题的能力。

四、设计小组成员五、指导老师六、设计课题抽奖系统的设计与实现。

理由:1、界面综合度高,设计此界面要用到多种知识点,有利于大家熟练掌握和运用。

2、整个系统简洁明了,适于初学者。

3、代码编写涉及面广,利于提高综合应用能力。

七、基本思路及关键问题的解决方法基本思路:1.利用Java图形用户界面AWT组件创建抽奖系统里的姓名、密码、颜色标签和各种按钮以及显示信息的文本框,通过流布局管理器美化用户注册和登录界面;2.通过AWT事件类和事件监听器接口实现提示信息和变化信息,具体有WindowEvent窗口事件类、WindowListener窗口事件监听器接口、MouseListener鼠标事件监听接口等;3.AWT组件类中注册事件监听器:*.addMouseListener(this) 注册鼠标事件监听器*.addWindowListener(this) 注册窗口事件监听器关键问题的解决方法:问题:○1没有注册事件监听器添加语句addActionListener(this)○2没有判断输入是否为空加入语句if (tfd1.getText().equals("")||tfd2.getText().equals(""))八、算法及流程图九、调试过程中出现的问题及相应解决办法1、出现的问题:1) 在设计系统界面的时候不知道怎样进行界面布局。

2) 在改变界面大小的时候,无法把握大小。

程序设计报告

程序设计报告

程序设计报告篇一:程序设计报告要求每个小组做全本套题目时限:1s【题目描述】有一个字符集合,它只包含a-z这26个小写字母。

根据集合的定义,集合的容量是集合含有不同元素的个数。

由于该集合中包含了非常多的重复字母,因此让你编程计算下该集合的容量,也就是该集合包含了多少不相同的字母。

【输入】有多组样例。

第一行为样例的个数T。

接下来T行,每一行代表一个样例。

这一行为一个字符串,表示一个集合。

规定以’{’开头,以’}’结束。

每个字符用’,’给开,逗号与逗号后的元素空出一个空格。

【输出】每个集合的容量。

一个样例占一行。

【输入样例】2{a, b, c}{a, b, a, b}【输出样例】32B吉利数字时限:1s【题目描述】算卦大湿biboyouyun最近得出一个神奇的结论,如果一个数字,它的各个数位相加能够被10整除,那么称它为吉利数。

现在叫你计算某个区间内有多少个吉利数字。

【输入】第一行为样例个数N。

接下来N行,每一行代表一个输入样例,每个输入样例有2个数,分别代表某个区间的起点a和终点b。

注意所求区间为[a,b],1 =a =b =10【输出】N行。

对于第x个输入样例,在第x行输入该样例所对应的结果。

【输入样例】21 101 20【输出样例】1【Hint】1-10之内无幸运数,1-20内只有19 这1个幸运数C炸弹袭击时限:1s【题目描述】H族的领地是一片富饶之地,有丰富的资源,无数的黄金。

尽管异族侵略者被压制几百多年,他们并没有放弃对这片土地的渴望。

最近,他们研制了一枚重磅炸弹。

试图用它摧毁H族的防御工事。

H族的防御工事由多个基地构成,侵略者试图用炸弹摧毁尽量多的防御基地,现在,他们急需你的帮助。

如果你能为他们解决难题,会有巨大的奖励。

〔该炸弹的攻击范围是一个半径为r单位的圆〕【输入】第一行为样例的个数T。

每个样例中有假设干行,第一行为炸弹的攻击半径r,r有可能不是整数(1 =r =100)第二行是一个整数n,表示H族防御基地的个数(1 =n =100)接下来n行,每行有两个数,代表H族某个防御基地的坐标【输出】只有一个数,代表炸弹能最多摧毁的H族防御基地数量。

C语言程序设计课程设计报告

C语言程序设计课程设计报告

成都航空职业技术学院《C语言程序设计》课程设计报告设计题目:C程序综合设计系别:航空电子工程系专业:应用电子技术班级:学号:学生姓名:赵儇宇指导教师:完成时间:年月日目录一、程序设计内容及要求 (1)二、程序总体设计思路 (2)1.课题一的总体设计思路 (2)2.课题二的总体设计思路 (3)三、程序各模块作用及详细设计 (3)1.课题一的各模块作用及详细设计 (3)2.课题二的各模块作用及详细设计 (13)四、程序运行过程截图及分析 (16)1.课题一程序运行过程截图及分析 (16)2.课题二程序运行过程截图及分析 (20)五、总结.................... . (22)六、附录(完整程序)......... (22)1.课题一完整程序 (22)2.课题二完整程序 (27)一、课程设计内容及要求题目1用户登录程序。

提示用户输入用户名和密码,判断是否是合法用户(假设合法的用户名是“abc”,密码是123456),如果合法,显示“welcom to use the software”,进入以下系统。

否则要求重新输入,允许输入3次,若3次都错,显示“password error!you can not use the sorftware”.一班有10名学生,一学期有5门课程,编写程序实现如下功能:(1)录入每名学生的各科成绩(2)求出每名学生的平均成绩和总分(3)求每门课程的平均分、及格率、最高成绩和最低成绩(4)输出总成绩前5名的学生学号、各科成绩和总分(5)输出各科补考学生的学号和成绩菜单格式如下:==================菜单===============1.成绩录入2. 学生信息3. 课程信息4. 获奖与补考信息0. 退出=======================================题目2小学生数学学习系统面向小学1~2年级学生,随机选择两个整数和加减法形成算式要求学生解答。

《C语言程序设计基础》课程设计报告(包含源文件和源代码)

《C语言程序设计基础》课程设计报告(包含源文件和源代码)

为了更好的帮助同学们学习,此文档还包含全部的源文件和源代码,有需要的同学请进本作者的百度空间!《程序设计基础》课程设计报告题目:学院教学信息管理系统日期:2013.5.21班级:计算机科学与技术1202班学号:************姓名:******一.设计目的本课程设计是计算机科学与技术专业重要的实践性环节之一,是在学生学习完《程序设计基础(C语言)》课程后进行的一次全面的综合练习。

本课程设计的目的:1. 巩固和加深学生对C语言课程的基本知识的理解和掌握2. 掌握C语言编程和程序调试的基本技能3. 利用C语言进行基本的软件设计4. 掌握书写程序设计说明文档的能力5. 提高运用C语言解决实际问题的能力二.课程设计任务书题目:学院教学信息管理系统学院教学信息管理系统,每一条记录包括一位教师的职工号、姓名、职称、性别、3门课程教学效果、综合评分。

系统要求实现以下功能:1、输入:输入每一位教师记录,将其信息写入文件中。

2、显示:显示每位教师记录。

3、排序:按职工号或教学效果综合评分进行排序,并显示。

4、查找:完成按姓名或职工号查找教师的相关记录,并显示。

分步实施:1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数。

2、建立一个文件,将每位教师的相关(教学)信息写入文件中并能显示于屏幕上。

3、完成排序(按职工号、姓名、职称等)、查找等功能。

要求:1、用C语言实现程序设计;2、利用结构体数组或者链表实现教师信息的数据结构设计;3、系统的各个功能模块要求用函数实现;4、界面友好(良好的人机交互),程序加必要的注释。

三.系统设计方案用到数据结构的定义:在此程序中用到了结构体的定义,结构体数组的定义以及变量的申明,还用到了外部函数的申明及调用。

在主函数中,输出教师信息的函数是贯穿在程序始终的,例如要实现教师的排序这一模块时,排完序后就需要用输出信息的函数来输出排序后的信息。

这就得需要多个函数共同实现这一个模块。

程序设计基础课程设计报告(c语言实现附源码)(员工工资管理系统)

程序设计基础课程设计报告(c语言实现附源码)(员工工资管理系统)

《程序设计基础》课程设计报告题目: 员工工资管理系统院(系): 信息科学与工程学院专业班级:学生姓名:学号:指导教师:20 16 年 12 月 12 日至20 16 年 12 月 23 日武昌首义学院制程序设计基础课程设计任务书目录1需求与总体设计 (1)2详细设计 (1)3编码实现 (4)4运行结果 (21)总结 (24)1需求与总体设计1.1需求描述设计一个利用文件处理方式实现对员工工资(包括员工编号、员工姓名、年月、岗位工资、奖金、扣款和实发)进行管理,具有增加数据、更新数据、查询数据、删除数据、列表显示数据以及重组文件的功能。

1。

2总体设计先以登陆函数登陆,再进入主菜单,菜单中显示各个要实现的操作,以菜单将各个函数联系起来,对菜单操作以实现系统的目的.1。

3数据结构struct user //登陆者信息{char un[10];char up[10];}us[3] = { "aaa","111",”bbb”,”222",”ccc",”333" };struct yg //员工结构体{short zt; //数据状态long bh; //编号char name[20]; //名字char time[11]; //时间long money; //基本工资long jj; //奖金long kk; //扣款long sf; //实发工资};整个程序只运用了结构体的数据结构,结构体运用于登陆者信息和员工信息,将员工信息封装在一个结构体里,再创建结构体数组,将多个员工信息储存在结构体数组中。

2详细设计2.1 系统功能设计主函数和子函数:系统包含一个主函数,和子函数,分别有登陆子函数,菜单子函数,增加数据子函数,更新数据子函数,查询数据子函数,删除数据子函数,统计数据子函数,重组文件子函数,排序数据子函数,最后两个分别是读取文件和写入文件子函数。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计(大作业)报告课程名称:程序设计基础设计题目:学生成绩记录薄设计院系:信息技术学院班级:设计者:学号:指导教师:设计时间: 2013.7 8.-2013.7.13信息技术学院昆明学院课程设计(大作业)任务书姓名:院(系):信息技术学院专业:计算机科学与技术学号:任务起止日期:2013.7 .8-2013.7.13课程设计题目:学生成绩记录薄设计课程设计要求:(1)通过课程设计,进一步掌握 C 语言的语法结构,基本流程,更加深入和全面理解所学的基本概念、基本原理和基本方法。

(2)独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。

提高程序编制、程序调试及综合应用的能力(3)明确课程设计的目的,通过布置具有一定难度的,能综合运用所学知识的程序设计题目。

(4)程序设计经过需求分析,明确程序设计题目要求,进行合理的设计,编码阶段编出的程序易读、易懂并具有良好的交互性,界面清晰。

测试阶段应指导学生编写测试用例,尽量多地找出程序中的错误,进行调试。

工作计划及安排:第一天的,两个人合作选定题目,建立起程序的构思图形,了解题目意思,确立程序的方向,并且查阅一些资料开始构建程序。

第二天,两人商量分工合作,确定谁写那段函数,并且在总体思路的框架下,逐步写程序,并确保证程序无误。

第三天,将小程序合并,进行调试,对里面出现的问题协商合作共同解决。

第四天,开始写实验报告,对每次失败原因进行总结,并且整合两人思想纂写报告。

第五天,实训课也接近尾声,和班上的同学交流心得体会。

指导教师签字2013年7 月8日课程设计(大作业)成绩学号:姓名:指导教师:课程设计题目:学生成绩记录薄设计总结:通过一周 C 语言课程设计,不仅增加了我对 C 语言学习的兴趣,还让我对 C 语言有了更深的了解。

在这次的实训中,我们通过自己动手查找资料,并自己设计程序,还上机运行验证我们的程序。

虽然在上机调试过程中,我遇到了很多的困难,(比如:很难理解一些逻辑思维上的东西)但通过自己不断的重新理解和修正,最终还是成功的完成了程序的设计。

那种喜悦感难以用言语来表达,这让我感觉到学习也可以是快乐的。

在这次设计我不单单学习到了 C 语言的知识,也学到了许多计算机应用基础知识,对计算机的机体也有了一个大体的了解。

有许多知识,光靠老师上课所讲的和自己看书得到的,还远远不够, C 语言主要是通过上机来熟悉并且运用的,这次的实训课让我深刻的明白了这一点。

所以在以后的学习生活中,我要经常写程序并上机进行调试,不断从中学习新的知识。

还有一点就是:不懂就问。

遇到难题实在解决不了的,问老师同学,和同学共同讨论,有合作精神也是很重要的。

希望以后还有更多的实训机会,让我得到锻炼。

指导教师评语:成绩:填表时间:指导教师签名学生成绩记录薄设计一、课程设计目的与要求1.课程设计目的(1)综合运用之前所学知识(选择控制,循环控制,数组,函数,指针,结构体和文件等)来完成一个简单的信息管理程序的设计。

(2)充分体现和体会函数在程序设计中的必要性和实用性,并反映主函数main ()在程序设计中的实现思路和方法。

2.课程设计要求设计一个简易学生成绩记录簿设计,其中包括:姓名,学号, C 语言成绩;具体功能:1 .系统以菜单方式工作2.创建学生成绩信息并以磁盘文件保存;3.读取磁盘文件并显示输出所有学生的成绩;4.查询学生成绩( 1)按学号查询成绩( 2)学号姓名查询成绩5.添加成绩记录;6.修改指定姓名或学号的学生的成绩并可存盘;7.显示输出 60 分以下、 60~79、 80~89、 90 分以上各分数段的学生信息。

二、总体设计根据系统的要求,系统总体设计如图 1 所示。

学生成绩记录薄学读学姓添修结生取号名加改束信并查查成学程息显询询绩生序输示成成记成入所绩绩录绩有成成绩绩三、详细设计1、数据结构设计#include<stdio.h>#include<stdlib.h>#include<string.h>#include<windows.h>int n=4;struct student{int num;/* 学号 */char name[10];/* 姓名 */float score[3];/* 成绩 */}2.函数说明1.主函数main() 允许用户通过菜单进行功能选择,使用相应的功能代码来调用对应的函数功能。

2.其他部分功能函数包括(1) 将学生成绩信息保存为文件void save();算法思想:①定义指向文件的指针变量;②输入保存路径及文件名,打开文件,若不能打开文件给出提示信息;③将存有学生成绩信息的结构体数组信息依次保存到文件中。

(2 )学生成绩信息录入函数void input()算法思想:①依次录入结构体数组中所包含的各个成员;②直到输入的结构体成员中信息为4,数据输入结束;③返回实际录入的学生成绩信息数。

(3) 从文件中读出学生成绩信息void output();算法思想:①定义指向结构体变量的指针和指向文件的指针;②输入文件的路径,打开文件,若不能打开文件给出提示信息;③将文件中的信息依次读出,最后结构体的指针为NULL 。

3.函数设计(1)主菜单函数 main()功能:函数返回值为整数,代表所选的菜单项int main (){printf("********************************************************* \n");printf("§§\n");printf("<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>§§ \n");printf("§>>欢迎进入学生成绩记录系统 <<§ \n");printf(">>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<§§ \n");printf("§§\n");printf(" §【 1】-------------------------- 创建学生成绩信息§ \n");printf("§§\n");printf(" §【 2】-------------------------- 显示所有学生成绩信息§ \n");printf("§§\n");printf(" §【 3】-------------------------- 添加学生成绩信息§ \n");printf("§§\n");printf(" §【 4】-------------------------- 查询学生成绩信息§ \n");printf("§§\n");printf(" §【 5】-------------------------- 修改学生的信息§\n");printf("§§\n");printf(" §【 6】-------------------------- 按分数段显示学生的信息§ \n");printf("§§\n");printf(" §【 0】-------------------------- 退出§\n");printf("§§\n");printf("*********************************************************\n");printf("请输入相应菜单编号 :");}(2)我负责编写的程序A.添加学生信息void Addstudent(){FILE *fp;struct student s;fp=fopen("stu.dat","ab");if((fp=fopen("stu.dat","ab"))==NULL)printf("File open error!\n");{printf(" 请输入所增加学生的学号姓名 c 语言成绩: \n");scanf("%d",&s.num );scanf("%s",);scanf("%f",&s.score[0]);fwrite (&s,sizeof(struct student),1,fp);fclose(fp);/* 关闭文件 */}printf(" 写入成功 !\n");}//end function Addstudent;B.修改学生成绩void modify(){int number,i;printf(" 请输入要修改信息的学生学号:");scanf("%d",&number);for(i=0;i<n;i++)if(number==stud[i].num)break;/* 查找判断 */if(i<n)/* 查找判断 */{printf(" 请输入修改后的学生的信息:");printf("\n请输入学生的 c 语言成绩: ");scanf("%f",&stud[i].score[0]);save();}elseprintf(" 没找到该学生的信息\n");system("paues");system("cls");}C.查询学生成绩void namecheck(void);void scorecheck(void);void searchmenu(){printf(" *****欢迎进入学生成绩查询系统****** \n");printf("*1------------------ 按姓名查询成绩* \n");printf("*2----------------- 按学号查询成绩* \n");printf("*3----------------- 返回上一层* \n");printf("*4------------------ 退出* \n");printf(" ************************************* \n");printf("请输入相应菜单编号 :");int m;scanf("%d",&m);switch(m){case 1:namecheck();printf("\n");system("PAUSE");system("CLS");break;case 2:scorecheck();printf("\n");system("PAUSE");system("CLS");break;case 3:main();break;case 4: exit(0); break;}}void namecheck(){char name[10];printf(" 按照姓名查询请按\n");printf("\n 请输入姓名 :");scanf("%s",&name);printf(" 查询结果 \n");printf(" 学号姓名 c 语言成绩 \n");if(strcpy(stud[i].name,name)){printf("%d%s%.2f\n",stud[i].num,stud[i].name,stud[i].score[0]);}}void scorecheck(){int b;printf(" 按照学号查询请按\n");{printf("\n 请输入学号 :");scanf("%d",&b);printf(" 查询结果 \n");printf(" 学号姓名 c 语言成绩 \n");for(i=0;i<n;i++)if(stud[i].num ==b){printf("%d%s%.2f\n",stud[i].num,stud[i].name,stud[i].score[0]);}}}四、程序清单和执行结果1.头文件#include<stdio.h>#include<stdlib.h>#include<string.h>#include<windows.h>int n=4;struct student{int num;/* 学号 */char name[10];/* 姓名 */float score[3];/* 成绩 *//****** 以下是函数原型*******/void save(void);void input(void);void output(void);void modify();/* 修改信息 */void searchmenu(void);/* 查询信息 */void namecheck(void);/* 按姓名查询 */void scorecheck(void);/* 按学号查询 */void Addstudent();/* 添加信息 */void sclsearch();/* 成绩按分数段显示*/2.函数源程序代码与运行结果[1]函数源程序代码#include<stdio.h>#include<stdlib.h>#include<string.h>#include<windows.h>int n=4;struct student{int num;char name[10];float score[3];}stud[100];int i,choose,a,t=0;long int num;int main (){void save(void);void input(void);void output(void);void modify();void searchmenu(void);void Addstudent();void sclsearch();while(1){printf("********************************************************* \n");printf("§§\n");printf("§<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>§ \n");printf("§>>欢迎进入学生成绩记录系统 <<§ \n");printf("§>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<§\n");printf("§§\n");printf("§【 1】-------------------------- 创建学生成绩信息§\n");printf("§§\n");printf("§【 2】-------------------------- 显示所有学生成绩信息§\n");printf("§§\n");printf("§【 3】-------------------------- 添加学生成绩信息§\n");printf("§§\n");printf("§【 4】-------------------------- 查询学生成绩信息§\n");printf("§§\n");printf("§【 5】-------------------------- 修改学生的信息§ \n");printf("§§\n");printf("§【 6】-------------------------- 按分数段显示学生的信息§\n");printf("§§\n");printf("§【0】--------------------------退出§ \n");printf("§§\n"); printf(" ********************************************************* \n");printf("请输入相应菜单编号:");scanf("%d",&a);switch(a){case 1:input();save();break;case 2:output();printf("\n");system("PAUSE");system("CLS");break;case 3:Addstudent();printf("\n");system("PAUSE");system("CLS");break;case 4:searchmenu();printf("\n");system("PAUSE");system("CLS");break;case 5:modify();printf("\n");system("PAUSE");system("CLS");break;case 6:sclsearch();printf("\n");system("PAUSE");system("CLS");break;case 0:exit(0);default: ;}}return 0;}void save(){FILE *fp;if ((fp=fopen("stu.dat","wb"))==NULL)/*以只写的方式打开文件*/{printf(" 无法打开文件!\n");return ;}for(i=0;i<n;i++)if (fwrite (&stud[i],sizeof(struct student),1,fp)!=1)/*写入字节为 1 的信息在文件中*/ printf(" 文件写入错误!\n");fclose(fp);/* 关闭文件 */}void input()// 录入学生成绩{int i;char a;for(i=0;i<n;i++){printf("\n请输入学生成绩信息:\n");printf("\n 请依次输入学号、姓名、 c 语言成绩 :\n");scanf("%d%s%f",&stud[i].num,stud[i].name,&stud[i].score[0]);printf(" 输入: y(继续 ), n(终止 )!\n");fflush(stdin);scanf("%c",&a);if(a=='n' || a=='N')break;}n=i+1;}void Addstudent(){FILE *fp;struct student s;fp=fopen("stu.dat","ab");if((fp=fopen("stu.dat","ab"))==NULL)printf("File open error!\n");else{printf(" 请输入所增加学生的学号姓名 c 语言成绩: \n");scanf("%d",&s.num );scanf("%s",);scanf("%f",&s.score[0]);fwrite (&s,sizeof(struct student),1,fp);fclose(fp);/* 关闭文件 */}printf(" 写入成功 !\n");}//end function Addstudent;void output(){int i;//float s;FILE *fp;if((fp=fopen("stu.dat","rb"))==NULL){printf("cannot open file\n");exit(0);}printf("\n 学号姓名 c 语言成绩 \n");for(i=0;fread(&stud[i],sizeof(struct student),1,fp)==1;i++){printf("%d%10s%10.2f\n",stud[i].num,stud[i].name,stud[i].score[0]); }fclose(fp);n=i;}void modify(){int number,i;printf(" 请输入要修改信息的学生学号:");scanf("%d",&number);for(i=0;i<n;i++)if(number==stud[i].num)break;/* 查找判断 */if(i<n)/* 查找判断 */{printf(" 请输入修改后的学生的信息:");printf("\n请输入学生的 c 语言成绩: ");scanf("%f",&stud[i].score[0]);save();}elseprintf(" 没找到该学生的信息\n");system("paues");system("cls");}void namecheck(void);void scorecheck(void);void searchmenu(){printf(" *****欢迎进入学生成绩查询系统****** \n");printf("*1------------------按姓名查询成绩* \n");printf("*2----------------- 按学号查询成绩* \n");printf("*3----------------- 返回上一层* \n");printf("*4------------------退出* \n");printf(" ************************************* \n");printf("请输入相应菜单编号:");int m;scanf("%d",&m);switch(m){case 1:namecheck();printf("\n");system("PAUSE");system("CLS");break;case 2:scorecheck();printf("\n");system("PAUSE");system("CLS");break;case 3:main();break;case 4: exit(0); break;}}void namecheck(){char name[10];printf(" 按照姓名查询请按\n");printf("\n 请输入姓名 :");scanf("%s",&name);printf(" 查询结果 \n");printf(" 学号姓名 c 语言成绩 \n");if(strcpy(stud[i].name,name)){printf("%d%s%.2f\n",stud[i].num,stud[i].name,stud[i].score[0]);}}void scorecheck(){int b;printf(" 按照学号查询请按\n");{printf("\n 请输入学号 :");scanf("%d",&b);printf(" 查询结果 \n");printf(" 学号姓名 c 语言成绩 \n");for(i=0;i<n;i++)if(stud[i].num ==b){printf("%d%s%.2f\n",stud[i].num,stud[i].name,stud[i].score[0]);}}}void sclsearch(){int i;printf("90 分以上 :\n");printf(" 学号姓名 c 语言成绩 \n");for(i=0;i<n;i++){if(stud[i].score[0]>=90)printf("%d%s%.2f\n",stud[i].num,stud[i].name,stud[i].score[0]);}printf("80~89:\n");printf(" 学号姓名 c 语言成绩 \n");for(i=0;i<n;i++){if(stud[i].score[0]>=80&&stud[i].score[0]<90)printf("%d%s%.2f\n",stud[i].num,stud[i].name,stud[i].score[0]);}printf("70~79:\n");printf(" 学号姓名 c 语言成绩 \n");for(i=0;i<n;i++){if(stud[i].score[0]>=70&&stud[i].score[0]<80)printf("%d%s%.2f\n",stud[i].num,stud[i].name,stud[i].score[0]);}printf("60~69:\n");printf(" 学号姓名 c 语言成绩 \n");for(i=0;i<n;i++){if(stud[i].score[0]>=60&&stud[i].score[0]<70)printf("%d%s%.2f\n",stud[i].num,stud[i].name,stud[i].score[0]);}printf("60 分以下 :\n");printf(" 学号姓名 c 语言成绩 \n");for(i=0;i<n;i++){if(stud[i].score[0]<60)printf("%d%s%.2f\n",stud[i].num,stud[i].name,stud[i].score[0]);}}(1)系统以菜单方式工作( 2)学生成绩录入(3)显示所有学生成绩(4)查询学生成绩按姓名查询按学号查询(5)修改学生成绩(6)按分数段显示学生成绩五、调试与测试我在调试我编写的程序当中出现了很多问题,比如,按姓名查询学生成绩中if(strcpy(stud[i].name,name)),开始我写成了 stud[i].name=name,怎么改都有错误,无奈之下请教了同学,最后在同学的帮助下改对了,原来这需要使用strcpy函数才能实现。

相关文档
最新文档