文档库 最新最全的文档下载
当前位置:文档库 › c#记事本实验报告

c#记事本实验报告

c#记事本实验报告
c#记事本实验报告

题目:文本编译器

课程设计报告

姓名:学号:

专业:实验室:

设计时间:2012年12月31日——2013年01月11日

目录

一、系统概要设计 (1)

二、系统详细设计 (1)

三、系统实现与测试(或调试) (4)

四、分析与总结 (11)

参考文献 (11)

一、系统概要设计

本实验的目的是建立一个文本编译器,同时介绍控件的用法。首先使用RichTeextBox控件可用来输入和编辑文本。其次是实现剪切板功能。通过剪切板可以完成数据的剪切,复制,粘贴等功能。然后实现保存打开功能。在文件下弹出,新建,打开,关闭,保存。修改字体使用的是字体对话框FontDialog,然后选择指定字体就行了。最后是实现打印功能,PrintDocument组件是用于完成打印的类。最后代码实现所有功能,这就是本实验的设计思路。

二、系统详细设计

1、新建项目。放置RichTextBox控件到窗体。属性Name=richTextBox1,Dock=Fill,Text=””

2、放置MenuStrip控件到窗体。为菜单增加顶级菜单:编辑,Name为mainMenuEdit,为其弹出菜单增加菜单项:剪切、复制、粘贴、撤销,属性Name分别为:menuItemEditCut、menuItemEditCopy、menuItemEditPaste、menuItemEditUndo。为各个菜单项增加单击事件处理函数如下:

private void menuItemEditCut_Click(object sender, EventArgs e)

{

richTextBox1.Cut();

}

private void menuItemEditCopy_Click(object sender, EventArgs e)

{

richTextBox1.Copy();

}

private void menuItemEditPaste_Click(object sender, EventArgs e)

{

richTextBox1.Paste();

}

private void menuItemUndo_Click(object sender, EventArgs e)

{

richTextBox1.Undo();

}

3、运行,输入一些字符后,选中一段实验复制,剪切,粘贴,撤销等功能。

首先是复制:

4、实现存取文件功能:

顶级菜单的弹出菜单中一般包括如下菜单项:新建、打开、关闭、保存等。

首先放置OpenFileDialog控件和SaveFileDialog控件到窗体中。

为菜单增加顶级菜单:文件,为其弹出菜单增加菜单项:新建、打开、保存、退出。修改这些菜单的Name属性分别为:mainMenuFile、menuItemFileNew、menuItemFileOpen、menuItemFileSave、menuItemFileExit。

在Form1类中定义变量:string s_FileName=””,记录当前编辑的文件名,如果字符串为空,表示还未记录文件名,编辑的文件没有名字,当单击“保存”保存文件时,要请用户输入文件名。

为文件“新建”菜单增加单击事件处理函数:

private void menuItemFileNew_Click(object sender, EventArgs e)

{

richTextBox1.Text = "";

s_FileName = "";//新?建?§文?件t没?有?D文?件t名?

}

为“打开”菜单增加单击事件处理函数:

private void menuItemFileOpen_Click(object sender, EventArgs e)

{

if (openFileDialog1.ShowDialog() == DialogResult.OK)

{

richTextBox1.LoadFile(openFileDialog1.FileName, RichTextBoxStreamType.PlainText);

}

}

为“保存”菜单增加单击事件处理函数:

private void menuItemFileSave_Click(object sender, EventArgs e)

{

if (saveFileDialog1.ShowDialog() == DialogResult.OK)

{

saveFileDialog1.FilterIndex = 1;

s_FileName = saveFileDialog1.FileName;

richTextBox1.SaveFile(saveFileDialog1.FileName, RichTextBoxStreamType.PlainText);

}

}

文件“退出”菜单增加事件处理函数:

private void menuItemFileExit_Click(object sender, EventArgs e)

{

Close();

}

修改字体,放置FontDialog控件到窗体,属性Name=fontDialog1.为菜单增加顶级菜单:格式,属性Name为mainMenuModel,为其弹出菜单增加子菜单:字体,属性Name为menuItemModelFont,为“字体”菜单增加单击菜单处理函数如下:

private void menuItemModelFont_Click(object sender, EventArgs e)

{

if (fontDialog1.ShowDialog() == DialogResult.OK)

richTextBox1.SelectionFont = fontDialog1.Font;

}

效果如下:

实现打印功能:PrintDocument组件是用于完成打印的类。

在主窗体文件Form1.cs中的最后一个using语句之后增加语句:

using System.IO; //处理文件必须引入的命名空间

using System.Drawing.Printing; //打印必须引用的命名空间

在主窗体Form1类中增加变量:

StringReader streamToPrint=null。打印的文件为StringReader streamToPrint=null。在主窗体Form1类中增加打印使用的字体的变量:Font printFont。放置PrintDocument控件到窗体,属性name为printDocument1.

打印所使用的代码:

private void printDocument1_BeginPrint(object sender, PrintPageEventArgs e)

{

printFont = richTextBox1.Font;

streamToPrint = new StringReader(richTextBox1.Text);

}

private void printDocument1_PrintPage(object sender, PrintPageEventArgs e)

{

float linesPerPage = 0;

float yPos = 0;

int count = 0;

float leftMargin = e.MarginBounds.Left;

float topMargin = e.MarginBounds.Top;

string line = null;

linesPerPage = e.MarginBounds.Height / printFont.GetHeight(e.Graphics);

while (count < linesPerPage && ((line = streamToPrint.ReadLine()) != null)) {

yPos = topMargin + (count * printFont.GetHeight(e.Graphics));

e.Graphics.DrawString(line, printFont, Brushes.Black, leftMargin, yPos,

new StringFormat());

count++;

}

if (line != null)

e.HasMorePages = true;

else

e.HasMorePages = false;

}

private void打?¨?印??ToolStripMenuItem_Click(object sender, EventArgs e) {

printDialog1.Document = printDocument1;

if (printDialog1.ShowDialog(this) == DialogResult.OK)

printDocument1.Print();

}

private void printDocument1_EndPrint(object sender, PrintPageEventArgs e) {

if (streamToPrint != null)

streamToPrint.Close();

}

三、系统实现与测试(或调试)

实现代码:

namespace记?事o?本à?

{

public partial class Form1 : Form

{

string s_FileName = "";

StringReader streamToPrint = null;

System.Drawing.Font printFont;

public Form1()

{

InitializeComponent();

}

private void richTextBox1_TextChanged(object sender, EventArgs e)

{

}

private void剪?切DToolStripMenuItem_Click(object sender, EventArgs e) {

}

private void menuItemEditCut_Click(object sender, EventArgs e)

{

richTextBox1.Cut();

}

private void menuItemEditCopy_Click(object sender, EventArgs e)

{

richTextBox1.Copy();

}

private void menuItemEditPaste_Click(object sender, EventArgs e)

{

richTextBox1.Paste();

}

private void menuItemUndo_Click(object sender, EventArgs e)

{

richTextBox1.Undo();

}

private void openFileDialog1_FileOk(object sender, CancelEventArgs e) {

}

private void mainMenuFile_Click(object sender, EventArgs e)

{

}

private void menuItemFileNew_Click(object sender, EventArgs e)

{

richTextBox1.Text = "";

s_FileName = "";

}

private void menuItemFileOpen_Click(object sender, EventArgs e)

{

if (openFileDialog1.ShowDialog() == DialogResult.OK)

{

richTextBox1.LoadFile(openFileDialog1.FileName, RichTextBoxStreamType.PlainText);

}

}

private void menuItemFileSave_Click(object sender, EventArgs e)

{

if (saveFileDialog1.ShowDialog() == DialogResult.OK)

{

saveFileDialog1.Filter = "纯??文?本à?文?件t(ê?§*.txt)|*.txt|所¨′有?D 文?件t(ê?§*.*)ê?|*.*";

saveFileDialog1.FilterIndex = 1;

s_FileName = saveFileDialog1.FileName;

richTextBox1.SaveFile(saveFileDialog1.FileName, RichTextBoxStreamType.PlainText);

}

}

private void menuItemFileExit_Click(object sender, EventArgs e)

{

Close();

}

private void fontDialog1_Apply(object sender, EventArgs e)

{

}

private void menuItemModelFont_Click(object sender, EventArgs e)

{

if (fontDialog1.ShowDialog() == DialogResult.OK)

richTextBox1.SelectionFont = fontDialog1.Font;

}

private void printDocument1_BeginPrint(object sender, PrintPageEventArgs e)

{

printFont = richTextBox1.Font;?

streamToPrint = new StringReader(richTextBox1.Text);

}

private void printDocument1_PrintPage(object sender, PrintPageEventArgs e)

{

float linesPerPage = 0;

float yPos = 0;

int count = 0;

float leftMargin = e.MarginBounds.Left;

float topMargin = e.MarginBounds.Top;

string line = null;

linesPerPage = e.MarginBounds.Height /

printFont.GetHeight(e.Graphics);

while (count < linesPerPage && ((line = streamToPrint.ReadLine()) != null)) {

yPos = topMargin + (count * printFont.GetHeight(e.Graphics));

e.Graphics.DrawString(line, printFont, Brushes.Black, leftMargin, yPos, new StringFormat());

count++;

}

if (line != null)

e.HasMorePages = true;

else

e.HasMorePages = false;

}

private void打?¨?印??ToolStripMenuItem_Click(object sender, EventArgs e)

{

printDialog1.Document = printDocument1;

if (printDialog1.ShowDialog(this) == DialogResult.OK)

printDocument1.Print();

}

private void printDocument1_EndPrint(object sender, PrintPageEventArgs e) {

if (streamToPrint != null)

streamToPrint.Close();

} //释o¨a放¤?不?用??的ì?资á¨o源??

}

}

;

复制:

复制后撤销:

剪切:

保存:

打开:

打印:

修改字体:

四、分析与总结

通过本实验我学到了如何编写文本文档程序,学到了如何使用关于打印和修改字体的控件的使用,在编写的过程中也遇到了一些错误,但通过请教水平高的同学,这些错误都得到了很好的解决。这次试验又让我对C#应用程序的认识又更深了一步。

参考文献

[1]

[2]

C语言实验报告合集

《C语言程序设计》实验报告 专业:班级:学号:学生姓名:实验日期:成绩:指导老师: 实验单元一程序基本结构设计 一、实验题目 实验一熟悉VC++环境 二、实验目的 1. 熟悉C程序编辑环境,掌握主要菜单项的作用。 2. 熟悉编写一个C程序的上机过程(编辑、编译、链接和运行)。 3. 熟悉C程序的基本输入输出语句 三、实验内容 1. 书本第一章的例一程序。 2. 由键盘输入两个整数,求得它们的和并输出至屏幕。 四、实验环境 1.硬件环境:当前所有电脑硬件环境均支持。 2.软件环境:Visual C++ 6.0 五、实验代码及结果(程序运行结果请以截屏图给出) 1.源程序代码: #include "stdio.h" int main() {int a,b,sum; a=2; b=3; sum=a+b; printf("007zhang\nsum=%d\n",sum); return 0; } 运行结果为:

