急求C语言中编程move语句的组成

最好是在ROBOT-C中的!

给题主一个简单的通讯录程序吧
#include <stdio.h>
#include <string.h>

#define ARRAY_LEN 30

/*联系人结构体*/
/*注:本程序忽略重名现象。若重名则查找时以最后输入的联系人为准。*/
typedef struct{
char name[10];
int age;
char sex[10];
char mp[13];
char tel[13];
} friend_list;

/*打印所有联系人信息*/
void printAll (friend_list friList[], int *friNum) {
int i;

if (*friNum) {
printf ("姓名\t\t年龄\t\t性别\t\t手机\t\t家庭\n");
for (i=0; i<*friNum; i++)
printf ("%s\t\t%d\t\t%s\t\t%s\t\t%s\n",friList[i].name,friList[i].age,friList[i].sex,friList[i].mp,friList[i].tel);
printf ("\n");
}
else {
printf ("无任何联系人信息!\n");
printf ("\n");
}

}

/*打印联系人信息*/
void printFri (friend_list friList[], int index) {

if (index==-1) {
printf ("查无此人!\n");
printf ("\n");
}
else {
printf ("姓名\t\t年龄\t\t性别\t\t手机\t\t家庭\n");
printf ("%s\t\t%d\t\t%s\t\t%s\t\t%s\n",friList[index].name,friList[index].age,friList[index].sex,friList[index].mp,friList[index].tel);
printf ("\n");
}
}

/*按姓名定位联系人所在数组位置*/
int findIndex (friend_list friList[], int *friNum, char *tarName) {
int i,index;
index =-1;

for (i=0; i<*friNum; i++)
if (strcmp(tarName, friList[i].name) == 0) /*两字符串相等strcmp函数返回0*/
index = i; /*定位联系人在结构体数组中的下标*/

return index;
}

/*录入联系人信息*/
void addFri (friend_list friList[], int *friNum) {
int i = *friNum;

printf ("请输入联系人信息:\n");
printf ("姓名:");
scanf ("%s",&friList[i].name); 
printf ("年龄:");
scanf ("%d",&friList[i].age);
printf ("性别:");
scanf ("%s",&friList[i].sex);
printf ("手机:");
scanf ("%s",&friList[i].mp);
printf ("家庭:");
scanf ("%s",&friList[i].tel);

*friNum +=1; /*联系人数加1*/

printf ("\n");
}

/*按姓名查找联系人信息*/
void findFri (friend_list friList[], int *friNum) {
int i,index;
char tarName[10];

printf ("请输入欲查找的联系人姓名:");
scanf ("%s",&tarName);
printf ("\n");

index = findIndex (friList, friNum, tarName);
printFri (friList, index); /*打印联系人信息*/
}

/*删除联系人信息*/
void delFri (friend_list friList[], int *friNum) {
int i,index;
char tarName[10];

printf ("请输入欲删除的联系人姓名:");
scanf ("%s",&tarName);
printf ("\n");

index = findIndex (friList, friNum, tarName);

if (index == -1) {
printf ("查无此人!\n");
printf ("\n");
}
else {
for (i=index; i<*friNum; i++)
friList[i] = friList[i+1]; 
*friNum-=1;
printf ("联系人%s已删除!\n",tarName);
printf ("\n");
}
}

/*修改联系人信息*/
void altFri (friend_list friList[], int *friNum) {
int index;
char tarName[10];

printf ("请输入欲修改的联系人姓名:");
scanf ("%s",&tarName);
printf ("\n");

index = findIndex (friList, friNum, tarName);

if (index == -1) {
printf ("查无此人!\n");
printf ("\n");
}
else {
printf ("请重新输入联系人信息:\n");
printf ("姓名:%s\n",friList[index].name);
printf ("年龄:");
scanf ("%d",&friList[index].age);
printf ("性别:");
scanf ("%s",&friList[index].sex);
printf ("手机:");
scanf ("%s",&friList[index].mp);
printf ("家庭:");
scanf ("%s",&friList[index].tel);

printf ("联系人%s信息已修改!\n",tarName);
printf ("\n");
}
}

/*打印菜单*/
void printMenu (void) {
printf ("======================================================\n\n");
printf ("序号\t功能详情\n");
     printf ("1\t新增联系人\n");
     printf ("2\t按姓名查找联系人\n");
     printf ("3\t按姓名删除联系人\n");
     printf ("4\t按姓名修改联系人\n");
     printf ("5\t列出所有联系人信息\n");
     printf ("6\t退出\n");
     printf ("\n");
printf ("======================================================\n\n");
}

/*输入命令*/
int instructions (void) {
int key;

printf ("请输入功能序号以开启操作:");
scanf ("%d",&key);
printf ("\n");
printf ("======================================================\n\n");

return key;
}

