| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 402 人关注过本帖, 1 人收藏
标题:C语言创建通讯录中一些不懂的地方,帮忙看下
只看楼主 加入收藏
gg0013
Rank: 2
等 级:论坛游民
帖 子:25
专家分:16
注 册:2012-11-26
结帖率:100%
收藏(1)
已结贴  问题点数:20 回复次数:3 
C语言创建通讯录中一些不懂的地方,帮忙看下
#include<stdio.h>
#include<string.h>
#include<conio.h>
#include<stdlib.h>
#define N 3  

main()
{  
int i=0;  
char name[N][10]={"\0"};  
char num[N][10]={"\0"};
 char tel[N][10]={"\0"};   
 system("cls");  
for(i=0;i<N;i++)  
{
printf("\n");   
printf("请输入第%d个记录:\n",i+1);
printf("学号:");   
do
{   
gets(num[i]);
 }
while(strcmp(num[i],"")==0);
 printf("姓名:");
gets(name[i]);
printf("电话号码:");
 gets(tel[i]);  }  
printf("      学号        姓名        电话号码\n");
 for(i=0;i<N;i++)  
 printf("%8s%8s%8s\n",num[i],name[i],tel[i]);  }
 有几个地方不懂,
一,为什么要加  system("cls"); 明白他的意思,但这个,之前写都没写过这,加那句是为了什么;
二,  do {   gets(num[i]); } while(strcmp(num[i],"")==0);这句是什么意思,还有为什么需要这么写,我将这句直接写成 gets(num[i]); 输出结果也是一样的;三, printf("      学号        姓名        电话号码\n");  for(i=0;i<N;i++)   printf("%8s%8s%8s\n",num[i],name[i],tel[i]);最后这个输出,要想汉字与下面输出的对齐,那个间距是根据什么来调的;会的帮忙讲解下啊 ,先谢了
搜索更多相关主题的帖子: 姓名 记录 include 通讯录 system 
2012-11-26 14:19
w527705090
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:11
帖 子:441
专家分:1882
注 册:2011-6-28
收藏
得分:0 
我只能回答你的第三个问题
你去了解一下这个“\t”
你就知道怎么可弄了

有心者,千方百计;无心者,千难万难。
2012-11-27 23:49
youngdavid
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:107
专家分:698
注 册:2012-9-24
收藏
得分:10 
system("cls"); 这个语句是清屏幕的意思,就类似matlab里的clc,把终端内容清空,看起来干净一些;
 do {   gets(num[i]); } while(strcmp(num[i],"")==0);这一语句可以起到防止你直接输入一个回车,也就是什么也没输入,会等待你继续输入,直到输入一个学号,如果直接用 gets(num[i]); 的话,你直接敲回车系统就会把空字符赋值给num[i]。

[ 本帖最后由 youngdavid 于 2012-11-28 20:19 编辑 ]
2012-11-28 20:05
pauljames
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:千里冰封
威 望:9
帖 子:1555
专家分:10000
注 册:2011-5-8
收藏
得分:10 
一,system("cls"); 系统调用,这样可以清楚之前显示的任何内容,让整个界面看起来清楚一点
二,do {   gets(num[i]); } while(strcmp(num[i],"")==0);为了保证即使你不断敲回车的时候,可以不断循环读取获得正确学号;因为gets会把换行符转换为结束字符。
三,一个汉字算两个字符,因此算2个位置,你自己手动调整就行。

[ 本帖最后由 pauljames 于 2012-11-28 20:20 编辑 ]

经常不在线不能及时回复短消息,如有c/单片机/运动控制/数据采集等方面的项目难题可加qq1921826084。
2012-11-28 20:18
快速回复:C语言创建通讯录中一些不懂的地方,帮忙看下
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018126 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved