我是一名新手,接触C语言不久,很多东西都不明白.我前几天看到一个通讯录的程序,但是很多代码都看不懂.请大虾们解释一下.
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>
struct AddressList
{
char name[20];
char address[30];
char tel[20];
char youbian[50];
}st[20];
int i=0;
void shuru()
{
FILE *fp;
char a;
fp=fopen("information.txt","a+");
do
{
printf("\n请输入姓名:");
scanf("%d",&st[i].name);
gets(st[i].name);
printf("\n");
printf("\n请输入地址:");
gets(st[i].address);
fflush(stdin);
printf("\n请输入电话:");
gets(st[i].tel);
fflush(stdin);
printf("\n请输入邮编:");
gets(st[i].youbian);
fflush(stdin);
fwrite(&st[i],sizeof(struct AddressList),1,fp);
printf("\n是否继续输入另外一个人的信息?(y/n)");
fflush(stdin);
a=getchar();
i++;
}
while(a=='y'&&i<=20);
fclose(fp);
}
int xianshi()
{
int j;FILE *fp;
if((fp=fopen("information.txt","r"))==NULL)
{
printf("通讯录还没记录");
return 0;
}
printf("\t姓名\t电话\t地址\t邮编\n");
for(j=0;fread(&st[j],sizeof(struct AddressList),1,fp)!=0;j++)
printf("\t%s\t%s\t%s\t%s\n",st[j].name,st[j].tel,st[j].address,st[j].youbian);
return 1;
}
int chazhao()
{
int m;FILE *fp;
char name[20],b;
if((fp=fopen("information.txt","r"))==NULL)
{
printf("还没有通讯信息");
return 0;
}
do
{
printf("\n请输入你需要查找人的姓名:");
fflush(stdin);
gets(name);
for(m=0;fread(&st[m],sizeof(struct AddressList),1,fp)!=0;m++)
{
if(strcmp(name,st[m].name)==0)
{
printf("\n\t你查找的联系人在第%d个位置找到\n",m+1);
break;
}
}
对不起,由于代码太长,我放在了贴吧下http://tieba.baidu.com/f?kz=590496584
请在第6楼开始看
如果可以的话尽可能的详细一点,比如 #include<stdlib.h>是什么和什么代码连接,虚心请教,请见谅.
C语言高手进 帮我解答个问题 我是菜鸟
这是个二维字符数组,不能直接输出的,所以要用循环讲数组里的元素一个一个的输出
c语言,本人菜鸟,高手来
先看下运算符的优先级 ()\/ 除 表达式\/表达式 左到右 双目运算符 乘 表达式*表达式 双目运算符 左到右 余数(取模) 整型表达式\/整型表达式 双目运算符 左到右 + 加 表达式+表达式 左到右 先算(),x+a%3*(int)(x+y)%2\/4 = x+a%3*7%2\/...
C语言高手来教教《我是菜鸟》
阶乘的计算,你可以多看看其他的程序例题,相信就简单多了。
我想学习C语言。求高手指点应该怎么做?
1、学习C语言,要从入门到精通,需要读哪些书(从简单的到难的排序,越详细越好,最好都能注释下选择这本书的理由)?入门阶段:还是老谭那本。理由:虽然不能说它写得有多好,但是你现在要做的是入门,要快速的掌握c的基本语法,这本书很好理解,能够让你在最短的时间内大致掌握这门语言的概更。
C语言菜鸟求高手解答...
1. 第一个问题似乎是一个关于C语言条件判断的疑问。你需要明确表达你的问题,以便得到具体的解答。2. 在C语言中,`m++` 表示先使用变量 `m` 的值,然后将 `m` 的值加1。所以,表达式 `m++ > 5` 首先将 `m` 的值(初始为5)用于比较,然后 `m` 自增。3. 由于 `m` 的初始值是5,...
C语言问题我是菜鸟求步骤解释 题在下边图里 输出一下图案那到
h>void main(){int i,j,k;for(i=0;i<=3;i++){for(j=0;j<=2-i;j++)printf(" ");for(k=0;k<=2*i;k++)printf("*");printf("\\n");}for(i=0;i<=2;i++){for(j=0;j<=i;j++)printf(" ");for(k=0;k<=4-2*i;k++)printf("*");printf("\\n");} } ...
C语言高手进!我是菜鸟请教
include<stdio.h> void main(){ int a,b,c;for(a=0;a<=20;a++)for(b=0;b<=33;b++)for(c=0;c<=300;c=c+3){if(5*a+3*b+c\/3==100&&a+b+c==100)printf("公鸡%d个母鸡%d个小鸡%d个\\n",a,b,c);} }
C语言不会,求高手,我是菜鸟
main(){ char b1,b2,b3,b4,b5;b1='A';b2='B';b3='C';b4='D';b5='E';printf("b1=%c\\nb2=%c\\nb3=%c\\nb4=%c\\nb5=%c\\n",b1,b2,b3,b4,b5);b1=b1+4;b2=b2+4;b3=b3+4;b4=b4+4;b5=b5+4;printf("b1=%c\\nb2=%c\\nb3=%c\\nb4=%c\\nb5=%c\\n",b1,b2,b3...
c语言菜鸟 求详解啊
答案选C.ex变量在此是共用体变量,里面数据公用一个空间(最大那个),此处占用空间最大的为int型和float型,char只占用一个。所以三个变量一共只占4个字节就够了。故选C
c语言问题,菜鸟找高手。。在线等答案。。急
1.n=0;2.n=n*10+((S[i]-48)%10);