成都医学院
大学生实验设计项目
立题报告书
课 题名称 设计性实验
研 究方向 物质含量测定
专业、班级 2013级麻醉一班
学生姓名 程 安 兴
带教教师 刘 桦
实验室名称 生物技术实验教学中心
20##年 12 月 25日
第二篇:C语言综合实验设计报告2 百行代码
C语言综合实验设计报告
题目:将一个整数转换成规定的进制数
学院:
专业:
班级:
姓名:
设计日期:
一、设计题目:
将一个整数转换成规定的进制数
二、题目阐述及设计思路:
这是一个将一个整数转换成规定的进制数。根据题目要求,采用C语言结构体和指针的知识,主要内容确定之后,设计并调用所需函数,根据上述计划编译了这段程序。
三、主要知识点:
使用文件包含、C语言指针、调用函数。
四、程序清单:
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#define MAXSIZE 100
typedef int DataType;
typedef struct{
DataType data[MAXSIZE];
int top;
}SeqStack,*PSeqStack;
PSeqStack Init_SeqStack(void)
{
PSeqStack S;
S=(PSeqStack)malloc(sizeof(SeqStack));
if(S)
S->top=-1;
return S;
}
int Push_SeqStack(PSeqStack S,DataType x)
{
if (S->top==MAXSIZE-1)
return 0;
else
{
S->top++;
S->data[S->top]=x;
return 1;
}
}
int Empty_SeqStack(PSeqStack S) {
if(S->top==-1)
return 1;
else
return 0;
}
int Pop_SeqStack(PSeqStack S,DataType *x) {
if(Empty_SeqStack(S))
return 0;
else
{
*x=S->data[S->top];
S->top--;
return -1;
}
}
void Destory_SeqStack(PSeqStack *S) {
if(*S)
free(*S);
*S=NULL;
return;
}
typedef int DataType;
int conversation(int n,int r)
{
PSeqStack S;
DataType x;
if(!r)
{
printf("基数不能为0"); return(0);
}
S=Init_SeqStack();
if(!S)
{
printf("栈初始化失败");
return(0);
}
while(n)
{
Push_SeqStack(S,n%r);
n=n/r;
}
while (!Empty_SeqStack(S))
{
Pop_SeqStack(S,&x);
printf("%d",x);
}
Destory_SeqStack(&S);
return 0;
}
void main()
{
int i,a;
printf("输入要转换的进制!!\n");
scanf("%d",&a);
printf("输入要转换的数!!\n");
scanf("%d",&i);
conversation(i,a);
}
五、设计结果说明:
1、设计优点:
程序代码思路清晰,逻辑正确,格式规范,函数调用清晰。
2、设计不足:
应该再严谨一些,在输出上加一些提示信息