2.源程序代码: 运行结果为: 六、实验心得(请对每个实验题目编程及调试运行中遇到的问题及解决方案进行简单总结)

《C语言程序设计》实验报告 专业:班级:学号:学生姓名: 实验日期:成绩:指导老师: 实验单元一程序基本结构设计 一、实验题目 实验二顺序结构程序设计 二、实验目的 (1)掌握C语言数据类型以及变量的声明。 (2)掌握C语言的赋值运算符、赋值表达式、赋值语句。 (3)掌握C语言的整型和字符型的混合运算。 (4)掌握C语言的输入、输出函数的使用格式。 三、实验内容 1.有人用温度计测量出华氏温度,现输入华氏温度f,请编写程序把它转换为摄氏温度c。 已知华氏温度和摄氏温度有如下关系:c=5/9(f-32)。 2.输入长方形的长和宽,编程求该长方形的周长和面积。(要求周长和面积保留两位小数) 3.将字符串“China”译成密码,译码规则是:用字母表顺序中原来字母后面的第5个字母 替代原来的字母。请编写程序实现译码并输出。 四、实验环境 1.硬件环境:当前所有电脑硬件环境均支持。 2.软件环境:Visual C++ 6.0 五、实验代码及结果(程序运行结果请以截屏图给出) 1.源程序代码: 运行结果为: 2.源程序代码: 运行结果为: 3.源程序代码: 运行结果为: 六、实验心得(请对每个实验题目编程及调试运行中遇到的问题及解决方案进

JAVA简单记事本程序设计实验报告(带源码).

JAVA程序设计 实验报告 院系:信息工程系 专业:计算机应用技术 班级:11计算机01班 姓名:Civen 任课教师:XXX 实验题目:JA V A简单记事本程序设计

目录 目录 (1) 一、引言 (2) 1.1 课程设计目的 (2) 1.2 题目说明 (2) 1.3 开发工具介绍 (2) 二、总体设计 ......................................................................... - 4 - 2.1系统开发平台.............................................................. - 4 - 2.2 系统流程图 (4) 2.3功能结构图.................................... 错误!未定义书签。 2.4数据库设计.................................... 错误!未定义书签。 三、详细说明 (4) 3.1 系统实施................................................................... - 11 - 四、系统的调试和运行 (9) 五、课程设计总结 (9) 六、参考文献 (9) 附录(源程序代码) (10)

一、引言 1.1 课程设计目的 1) 复习,巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握; 2) 课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和 实际有机的结合起来,锻炼学生的分析解决实际问题的能力,提高学生适应实际,实践编程的能力; 3) 培养学生在项目开发中团队合作精神,创新意识及能力。 1.掌握窗口、菜单等高级组件的应用。 2.掌握Java Swing的使用方法。 3.了解GUI应用程序的创建过程与方法。 1.2 题目说明 课题:学生成绩管理 4.功能要求: 编写一个简单记事本程序,要求包含以下菜单项 文件新建、打开、保存、退出 编辑剪切、拷贝、粘贴、查找 帮助关于 5.实现文件和编辑菜单里的功能 1.3 开发工具介绍 Eclipse是一种可扩展的开放源代码IDE。2001年11月,IBM公司捐出价值4,000万美元的源代码组建了Eclipse联盟,并由该联盟负责这种工具的后续开发。集成开发环境(IDE)经常将其应用范围限定在“开发、构建和调试”的周期之中。为了帮助集成开发环境(IDE)克服目前的局限性,业界厂商合作创建了Eclipse平台。Eclipse允许在同

C语言实验报告

《C语言程序设计实训1》报告 设计题目:基于数组的学生信息管理系统学院名称:信息科学技术学院

专业:计算机科学与技术 班级: 姓名:学号 指导教师: 提交日期: 2014年12月22日 一、实验内容 编写并调试程序,实现学校各专业班级学生信息的管理。10个学生的信息存储在文件中。在头文件中定义学生信息的结构体类型,包括: 学号、姓名、专业、班级、3门成绩;和符号常量N(学生数)。(同一班 级的学生可以属于不同的专业,同一专业的学生可以属于不同的班级)

二、实验要求 (1)main函数:以菜单形式将各项功能提供给用户,根据用户的选择, 调用相应的函数。 STU student[N]; 函数 #include "" void main() { int i,n,id,num,m,sub,corse;将从文件中读取10个人的信\n"); printf("\n2.您将从文件中随机读取第n(0<=n<=9)个学生的信息\n") printf("\n3.您将根据某一班级某一专业总分超过多少进行查找\n"); printf("\n4.您将求某一课程分数最高的学生序号的下标\n"); printf("\n5.您将对平均成绩由低到高进行简单选择排序法\n ");