int main(void) {
int key;

int friNum = 0; /*联系人数量*/
friend_list friList[ARRAY_LEN]; /*联系人结构体数组*/

do {
printMenu ();

key = instructions ();

     switch (key){
         case 1: addFri (friList, &friNum); break;
         case 2: findFri (friList, &friNum); break;
         case 3: delFri (friList, &friNum); break;
         case 4: altFri (friList, &friNum); break;
         case 5: printAll (friList, &friNum); break;
         case 6: printf("程序结束!\n\n"); break;
         default: printf("输入错误,请重新输入!\n\n");break;
     }
     if (key!=6) {
     printf("按回车键继续\n");getchar ();getchar ();
    }
} while(key!=6);
return 0;
}


运行结果
主界面

新增联系人

查找联系人

删除联系人

修改联系人

列出所有联系人

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-06-30
MOVE
语句既可对单个数据项进行复制,也可对一组
数据进行复制。追问

我的意思是在ROBOT-C中有一个控制机器人的move指令集合,它内部的指令已经由系统默认编好,现在我需要那个系统默认编好的指令,希望您解答!

本回答被网友采纳
第2个回答  2014-06-10
c语言没有move语句追问

我的意思是在ROBOT-C中有一个控制机器人的move指令集合,它内部的指令已经由系统默认编好,现在我需要那个系统默认编好的指令,希望您解答!

追答

对这个指令集合不熟悉,建议你看看说明书

C语言中move语句的用法?
void *memmove( void *dest, const void *src, size_t count );头文件是<string.h> 此函数将src后面的count个字符,拷贝到dest中。举个例子:char string1[60] = "The quick brown dog jumps over the lazy fox";char string2[60] = "The quick brown fox jumps over the lazy dog";\/...

编写两个函数lrmove,rrmove分别实现左,右循环移位。求完整C语言程序...
printf("rrmove(0x%x, 4)=0x%x\\n", x, rrmove(x, 4));return 0;}

C语言编程题:移位函数,既能循环左移又能循环右移
include <stdio.h>#include <math.h>unsigned fun(unsigned num, int n){ if(n > 0) { \/\/sizeof(unsigned)*8计算变量所占位数,如int型占32位 return (num >> (sizeof(unsigned)*8 - n)) | (num << n); \/\/先高位移动,再低位移动后,两者按位或,相当把低位溢出的...

C语言编程9eeo
void MoveChar(void){ char s1[80], s2[80];int m, i;printf("请输入字符串:");gets(s1);printf("请输入要移动的字符个数(即m)");scanf("%d", &m);puts(s1);for(i = 0; i < m; i++)s2[i] = s1[i];s2[m] = 0;strcpy(s1,s1+m);strcpy(s1+strlen(s1),s2);pu...

c语言编程 有N个整数,使其前面各数顺序向后移动M个位置,最后M个数变 ...
错误一修改:printf("%d",a[i]);错误二修改:void move(int a[],int n,int m){ int t[N];int i,j=0;for(i=n-m;i<n;i++) \/\/把后面的取出放到t中 t[j++]=a[i]for(i=0; i<n-m; i++) \/\/前面的后移 a[i+m]=a[i];for(i=0;i<m;i++) \/\/把t中的放到前面 ...

用c语言编写程序求汉诺塔的移动步骤
move(a,c); f(n-1,b,a,c); }}void main(){ int n; scanf("%d",&n); f(n,'a','b','c'); }这是我的代码 前面的是定义一个函数 这里递归体现在函数里面还有函数 于是会一次又一次的计算 直到最后把N-1以前的都移到B,最下面的移到C,再把其他的从B移到C。。 无返回的话 应该是这里用...

哪位大佬能帮看看这道c语言?
move1(pa+1,a,50);\/\/a当前元素之后的元素向后移1位 (pa+1)=*pb;break;} pa--;} if(!flag)\/\/如未发生位移,说明该b元素小于所有a元素,插入再a数组开始位置,a所有元素后移1位 move1(a,a,50),a[0]=*pb;pb--;} pa=a;printf("合并后的a数组为:\\n");while(pa<=&a[m+3-...

c语言中moveto和lineto函数什么意思,怎么用,什么时候用,说详细点,刚学...
moveto(50,50)是将画笔移动到参数指定的坐标(50,50)lineto(150,50)是从画笔的当前位置绘制一条直线到参数给的坐标(150,50)所以这两句的结果就是画了一条直线,从50,50开始到150,50结束 这两个函数不难的

如何做一个C语言编程的汉诺塔游戏?
include\\x0d\\x0a void move(char x,char y)\\x0d\\x0a {\\x0d\\x0a printf("%c-->%c\\n",x,y);\\x0d\\x0a }\\x0d\\x0a void hanoi(int n,char one ,char two,char three)\\x0d\\x0a {\\x0d\\x0a if(n==1) move(one,three);\\x0d\\x0a else\\x0d\\x0...

汉诺塔n=4(4个盘)c语言递归编程代码
第二,把a上的最下面的盘移到c。a成了空的。第三,因为n-1个盘全在b上了,所以把b当做a.重复以上步骤就好了。所以算法看起来就简单多了。***\/#include<stdio.h>static int m=0;void move(int n,char a,char b,char c){ if(n==1) { m++; printf("第 %d 次移动:\\...

相似回答