当前位置: 代码迷 >> C语言 >> 实训啦,问题多多~大家多多关照!
  详细解决方案

实训啦,问题多多~大家多多关照!

热度:126   发布时间:2006-06-27 10:51:38.0

不要给我搬历史人物。这方面我很烂的~~~

呵呵~继续在写咧~努力ING~

好象又有犯错误。不过自己搞出来了。是不是没有结构体指针数组咧?呼。好长的名字哟~


----------------解决方案--------------------------------------------------------

进展进展。有进展咯~虽然不太快~现在完成内存中的部分有添加,排列,查找。呼~如下。谁来测试测试玩。。。

不过输入比较累。。。。

#include <stdio.h>
#include <fcntl.h>
#include <io.h>
#define MAX 3
struct day
{
int month;
int day1;
};
struct mydata
{
char name[20];
struct day birthday;
char telnum[13];
};
main()
{
struct mydata a[MAX],t;
int i=0,j,g=0,flag; char ch,keyname[20];

printf("input the data:"); //输入data
do
{
printf("\ninput the name:");
gets(a[g].name);
printf("\ninput the birthday(mm-dd):");
scanf("%d-%d",&a[g].birthday.month,&a[g].birthday.day1);
getchar();
printf("\ninput the telphone number:");
gets(a[g].telnum);
printf("countuie?(press n or N to quie)");
scanf(" %c",&ch);
getchar();
}while((ch!=78)&&(ch!=110)&&(++g<MAX));

for(i=0;i<g-1;i++) //让人名从a-z排列
{
for(j=1;j<g;j++)
{
if(strcmp(a[i].name,a[j].name)>0)
{t=a[i];a[i]=a[j];a[j]=t;}
}
}

for(i=0;i<=g-1;i++) //输出所有人物!
{
printf("%s's birthday is %d.%d telphone number is %s.\n",
a[i].name,a[i].birthday.month,a[i].birthday.day1,a[i].telnum);
}

printf("input the search name:"); //查找人物!
gets(keyname);

for(i=0;i<=g-1;i++)
{
if(strcmp(keyname,a[i].name)!=0);
else
{
printf("Find the data:%s's birthday is %d.%d telphone number is %s.\n",
a[i].name,a[i].birthday.month,a[i].birthday.day1,a[i].telnum);
flag=0;
}
}
if(flag)printf("Can't find the data!!\n");
return 0;
}

[此贴子已经被作者于2006-6-27 15:25:24编辑过]


----------------解决方案--------------------------------------------------------
进展进展,恭喜恭喜。

你不是烦输入吗?所以下一步可以往文件方向走了。
一旦数据存了盘,就不会吃“二遍苦”了。OK?

----------------解决方案--------------------------------------------------------
不行呀。我现在还有几个功能不能实现。。。

的确,写好上面的这写。我觉得输入好痛苦哦~~~

删除上的功能不太行。。。星星有办法不?不用链表!

[此贴子已经被作者于2006-6-27 15:34:06编辑过]


----------------解决方案--------------------------------------------------------
以下是引用走刀口→超在2006-6-27 15:12:41的发言:
不行呀。我现在还有几个功能不能实现。。。

的确,写好上面的这写。我觉得输入好痛苦哦~~~

删除上的功能不太行。。。星星有办法不?不用链表!

星星点灯。。。。。。

为何害怕写成一个个的函数呢?

繁重的任务由主函数全包不好呵!


----------------解决方案--------------------------------------------------------
当然会写成函数用啦,虽然现在都在一起。有点不太理解你的意思。。。。。。

删除实现。。。我把a[i]=a[-1]输出时却碰到了麻烦。虽然少输出一个。不过。。。。

==好象有了。把a[i]移动到最后,把输出减去一个,好象可以哦~~~嘿嘿~试下~~~


----------------解决方案--------------------------------------------------------
f1=open("C:\\list.bin",O_CREAT);

file access permission?

----------------解决方案--------------------------------------------------------
最近论坛大哥怎么了?全英文咧~是不是考试后遗症呀?

开工开工~
----------------解决方案--------------------------------------------------------
呼~

忙了一早上,又浪费不少时间。还差点把自己吓唬到了。

仅需要打开文件后读入到内存中,再在内存中修改,完成后再次存入。。。

我本以为每一步都需要开文件,读文件,修改,再输入咧~

差点不知道该怎么写了!!!整合起来会太复杂~西西
----------------解决方案--------------------------------------------------------