printf("\n6.您将对某一个班的平均成绩由低到高进行起泡排序法\n"); printf("\n7.您将对某门专业的学生的某门课程成绩由低到高进行直接插入排序法\n"); printf("\n8.您将把学生信息存入文件\n"); scanf("%d",&id); getchar(); switch(id){ case 1: { printf("\n从文件中读取信息\n"); Input(students,sizeof(students)/sizeof(STU));Sort_select 函数 #include "" void Sort_select(STU * p) { int i,j,k; float sum,ave[N],t; STU tem; for(i=0;i

大学计算机实验报告

《大学计算机基础Ⅰ》课程 实验报告 (以上由学生填写) 西南大学计算机与信息科学学院 计算机基础教育系 2017年12月8日 实验成绩记载 课程Array实验报告一 一、实验题目:Win7得基本操作、文件管理与控制面板得使用 二、实验目得: 1.掌握“计算机"(资源管理器)得使用。 2.掌握文件与文件夹得基本操作。 3.了解显示属性得相关内容,掌握显示属性得设置。 4.掌握鼠标、键盘得属性设置。 5.掌握应用程序得添加/删除功能。 6.掌握输入法得设置方法.

7.掌握系统属性得设置方法。 8.掌握计算机名或域得查瞧及更改方法。 三、实验主要内容及过程(实验主要内容得介绍、主要得操作步骤) (列出实验主要内容通过截屏显示出操作过程以及实验结果) (一)文件与文件夹得管理 1、双击桌面上“计算机"→选择D盘→空白处右击选择“新建”重命名 文件夹→改名为“windows练习”→双击“windows练习"→右击空白处分别新建三个文件夹为“LX1”、“LX2”、“LX3”. 2、双击“C盘”打开→搜索框搜索“*、wmf”单击搜索按钮→选择任 意三个图片文件→右击→选择“复制”→粘贴至“LX1"文件夹中→并对三个文件分别重命名为“图片1、wmf”、“图片2、wmf”、“图片3、wmf”。 3、打开“LX1”文件夹→右击图片“1、wmf”→剪切→打开“LX2” 文件夹→右击空白处点击“粘贴”→选中剩下得两个文件→复制→打开“LX3”文件夹→右击选择“粘贴”→右击“LX2”选择“剪切” →打开“LX1”文件夹→右击选择“粘贴”

4、右击“LX3”文件夹→选择“属性”→选择“常规”属性卡→勾选“隐 藏”→右击“LX2"文件夹→选择“常规"属性卡→勾选“已读"

课程设计—java记事本

import javax.swing.*; import javax.swing.undo.*; import javax.swing.text.*; import javax.swing.event.*; import java.awt.*; import java.awt.event.*; import java.text.*; import java.util.*; import java.awt.datatransfer.*; import java.awt.print.*; import java.io.*; public class Jishiben extends JFrame implements ActionListener { JPopupMenu pm ; JTextArea ta; boolean isNewFile=true; //是否新文件(未保存过的) File currentFile; //当前文件名 String oldValue; //存放编辑区原来的内容,用于比较文本是否有改动//protected UndoManager undo = new UndoManager(); //protected UndoableEditListener undoHandler = new UndoHandler(); JToolBar tbar = new JToolBar(); JCheckBoxMenuItem mt19; public Jishiben() { super("记事本"); //Container ct=getContentPane(); //以下三句是设置编辑区域及滚动条 ta = new JTextArea(); JScrollPane sp = new JScrollPane(ta); add(sp); JMenuBar mb = new JMenuBar(); //设置文件菜单 JMenu mu1 = new JMenu("文件(F)",true); mu1.setMnemonic('F');//设置快捷键按下ALT+F激活打开菜单 JMenuItem mt1 = new JMenuItem("新建(N)",'N'); mt1.setMnemonic('N'); //mt1.addActionListener(new new1()); JMenuItem mt2 = new JMenuItem("打开(O)...",'O'); mt2.setMnemonic('O'); mt2.addActionListener(this); JMenuItem mt3 = new JMenuItem("保存(S)",'S'); //mt3.addActionListener(new save()); mu1.add(mt3); JMenuItem mt4 = new JMenuItem("另存为(A)..."); JMenuItem mt5 = new JMenuItem("页面设置(A)..."); JMenuItem mt6 = new JMenuItem("打印(P)..."); JMenuItem mt7 = new JMenuItem("退出(X)",'X');

c语言实验报告

C语言实验报告 说明 1,所有程序均用VC6.0编译运行,文件名命名为姓名+日期,因为实验存在补做,所以并不是按照日期先后排列的。 2,为了使截图清晰,手动将运行窗口由“黑底白字”改为了“白底黑字”。 实验2 数据类型、运算符和表达式 一、实验目的: (1)掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量、以及对它们赋值的方法。 (2)学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(――)运算符的使用。 (3)掌握C语言的输入和输出函数的使用 (4)进一步熟悉C程序的编辑、编译、连接和运行的过程。 三、程序调试与问题解决: (1)输人并运行下面的程序 #include void main() { char c1,c2; c1='a'; c2='b'; printf("%c %c\n",c1,c2); } ○1运行此程序。 ○2在上面printf语句的下面再增加一个printf语句。

printf("%d %d\n",c1,c2); 再运行,并分析结果。 输出结果如图,编译成功,无错误。 ○3将第3行改为 int c1,c2; 再运行,并分析结果。 ○4再将第4、5行改为 c1=a; c2=b; 再运行,并分析结果。 a,b没有定义,编译报错。 ○5再将第4、5行改为 c1=‘’a‘’; c2=‘’b‘’; 再运行,并分析结果。 ○6再将第4、5行改为 c1=300; c2=400; 再运行,并分析结果。 以字符型输出时,输出的将是300,400对应的字符。 (2)输人并运行教材第3章习题3. 6给出的程序 #include main () { char c1='a',c2='b',c3='c',c4='\101',c5='\116';

java实验报告_计算器_记事本_井字游戏

课程设计报告 实验内容:综合课程设计 相关课程: Java程序设计 学期: 2009-2010学年第2学期 学时学分: 48学时 3学分 专业班级: xxxxxxxx 学号: xxxxxxxxxxx 姓名: xxxxxxx 指导老师: xxx 提交日期: xxxx年 xx月xx日

题目JAVA课程设计 一、实验目的 通过课程设计,主要要达到两个目的,一是检验和巩固专业知识、二是提高综合素质和能力。信科0821班学生的课程设计主要是Java语言程序设计的实现。通过该课程设计,可以将学生课堂上掌握的理论知识与处理数据的业务相结合,以检验我们同学们掌握知识的宽度、深度及对知识的综合运用能力。 二、实验环境 硬件环境CPU:AMD5000+ 双核主板:华硕M2N-X 显示器: 1024x768/256色 操作系统:Windows XP;JDK:jdk-6u18-windows-i586; 运行环境以及调试软件:JCreator Pro 三、实验内容 内容一:设计一个计算器,利用它可以进行简单的四则运算(加、减、乘、除、开方)等,但仅限于十进制下,此外还可以进行(八进制,十进制,十六进制)之间的相互转换。 内容二:设计一个记事本,菜单中要求有文件,编辑,和帮助。文 件中有新建、打开、保存和退出;编辑中有剪切、复制和粘贴;帮助中 显示开发人和版本信息。 内容三:编写tic-tac-toe游戏程序。即 3*3的9个方格子,每人 下一次看谁先连成一行3个 四、算法分析、设计与描述 1.算法分析和设计 内容(1) 算法分析: 首先,设计对输入数字的进行转换,不进行转换操作则默认为十进制,然后进行符号转换操作以及正弦函数等,接着可以进行加减乘除等 运算,添加“C”、“CE”按钮进行退格和清空操作,清空操作显示“0”,最后在帮助中显示开发人信息。 功能及界面设计: 功能1:按下数字键在液晶平上会显示数字,这时计算器最基本的 功能。 功能2:输入数字后,点击进制转换,可转换成二、八进制;按“exp”“log”键,则进行e次幂运算和自然对数运算;按“tan”“cos”“sin”则进行三角函数运算。 功能3:按“+”“-”“*”“/”分别进行四则运算 功能4:在任何时候按下“+/-”键,计算器文本框上的数字置反号。 功能5:第一次按下“运算”键,再按下数字键,将重新输入第二个数字。再次按下“运算”键,将算出前两个数字运算的结果,然后按下数

华北水利水电大学C语言实验报告(六)

华北水院高级语言程序设计(C语言)实验报告(六) --学年第学期 级专业:学号:姓名:……………………………………………………………………………………………… 一、实验题目:指针 二、实验目的:(略) 三、实验内容: 1. 程序验证(略) 2.程序设计 1)分别求出数组中所有3的倍数之和以及5的倍数之和。形参n给了数组中数据的个数,利用指针three返回3的倍数之和,利用指针five返回5的倍数之和。例如:数组中的值依次为:1,5,9,2,3,15,11,6,10;则利用指针three返回3的倍数之和33;利用指针five返回5的倍数之和30。请在下面空白处完善这一函数的功能,并且调试运行出结果。 源代码:运行结果: #include #define N 20 void fun(int *a,int n,int *three,int *five) { int i; *three=0;*five=0; for(i=0;i

C#记事本的实现实验报告

集美大学计算机工程学院实验报告 课程名称:C#程序设计班级:计算0711实验成绩: 指导教师:陈杰姓名:黄燕平 实验项目名称:记事本实现学号:2007810020上机实践日期:2010.5.25实验项目编号:实验三组号:上机实践时间:学时 一、目的(本次实验所涉及并要求掌握的知识点) 1.通过实验掌握windows程序设计的基础,以及常见windows控件的使用; 2.学习掌握记事本实现的思想以及编程方法; 二、实验内容与设计思想(设计思路、主要数据结构、主要代码结构、主要代码段分析、电路图等) 实现记事本的Window运用程序,其功能能够实现记事本的功能(可参见Window 附件中的记事本基本格式); 三、实验使用环境(本次实验所使用的平台和相关软件) Windows操作系统Microsoft Visual Studio 2008编程软件 四、实验步骤和调试过程(实验步骤、测试数据设计、测试结果分析) 记事本的实现:设计过程主要通过运用Window工具,利用MenuStrip工具设计主要的功能格式,之后再通过RichTextBox工具设置所要实现的记事本的编辑 框,作为输入输出时用(设置时为了提高实用性要求其在父容器中停 靠);最后就是对照相应的控件进行相应的编程。其实现代码如下:using System; using System.Collections.Generic; using https://www.wendangku.net/doc/4c1425553.html,ponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace WindowsFormsApplication6 { public partial class Form1 : Form { public Form1() { InitializeComponent(); richTextBox1.Text = ""; //*初始化编辑文本框为空; } private void退出ToolStripMenuItem_Click(object sender, EventArgs e) { Application.Exit(); }

c语言实验报告

丽水学院计算机实验报告

丽水学院计算机实验报告 一、实验目的 1.熟悉Visual C++和C-Free等集成环境,掌握运行一个C程序的基本步骤,包括编辑、编译、连接和运行。 2.掌握算术表达式和赋值表达式的使用。 3.掌握基本输入、输出函数的使用。 4.能够编程实现简单的数据处理。 二、实验环境 硬件:Pentium以上的计算机。 软件:Windows XP操作系统、Visual C++和C-Free等集成环境。 三、实验内容和结果 1.编程题1 在屏幕上显示一个短句“What is a computer?” 思考: (1)如何在屏幕上显示你自己的学号,姓名和班级? (2)如何在屏幕上显示数字、英文字母和汉字等信息?例如:“你在机房吗?” 编程题1源程序: #include<> void main() { printf("What is a computer?\n");

} 程序运行结果: What is a computer? 思考题(1): #include<> void main() { printf(",小王,班级\n"); } 思考题(2): #include<> void main() { printf("英文字母abcdefgABCDEFG\n"); printf("汉字:哇哈哈啊哈和\n"); } 2.编程题2 在屏幕上显示下列图形。 * * * * * * * * * *

思考:如何在屏幕上显示下列图形? A A A A 编程题2源程序: #include<> void main() { int i,j; for(j=1;j<5;j++) { for(i=5;i>j;i--) printf("*"); printf("\n"); } } 程序运行结果: * * * * * * * * * * 思考题:

JAVA简单记事本程序设计实验报告

实验10 JAVA简单记事本程序设计 实验目的 1) 复习,巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握; 2) 课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和 实际有机的结合起来,锻炼学生的分析解决实际问题的能力,提高学生适应实际,实践编程的能力; 3) 培养学生在项目开发中团队合作精神,创新意识及能力。 1.掌握窗口、菜单等高级组件的应用。 2.掌握Java Swing的使用方法。 3.了解GUI应用程序的创建过程与方法。 实验内容 课题:学生成绩管理 1、功能要求: 编写一个简单记事本程序,要求包含以下菜单项 文件新建、打开、保存、退出 编辑剪切、拷贝、粘贴、查找 帮助关于 2、实现文件和编辑菜单里的功能

