2 sxjice sxjice 于 2013.08.19 11:48 提问

C语言数字动态显示问题

#include
#include
#include
#include
#include
#include
struct SevenD_point
{
int X,Y,Z_C,Z_N,Z_P,U_P,U_M;
};
int check(char *input,char *container)
{
int i,j;
for(i=0,j=0;i {
if(strcmp(input,container+40*i)==0)
{
if(j!=6)
{
printf("System check that you wanna %s.\n",container+40*i);
break;
}
else
{
printf("Program Terminated!");
break;
}
}
else j++;
}
if(j==7)
printf("System cannot check what you wanna do,please check input.\n");
return j;
}
void Initialize()
{
long Max(struct SevenD_point *p);
void disp(struct SevenD_point *p);
struct SevenD_point Present={rand(),rand(),rand(),rand(),rand(),rand(),rand()},*p;
int i;
long max;
p=&Present;
printf("Present position:(%d,%d,%d,%d,%d,%d,%d).\n",\
Present.X,Present.Y,Present.Z_C,Present.Z_N,Present.Z_P,Present.U_P,Present.U_M);
max=Max(p);
printf("Now start to decrease %ld times:\n",max+1);
for(;max>0;max--)
{
disp(p);
}
printf("\nInitialize position accomplished!\nAnd now position is(%d,%d,%d,%d,%d,%d,%d).\n",\
Present.X,Present.Y,Present.Z_C,Present.Z_N,Present.Z_P,Present.U_P,Present.U_M);
delay(500);
}
void Change()
{
}
void Add()
{
}
void Oscillate()
{
}
void Small()
{
}
void Big()
{
}
long Max(struct SevenD_point *p)
{
long z_max,u_max,zu_max,xy_max,max;
z_max=((p->Z_C)>(p->Z_N))?(p->Z_C):(p->Z_N);
z_max=(z_max>(p->Z_P))?z_max:(p->Z_P);
u_max=((p->U_P)>(p->U_M))?(p->U_P):(p->U_M);
zu_max=(z_max>u_max)?z_max:u_max;
xy_max=((p->X)>(p->Y))?(p->X):(p->Y);
max=zu_max+xy_max;
return max;
}
void disp(struct SevenD_point *p)
{
int i;
long z,u,x,y;
z=(p->Z_C)+(p->Z_N)+(p->Z_P);
u=(p->U_P)+(p->U_M);
x=(p->X),y=(p->Y);
if(z>0)
{
if((p->Z_C)>0)
(p->Z_C)--;
if((p->Z_N)>0)
(p->Z_N)--;
if((p->Z_P)>0)
(p->Z_P)--;
}
if(u>0)
{
if((p->U_P)>0)
(p->U_P)--;
if((p->U_M)>0)
(p->U_M)--;
}
if((z==0)&&(u==0))
{
if(x>0)
(p->X)--;
if(y>0)
(p->Y)--;
}
printf("Present Point (7-Dimension):(%5d,%5d,%5d,%5d,%5d,%5d,%5d)",\
p->X,p->Y,p->Z_C,p->Z_N,p->Z_P,p->U_P,p->U_M);
for(i=0;i<71;i++)
printf("\b");
}

void main()
{
char func[7][40]={"Initialize position","Change medicine",\
"Add medicine","Oscillate sample",\
"Fetch and Spit sample","All over in",\
"Abort"},excute[40];
int choose=7;
srand((unsigned)time(NULL));
while(choose==7)
{
printf("Please tell what you wanna do:");
gets(excute);
choose=check(excute,func[0]);
}
if(choose==0)
Initialize();
}
这是源程序,不完整,但是可以运行

奇怪的是每次运行提示输入后,输入Initialize position,执行的结果都不一样。按照我的想法是每次闪烁到最后都应该是0才对。请高手看看,能不能指导指导什么地方的问题,小弟不胜感激。
我的操作系统是Win7 32位旗舰版,所用的编译器是Turbo C 3.0.

还有就是C的转义字符里面有没有哪个是直接回到上一行的?就是说光标本来在第六行,有什么转义字符能让他回到第五行?

1个回答

mixuema
mixuema   2015.07.24 22:37

哥们、问问题也是一门学问

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
删数问题(C语言实现)
1. 思路: 每一步总是选择一个使剩下的数最小的数字删除,即按高位到低位的顺序搜索,若各位数字递增,则删除最后一个数字;否则删除第一个递减区间的首字符,这样删一位便形成了一个新的数字串。然后回到串首,按上述规则再删除下一个数字2. 代码: #include<stdio.h> #include<string.h> #define N 100int main() { char a[N],te
单片机数码管动态显示—C语言版
 最近自己用C语言写了个单片机控制数码管显示的程序,范围是0~9999的,虽然代码简单,但是期间却又不少的弯路,写出来,希望对大家能有所帮助。 首先要说明一下功能实现和参数设置:这个子函数是在NEC9234单片机上实现的,不过对大部分单片机应该都适用的,就是不同的单片机里的延时有差别,这个还是自己算吧,就不具体介绍了。这个子函数是四位数码管共阴动态显示,display_buff是段
51单片机 数码管的静态显示和动态显示
51单片机 数码管的静态显示和动态显示 附有代码示例
51单片机--8 位数码管动态显示 12 位数字
51单片机,要求用 8 位数码管动态显示 12 位学号。还要用按键调整走动速度,C语言的。题目链接:http://zhidao.baidu.com/question/1754521247451476108.html2014-07-08 23:22 做而论道回答如下://-------------------------------------------#include #include sbit
51单片机数码管的动态显示
数码管的动态显示
C语言 动态规划&背包 数字三角形问题
数字三角形问题 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 给定一个由n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形的顶至底的一条路径,使该路径经过的数字总和最大。    对于给定的由n行数字组成的数字三角形,计算从三角形的顶至底的路径经过
1863 Problem A C语言-数字交换
问题 A: C语言-数字交换 时间限制: 1 Sec 内存限制: 128 MB 献花: 63 解决: 24 [献花][花圈][TK题库] 题目描述 输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写三个函数; ①输入10个数;②进行处理;③输出10个数。 输入 10个整数 输出 整理后的十个数,每个数后跟一个空格(注意最后一个数后也有空格) 样例输...
经典动态规划问题--数字三角形 POJ--1163
经典动态规划问题--数字三角形 POJ--1163
C语言中的经典例题-正序输出与逆序输出任意数字
 从大一学习计算机相关课程到现在也有将近两年时间了,经常苦于一些心得体会没有时间进行记录与后续探讨,今后我将会在csdn博客中记录分享一些自己学习上的想法,希望大家也能不吝赐教,多与我进行探讨。谭浩强的C程序设计-第四版中有这样一道例题: 给定一个不多于五位的正整数,求:1.求它的位数;2.分别输出每一位数字;3.按逆序输出各位数字;这道题目乍一看给人一种轻松简单的感觉,甚至很多编程初学者都能在看...
C语言解决大数的阶层问题
著作权归作者所有。 商业转载请联系作者获得授权,非商业转载请注明出处。 作者:张刚 链接:http://www.zhihu.com/question/23490167/answer/24743241 来源:知乎#include<stdio.h> const int max=3000; int f[max]={0};//初始化数组,也可以用memset(f,0,sizeof(f));来实现,需要用到#