预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10
亲,该文档总共18页,到这已经超出免费预览范围,如果喜欢就直接下载吧~
如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
自动化与电气工程学院C语言课程设计PAGEPAGE-17-C语言课程设计报告C语言课程设计报告班级:电气1002学号:201009111姓名:张军指导教师:赵峰评语评:语:2011年7月10日1基本题目1.1题目编写一个将某个范围在0~32767之间的整数转换为R进制(R=2,5,8,16)的通用程序。1.2题目分析(1)首先要理解到题目要求编写的是进制转换程序,而且要编写一个通用程序,即程序写好后随便输一个范围内的数,再输入需要转换成的进制数,就可以实现十进制数向其他指定进制的转换。(2)流程图图1基本题目流程图1.3程序#include<stdio.h>#include<stdlib.h>voidtrans(intn,intm){if(n){trans(n/m,m);If(n%m<10)printf("%c",n%m+'0');elseprintf("%c",n%m-10+'A');}}voidmain(){intn,m;printf("输入十进制数n和转化的进制数m:");scanf("%d%d",&n,&m);printf("十进制数%d转化成%d进制后的结果为:",n,m);trans(n,m);printf("\n");}1.4程序的运行结果基本题目运行结果见图1~4所示。图2基本题目运行结果把十进制的8转换为2进制数的结果为:1000。图3基本题目运行结果把十进制的8转换为5进制数的结果为:13。图4基本题目运行结果把十进制的8转换为8进制数的结果为:10。图5基本题目运行结果把十进制的8转换为16进制数的结果为:8。2改错题目2.1改正后程序#include<stdio.h>intfun(inta,intb){intt;t=b;b=a;a=t;printf("a=%db=%d",a,b);}main(){inta,b;printf("Entera,b:");scanf("%d%d",&a,&b);fun(a,b);}2.2程序运行结果图6改错题目运行结果当在键盘上输入1和2时,输出a=2,b=1。说明此程序的功能是实现两个整数的交换。3综合题目3.1题目通讯录管理系统3.2程序的主要功能本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:编号、姓名、电话、地址。本系统显示这样的菜单:请选择系统功能项:a.通讯信息录入b.通讯信息显示c.通讯信息保存d.通讯信息删除e.通讯信息修改f.通讯信息查询(1)按编号查询(2)按姓名查询(3)电话号码查询g.退出系统执行一个具体的功能之后,程序将重新显示菜单。将通讯信息保存到文件中。图7主程序流程图3.3各函数的功能1、enter()该函数主要用于创建通讯录,当调用此程序时实现录入,按照提示依次输入相关内容,实现通讯录的录入。2、save()当enter()函数进行输入之后,此函数对输入内容进行保存。3、insert()进行添加通讯录,实现通讯信息的插入。4、search()调用此程序时,实现通讯信息的按姓名查询。5、del()调用此函数进行信息的删除。6、list()调用此函数实现通讯录中所有通讯信息的显示。7、exit(0)退出系统。3.4源程序#include<stdio.h>#include<string.h>#include<stdlib.h>#include<malloc.h>structaddress{charnum[30];charname[50];charage[10];charphone[50];charadd[50];charemail[50];structaddress*next;};structaddress*head;inti;intmenu_select(){inta;charc[20];printf("\t请选择功能:\n\n");printf("\t1.通讯信息录入\n");printf("\t2.插入记录\n");printf("\t3.查找(按姓名)\n");printf("\t4.通讯信息删除\n");printf("\t5.显示通讯录\n");printf("\t0.退出\n");do{printf("\t请输入数字选择对应的功能:");scanf("%d",&a);gets(c);}while(a<0||a>5);returna;}voidinputs(char*promp