3.1 系统实施 1:界面设计 创建一个下拉菜单和文本域,在文本域中显示编辑的文件信息。 主要代码: f=new Frame(s); p1=new TextArea(""); f.setSize(400,600); f.setBackground(Color.white); f.setVisible(true); menubar=new MenuBar(); menu1=new Menu("文件"); menu2=new Menu("编辑"); menu3=new Menu("帮助"); item1=new MenuItem("新建"); item2=new MenuItem("打开"); item3=new MenuItem("保存");

item4=new MenuItem("另存为"); item5=new MenuItem("退出"); item6=new MenuItem("全选"); item7=new MenuItem("复制"); item8=new MenuItem("剪切"); item9=new MenuItem("粘贴"); item10=new MenuItem("关于"); menu1.add(item1); menu1.add(item2); menu1.add(item4); menu1.add(item5); menu2.add(item6); menu2.add(item7); menu2.add(item8); menu2.add(item9); menu3.add(item10); menubar.add(menu1); menubar.add(menu2); menubar.add(menu3); f.setMenuBar(menubar); 2:功能设计 对每个菜单项进行注册监听。点击不同菜单项时,显示不同界面。 主要代码 item1.addActionListener(this); item2.addActionListener(this);

实验一基本认识及基本操作实验报告.docx

