欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    南京邮电大学软件设计报告(共90页).doc

    • 资源ID:13540814       资源大小:1.10MB        全文页数:90页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    南京邮电大学软件设计报告(共90页).doc

    精选优质文档-倾情为你奉上院系:光电工程学院学号:B姓名:李志明2012年4月16日2012年4月26日软件设计报告专心-专注-专业 0 1 1 1 3 7 7 7 7 9 8 0 0 0 1 5 5 6 7 8 8 0 0 2 4 9 3 8 1 35一、 软件设计课程简介1. 涉及课程及知识点高级语言程序设计,常量、变量、表达式的基本知识;函数的定义与调用;文件读写;数组、指针、结构体等自定义类型的使用;排序等知识。2. 目的与任务目的:通过集中时间上机实验,对学生的程序设计能力进行一次综合训练,使学生充分发挥已有的编程能力,熟悉编译环境。选择若干课题,进行审题、分析、设计和调试,在程序准备、程序实现、完成文档、答辩验收过程中,将全面巩固已学过的编程知识,全面提高编程技能,在编程风格、调试器的使用、测试技术等方面得到全面训练。3. 主要仪器设备硬件:微型计算机软件:C、C+、Visual C+等一、 软件设计内容1. 分数统计a. 课题内容:设计一个分数统计程序。包括学生信息的输入输出以及排序。通过该课题全面熟悉数组、字符串、文件的使用,掌握程序设计的基本方法及友好界面的设计。 课题要求:(1)输入某班级学生的姓名、分数;(2)对(1)的分数进行降幂排列并输出;(3)具有输入输出界面。b. 算法流程图:开始 1. 输入学生信息2. 退出 选择操作N选择正确否徐 YChoice=2Choice=1输入学生信息姓名分数 Choice=31. 显示学生信息2. 按分数降幂排序3. 增加学生信息4. 退出 Choice=2选择正确否徐 Ychoice=4Choice=1显示学生信息退出c. 源程序:#include<stdio.h>#include<string.h>#include<math.h> #include<stdlib.h>struct stuchar name100;float score;typedef struct stu stu;void addimfor();int num=0;int NUM=100;stu data100;void paixu();void show();void menu0();void menu1();void choose();void main()char cho100;int len;char choice;int a=1;printf("tttt-n"); printf("tttt welcome!n");printf("tttt-n");menu0();doprintf("请选择操作:");scanf("%s",cho);len=strlen(cho);choice=cho0;if(len=1&&choice>='0'&&choice<='2')a=0;elsesystem("cls");printf("ttt -n");printf("tttt 选择有误!n");printf("ttt -n");menu0();a=1;while(a);switch(choice)case '1':if(num=0)system("cls");printf("ttt -n");printf("tttt 查无学生信息!n");printf("ttt -n"); menu1();choose();elseshow();choose();break;case '2':system("cls");addimfor();menu1();choose();break;case '0':exit(1);break;return;void addimfor()float fen;int b=1;if(num>=NUM)printf("tttt无法再增加学生信息!n");elsedo printf("姓名:"); scanf("%s",(datanum.name); printf("分数:");scanf("%f",&fen);if(fen>100|fen<0)system("cls");printf("ttt -n");printf("tttt分数有误,本次操作无效!n");printf("ttt -n");b=1;elsedatanum.score=fen;b=0; while (b);num+;system("cls");void paixu()char temp100;float fen;for(int i=0;i<num;i+) for(int j=i+1;j<=num;j+)if(dataj.score>datai.score)fen=dataj.score;dataj.score=datai.score;datai.score=fen;strcpy(temp,dataj.name);strcpy(dataj.name,datai.name);strcpy(datai.name,temp);void show()system("cls");for(int i=0;i<num;i+)printf("-");printf("姓名:");printf("%s",datai.name);printf(" 分数:");printf("%3.1f",datai.score);printf("n");printf("-");menu1();void menu0()printf("-");printf("tttt=1.显示学生信息=n");printf("tttt=2.添加学生信息=n");printf("tttt=0.退出 =n");void menu1()printf("tttt=1.显示学生信息 =n");printf("tttt=2.按分数由高到低排序=n");printf("tttt=3.添加学生信息 =n");printf("tttt=0.退出 =n");void choose()char cho1100;char choice1;int len1;int b=1;do printf("请选择操作:");scanf("%s",cho1);len1=strlen(cho1);choice1=cho10;if(len1=1&&choice1>='0'&&choice1<='3')b=0;elseprintf("ttt -n");printf("tttt 选择有误!");printf("n");printf("ttt -n");menu1();b=1; while (b);switch(choice1)case '1':if(num=0)system("cls");printf("ttt -n");printf("tttt 查无学生信息!n");printf("ttt -n");menu1();choose();elseshow();choose();break;case '2':paixu();system("cls");menu1();choose();break;case '3':system("cls");addimfor();menu1();choose();break;case '0':system("cls");exit(1);break;D.程序运行截图略。2. 打字程序a. 课题内容:设计一个打字程序。包括随机产生字符串,以及字符串比较和统计。 课题要求:(1)随机产生一字符串,每次产生的字符串内容、长度都不同;(2)根据(1)的结果,输入字符串,判断输入是否正确,输出正确率;(3)具有输入输出界面。b. 流程图:开始1. 进入打字程序2.退出选择正确否?NChoice=1Choice=2 Y产生一串随机长度随机组合的字符串输入字符显示正确率1. 继续操作2. 退出选择正确否? N YChoice=2Choice=1结束c. 源程序#include <stdio.h>#include <string.h>#include <stdlib.h>#include <time.h>void menu();void menu1();void print();char choice;void main()char cho100;int len;printf("ttt*n");printf("ttt* 欢迎使用打字程序 *n");printf("ttt*nnn");domenu();printf("输入操作选择:");scanf("%s",&cho);choice=cho0;len=strlen(cho);if(len=1&&(choice>='1'&&choice<='2')switch(choice)case '1':print();break;case '2':system("cls");printf("ttt*n");printf("ttt* 感谢使用本程序 *n");printf("ttt* 谢谢! *n");printf("ttt*nnn");exit(1);break;elsesystem("cls");printf("ttt-n");printf("ttt-t选择无效,请重输t-n");printf("ttt-nnn");while(choice);return;void print()char s2100;int i;int num=0;int ma=1;double NUM;char j;int len1,len2;srand(time(NULL);doi=rand();if(i>=1&&i<=10)ma=0;while(ma);system("cls");char* s1=(char*)malloc(i*sizeof(char);/申请动态空间if(!s1)printf("空间申请失败!");exit(1);/申请字符串空间printf("tttt-n");printf("tttt ");for(int n=0;n<i;n+)j=rand();if(j<48|(j>57&&j<65)|(j>90&&j<97)|j>122)j=rand();n=n-1;elses1n=j;printf("%c",j); s1n='0'printf("n");printf("tttt-n");len1=strlen(s1);printf("输入字符串:");scanf("%s",s2);len2=strlen(s2); if(len2=len1)for(int k=0;k<len1;k+)if(s1k=s2k)num+;system("cls");printf("正确率:");NUM=num/(double)len1;printf("%d%n",int(NUM*100);elseif(len2<len1)for(int k=0;k<len2;k+)if(s1k=s2k)num+;system("cls");printf("正确率:");NUM=num/(double)len1;printf("%d%n",int(NUM*100);elsefor(int k=0;k<len1;k+)if(s1k=s2k)num+;system("cls");printf("正确率:");NUM=num/(double)len2;printf("%d%n",(int)(NUM*100);char cho1100;int len3;domenu1(); printf("输入操作选择:"); scanf("%s",cho1);len3=strlen(cho1);choice=cho10;if(len3=1&&choice>='0'&&choice<='2')switch(choice)case '1': print();break;case '0':system("cls");printf("ttt*n");printf("ttt* 感谢使用本程序 *n");printf("ttt* 谢谢! *n");printf("ttt*nnn");exit(1);break;elsesystem("cls");printf("ttt-n");printf("ttt-t选择无效,请重输t-n");printf("ttt-nnn");while(choice);void menu()printf("ttt-1.进入打字程序-n");printf("ttt-2.退出 -n");void menu1()printf("ttt -1.继续操作 -n");printf("ttt -0.退出 -n");d. 结果及改善:略。3. 文本编辑器a. 课题内容:设计一个简单的文本编辑器,该系统要求对一个文本文件中的内容进行各种常规操作,如:插入、删除、查找、替换等功能。 课题要求: (1)编辑文本; (2)保存、打开指定位置的文本文件; (3)具有输入输出界面。b. 流程图开始1. 打开文件2. 退出Choice=6输入正确否?N选择操作YChoice=2Choice=1输入文件名及路径文件能否打开?N Y1.插入2.删除3.查找4.替换5.显示6.返回0.退出显示文件内容Choice=1 choice=3输入查找的字符串输入插入的字符串输入删除的字符串输入替换的字符串及源字符串Choice=2Choice=4Choice=5结束Choice=0c. 源程序#include<stdio.h>#include<stdlib.h>#include<math.h>#include<string.h>FILE* fp=NULL;FILE* fp1;char name50;void menu0();void Open();void choose0();void menu1();void choose1();void insert();void check();void replace();void deletef();void show();void welcome();void welcome()printf("ttt -n");printf("tttt欢迎使用本程序!n");printf("ttt -n");/-主程序-void main()welcome();choose0();choose1();return;/-一级菜单-void menu0()printf("-");printf("tttt1.打开文件n");printf("tttt0.退出n");/-打开文件-void Open()char ch;system("cls");printf("请输入要打开的文件名及路径:");scanf("%s",name);fp=fopen(name,"r+");if(!fp)system("cls");printf("ttt =文件无法打开!=n");choose0();system("cls");printf("-"); while(ch=fgetc(fp)!=EOF)putchar(ch);rewind(fp);printf("n");printf("-");/void show()char ch;fp=fopen(name,"r");if(!fp)printf("tttt =文件无法打开!=n");choose0();printf("-"); while(ch=fgetc(fp)!=EOF)putchar(ch);rewind(fp);printf("-");menu1();/-一级选择-void choose0()char choice;char fen100;int a=1,len;menu0();do printf("请选择操作:");scanf("%s",fen);len=strlen(fen);choice=fen0;if(choice>='0'&&choice<='1'&&len=1)a=0;elsesystem("cls");printf("ttt-n");printf("ttt 无效操作,请重新选择n");printf("ttt-n");menu0();a=1;while(a);switch(choice)case '1':Open();menu1();choose1();break;case '0':system("cls");exit(1);break;/-二级菜单-void menu1()printf("tttt=1.插入=n");printf("tttt=2.删除=n");printf("tttt=3.查找=n");printf("tttt=4.替换=n");printf("tttt=5.显示=n");printf("tttt=6.返回=n");printf("tttt=0.退出=n");/-二级选择-void choose1()char choice;int a=1;printf("请选择操作:");char fen100;int len;doscanf("%s",fen);choice=fen0;len=strlen(fen);if(choice>='0'&&choice<='6'&&len=1)a=0;elsesystem("cls"); printf("ttt-n"); printf("ttt 无效操作,请重新选择n");printf("ttt-n");menu1();printf("请选择操作:"); a=1;while(a);switch(choice)case '1':insert();menu1();choose1();break;case '2':deletef();system("cls");menu1();choose1();break;case '3':system("cls");show();check();menu1();choose1();break;case '4':system("cls");replace();system("cls");menu1();choose1();break;case '5':system("cls");show();choose1();break;case '6':system("cls");choose0();break;case '0':system("cls");exit(1);/-插入-void insert()long set;char ch1;char s110000;char s2100;int i=0;while(ch1=fgetc(fp)!=EOF)s1i=ch1;i+;rewind(fp);s1i='0'system("cls");show();printf("请定位你想要插入字符串的地方:");scanf("%d",&set);system("cls");show();printf("输入你插入的字符串:");scanf("%s",s2);int len=strlen(s2);fclose(fp);fp=fopen(name,"w");for(int j=0;j<set;j+)ch1=s1j;fputc(ch1,fp);for(j=0;j<len;j+)ch1=s2j;fputc(ch1,fp);for(j=set;j<i;j+)ch1=s1j;fputc(ch1,fp);fclose(fp);system("cls");/-查找-void check()printf("请输入需要查找的字符串:");char str50;char str1500;char ch;char *p;int count=0;scanf("%s",str);int len=strlen(str);fp=fopen(name,"r");if(!fp)printf("tttt =文件无法打开!=n");rewind(fp);while(ch=fgetc(fp)!=EOF)str1count=ch;count+;

    注意事项

    本文(南京邮电大学软件设计报告(共90页).doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开