谢谢观赏实验一V I S S I M基本认识及基本操作实验报告 一、实验目的 掌握交通仿真系统VISSIM基本功能的使用。 二、实验原理 以基本路段、出口匝道、无信号平面交叉口为例,练习基本交通仿真操作。 三、实验内容 1、基本路段仿真 2、设置行程时间检测器 3、道路的连接和路径决策 4、冲突区的设置 四、实验步骤 单击菜单栏上的View,选择Options,在Languages&Units下选择Chinese,切换成中文。 1、基本路段仿真步骤 (1)绘制路段:单击“路段&连接器”按钮,切换到路段编辑状态,将鼠标移到视图区,确定任意起点按住鼠标右键,平行向右移动鼠标,在需要的长度放开鼠标右键,路段绘制完成,在弹出的“路段属性”对话框内设置路段属性。车道数设置为“3”,单击“完成”。 (2)流量设置:单击“车辆输入”按钮,切换到路段流量编辑状态,双击路段,在“车辆输入”对话框输入流量“1500”,车辆构成选择“Default”。路段起点出现黑色线段,表示已完成流量设置。 (3)运行仿真:菜单栏单击“仿真”—>“参数”,在弹出的“仿真参数”对话框内调节仿真运行速度,为看清车辆行驶,调小速度为“6仿真秒/s”,单击确定。 2、设置行程时间检测器步骤: (1)单击行程时间,左键单击选中主路段,然后在主路段靠近起点某处右键,出现红色竖线,起点检测器设置完成, 再在靠近终点处右键出现绿色竖线同时弹出“创建行程时间检测”对话框,单击确定。 (2)评价结果输出:菜单栏单击“评价”—>“文件”在评价对话框内勾选行程时间。单击确定。 (3)运行仿真:单击上部工具栏连续仿真按钮,然后结束停止仿真。 在根目录右键打开“.rsz”文件,选择打开方式为记事本,最后一行第二个数字则为平均行程时间。 3、道路的连接和路径决策步骤 (1)添加出口匝道:按绘制路段步骤添加一段出口匝道。 (2)连接匝道:单击“路段&连接器”按钮,切换到路段编辑状态,鼠标移到主路段,左键单击显示出主路段中心线,右键单击拖动鼠标到与匝道的连接处,匝道发生 谢谢观赏

C语言实验报告六

数学与软件科学学院实验报告 学期:2013至_2014 第_ 1 学期时间:2013年12月07日 课程名称:程序设计基础教程-C语言专业:数学与应用数学 2012级1班 实验编号:06实验项目:基于函数的模块化程序设计 指导教师_ 姓名:学号:实验成绩:良+ 一、实验目的及要求 (1)了解和掌握C语言环境下模块化程序设计的基础----基于函数模块的程序设计技术; (2) 复习C语言程序的基本结构特点,了解基于函数模块的程序模块及其调用关系、过程; (3) 函数的声明、定义、使用方法; (4) 对各种变量属性的使用方法; (5) 对C语言中常用的预编译语句的基本掌握。 二、实验内容(第1题任选其两个小题,第2题和第3题必做) 1.函数的声明、定义和使用方法。具体实例如下: (1) 编写一个在屏幕上画一条正弦曲线的函数; (2) 编写一个函数,它可以求出给定数的所有因子,如下形式显示其结果: 72=2*2*2*3*3; (3) 分别写出一个求N个数的最大公约数和最小公倍数的递归函数; (4) 试编制n碟片hanoi塔的问题求解函数,并利用它求解4个盘片的结果; (5) 试编写求n!的函数,并求n=7的结果。 具体要求如下: (1) 编写程序通过调试获得正确结果; (2) 分析函数的声明、定义和使用方法; (3) 分别分析函数调用时的参数传值调用方法。 2.有关变量的属性实验(静态、动态、全局、局部等方面)。具体实例如下: (1) 仔细分析以下程序的执行结果,然后上机运行如下程序段,并对各个 变量的属性及其使用结果进行比较分析: int main(void) { /******(a)******/ int nX=1; {/******(b)******/ void prt(void); int nX=3;

C语言实验报告6——函数

学生实验报告 学号 : 日期 : 2014-06-22 系别计算机科 学与技术 专业 计算机科学 与技术(师) 班级姓名 课程名称程序设计基础 课程 类型 专业课学时数 2 实验 名称 函数 实验目的: 掌握C语言函数的定义与调用方法; 理解C语言函数的调用过程; 学会编写函数构造程序.。 实验要求: 实验后写实验报告。 1.实验内容: 1.阅读下列程序并执行,理解程序的功能并记录程序运行结果#include "stdio.h" int x,y; void num() { int a = 15,b = 10; x = a - b; y = a + b; } void main() { int a = 7,b = 5; x = a + b; y = a - b; num(); printf("%d,%d\n",x,y);

} 运行结果: 2、阅读下面程序并执行,理解程序并记录程序运行结果#include "stdio.h" void main() { int a=2,i; for (i=0;i<3;i++)printf("%4d",f(a)); } f(int a) {

int b=0; int c=3; b++; c++; return(a+b+c); } 运行结果: 3、调试运行教材146页-156页例7.1-例7.3页程序,理解并掌握程序改进所采用的程序设计技术。 7.1题

#include "stdio.h" /*函数功能:用迭代法计算n!*/ long Fact (int n) { int i; long result=1; for(i=2;i<=n;i++) { result*=i; } return result; } int main() { int m; long ret; printf("Input m:"); scanf("%d",&m); ret=Fact(m); printf("%d!=%ld\n",m,ret); return 0;

Java记事本

功能:实现了记事本的基本功能,动态界面,文件流,打开文件,修改文件,保存文件,另存为,自定义文件名和格式。本来想实现与数据库连接,但是要实现跨面板调用,不是一件简单的事,所以搁浅了,另外,关于字体的优化类就交给有兴趣的同学们了。 在Eclipse中的结构图如下: 图1 部分运行效果图:

图2 图3 以上图1的类中,有一些是不必要的,是我在制作过程中的测试类,所以在这里只把必要的类附上,运行绝对没有问题: com.yangcong.extra包: 1.OperateJPanel.java package com.yangcong.extra; import java.awt.*; import java.awt.event.*; import java.io.*; import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; import javax.swing.*; import com.yangcong.tools.*; public class OperateJPanel extends JPanel implements ActionListener,KeyListener { public Boolean flag=false;//用以判断是否显示第三个面板 String diaryName; String diaryDirectory; int riJiNum; BackTool backTool;

Color myColor; JTextArea myPad; JScrollPane jScrollPane; JToolBar gongJuTiao; JButton gongJu1,gongJu2,gongJu3,gongJu4; /*JMenuBar caiDanTiao; JMenu caiDan1; JMenuItem caiDanXianga;*/ BorderLayout borderLayout; JFileChooser jFileChooser; File duFile=null,xieFile=null; InputStreamReader du=null; OutputStreamWriter xie=null; public OperateJPanel() { //手型光标 Cursor myCursor=new CursorMouse().CursorMouse(); borderLayout=new BorderLayout(); this.setLayout(borderLayout); /* caiDanTiao=new JMenuBar();//菜单条 caiDan1=new JMenu("文件"); caiDanXianga=new JMenuItem("打开", new ImageIcon("images/open.png")); caiDan1.add(caiDanXianga); caiDanTiao.add(caiDan1); //this.add(caiDanTiao); */ gongJuTiao=new JToolBar();//工具条 gongJu1=new JButton("打开", new ImageIcon("images/open.png")); gongJu1.setCursor(myCursor); gongJu1.addActionListener(this); gongJu2=new JButton("保存", new ImageIcon("images/save.png")); gongJu2.setCursor(myCursor); gongJu2.addActionListener(this); gongJu3=new JButton("返回", new ImageIcon("images/return.png")); gongJu3.setCursor(myCursor); gongJu3.addActionListener(this); /* * gongJu4=new JButton("列表", new ImageIcon("images/list.png")); gongJu4.setCursor(myCursor); gongJu4.addActionListener(this); */

C语言实验报告

《程序设计基础》实验报告

{ float a, b; printf_s("please input cost price of TV:"); scanf_s("%f", &a); b = a*K; printf_s("the current price of TV:"); printf_s("%f", b); return 0; 2. #include"stdafx.h" int main() { int a, b, c, d, e, f; printf_s("please input three figures:"); scanf_s("%d", &a); b = a / 100; c = a % 100; d = c / 10; e = c % 10; f = e * 100 + d * 10 + b; printf_s("the new three figures:"); printf_s("%d", f); return 0; } 3. #include"stdafx.h" int main() { float a, b, c, d, e; printf_s("please input scores:\n");

scanf_s("%f%f%f", &a, &b, &c); d = a + b + c; e = (a + b + c) / 3; printf_s("the total scores:"); printf_s("%5.1f\n", d); printf_s("the average scores:"); printf_s("%4.1f\n", e); return 0; } 4. #include"stdafx.h" int main() { float a, b; printf("please input a number:"); scanf_s("%f", &a); printf_s("the integer part is:"); printf_s("%d\n", (int)a); b = a - (int)a; printf_s("the decimal part is:"); printf_s("%2.1f", b); return 0; } 5. #include"stdafx.h"

java记事本实验报告

期末考查大作业任务书 课程名称:Java语言程序设计设计实验 题目:简单记事本的设计与实现 学院:管理学院系:信息管理系 专业班级: 学号: 学生姓名: 起讫日期:2015-09-01至2015-12-31 课任教师:郭路生 学院审核(签名): 审核日期: 一、实验内容 完成一个简单的记事本程序。 二、实验要求 1. 实现一个记事本窗口,能够处理关闭处理窗口事件。

2. 记事本可进行文本编辑 3.记事本具有菜单。 4. 具有保存和打开功能。 5. 具有字体大小、风格等功能 6. 具有复制、粘贴功能(可选项) 三、主要仪器设备及耗材 计算机、eclipse 四、主要参考资料 1. 网络教学台平教材材料列出的资料 2. 教材及实验指导 3. 老师演示的视频 4. 网络上相关资料 五、实验步骤 1、程序代码截图 程序源代码(文本版) import ; import java.awt.*; import java.io.*; import javax.swing.*; public class MyJnp extends Frame implements ActionListener { //主界面设置 Menu wenjian = new Menu("文件"); Menu geshi = new Menu("格式"); Menu help = new Menu("帮助"); MenuBar bar = new MenuBar(); MenuItem dakai = new MenuItem("打开"); MenuItem xinjian = new MenuItem("新建"); MenuItem baocun = new MenuItem("保存"); MenuItem tuichu = new MenuItem("退出");

JAVA课程设计-编写一个记事本程序

Java语言程序设计B报告 题目:编写一个记事本程序 一.要求:用图形用户界面实现。能实现编辑、保存、另存为、查找替换等功能。提示:使用文件输入输出流。 二.课程设计思路。 设计两个类,一个记事本的类(JSB),具有程序的要求和功能再创建一个课设的主类(KESHE),在主类中创建一个JSB类的对象,就可以直接在编译器中运行程序。 在主界面中设计一个Frame容器,并在其中加入一个下拉菜单和一个文本域控件,把该容器设置为GridLayout(1,1)布局。 三.课程设计实现功能结构图。 3.1“文件”菜单。

3.2“编辑”菜单。

四.记事本实现功能代码实现。 4.1.界面设计。 主要代码: f=new Frame(s); p1=new TextArea(""); f.setSize(400,600); f.setBackground(Color.white); f.setVisible(true); menubar=new MenuBar(); menu1=new Menu("文件"); menu2=new Menu("编辑"); item1=new MenuItem("新建"); item2=new MenuItem("打开"); item3=new MenuItem("保存"); item4=new MenuItem("另存为"); item5=new MenuItem("退出"); item6=new MenuItem("全选"); item7=new MenuItem("复制"); item8=new MenuItem("剪切"); item9=new MenuItem("粘贴"); menu1.add(item1); menu1.add(item2);

C语言实验六实验报告——指针

一、实验项目名称 指针 二、实验目的 1.掌握指针的基本概念和基本用法。包括:变量的地址和变量的值,指针变量的说明、指针变量的初始化、指针的内容与定义格式、指针的基本运算等; 2.掌握数组与指针的关系并能够利用指针解决数组的相关问题; 3.掌握字符串与指针的关系并能够利用指针处理字符串的问题; 4.掌握指针与函数的关系并能够利用指针处理函数问题; 5.了解指向指针的指针的概念及其使用方法; 6.能够使用指针进行程序设计。 三、实验内容 有关指针的程序设计 1.编程实现:任意输入的10个数,求其平均值。 要求: (1)10个数采用scanf语句读入。 (2)利用指针实现对这10个数的访问。 (3)要求平均值的精度为小数后面2位。 2.编程实现:将一个任意整数插入到一个已排序的整数数组中,插入后数组中的数仍然保持有序。 要求: (1)整数数组由初始化方式输入。任意整数由scanf函数输入; (2)实现过程采用指针处理; (3)输出原始数组数据以及插入数据后的数组数据并加以相应说明。 3.编写函数newcopy(char *new,char *old),它的功能是删除old所指向的字符串中的小写字母,并将所得到的新串存入new中。 要求: (1)在主函数中以初始化方式输入一个字符串; (2)调用newcopy()函数; (3)在主函数中输出处理后的结果。 4.编程实现:输入三个整数,按由大到小的顺序输出。

要求: (1)通过scanf函数输入三个数据并存入三个变量中; (2)利用指针实现从大到小输出; (3)修改程序,将三个整型数据改为字符型数据,输入三个字符,按从大到小数顺序输出; (4)修改程序,将三个字符型数据改为字符串数据,输入三个字符串,按从小到大顺序输出; (5)体会指针对不同数据处理的特点。 四、实验步骤及结果 一、 #include void main() { int a[10],n,sum=0; float aver;/* 定义平均数为浮点型*/ int *p=a;/*初始化*/ printf("Please input 10 numbers:\n"); for (n=0;n<10;++n) scanf("%d",&a[n]);/*输入十个数*/ for (n=0;n<10;++n) sum=sum+*(p+n);/*使用指针访问数据*/ aver=(float)sum/n; printf("Average is %.2f",aver);/*精确到小数点后两位*/ } 二、 #include void arr(int *a,int n);/*定义排序函数*/ void insert(int *a,int num);/*插入并排序函数*/ int n=10;/*定义数据个数,可修改*/ void main()

相关文档