| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 726 人关注过本帖
标题:关于一个简单的电话本的问题
取消只看楼主 加入收藏
Garand
Rank: 1
等 级:新手上路
帖 子:56
专家分:0
注 册:2006-5-27
收藏
 问题点数:0 回复次数:3 
关于一个简单的电话本的问题
小弟写了一个电话本,可执行的时候总是说与wfile声明中的类型不匹配,找了半天也找不到出错的地方。请问各位老大是哪里出错了呢?小弟万分感激!!
#include<stdio.h>
#include<stdlib.h>
struct {
char name[15];
char age[3];
char sex[10];
char room[20];
char ID[10];
char phone_num[12];
}stu[50];

int n=1;

void creat_record(void)
{
char ch;
printf("-------------This is a new record!-------------\n");
printf("Please Enter Name:\n");
gets(stu[n].name);
printf("Please Enter Age:\n");
gets(stu[n].age);
printf("Please Enter Sex:\n");
gets(stu[n].sex);
printf("Please Enter Room:\n");
gets(stu[n].room);
printf("Please Enter ID:\n:");
gets(stu[n].ID);
printf("Please Enter Phone_num:\n");
gets(stu[n].phone_num);
n++;
printf("Do you want to save ? Please press 'Y' or 'N'...\n");
ch=getchar();
getchar();
if(ch=='y'||ch=='Y')
wfile();
if(ch=='n'||ch=='N')
return;
}
void list_record(void)
{
int i=1;
for(;i<=n;i++)
{
printf("=============Record %d==================\n",i);
printf("Name:%s\n",stu[i].name);
printf("Age:%s\n",stu[i].age);
printf("Sex:%s\n",stu[i].sex);
printf("room:%s\n",stu[i].room);
printf("ID:%s\n",stu[i].ID);
printf("Phone_num:%s\n",stu[i].phone_num);
}
}

void search_record(void)
{
int k=1;
char name2[15];
printf("Please Enter the person name:\n:");
gets(name2);
for(;k<=n;k++)
if(strcmp(name2,stu[k].name)==0)
{
printf("Name:%s\n",stu[k].name);
printf("Age:%s\n",stu[k].age);
printf("Sex:%s\n",stu[k].sex);
printf("room:%s\n",stu[k].room);
printf("ID:%s\n",stu[k].ID);
printf("Phone_num:%s\n",stu[k].phone_num);
}
}

void wfile(void)
{
FILE *fp;

if((fp=fopen("phonebook","wb"))==NULL)
printf("Can not open file!\n");
else
{
fwrite(&stu[n],sizeof(stu[0]),n,fp);
fclose(fp);
printf("Has been saved!\n");
}
}

void rfile(void)
{
FILE *fp;
if((fp=fopen("phonebook.c","rb"))==NULL)
printf("Can't open file!\n");
else
{
while((fread(&stu[n],sizeof(stu[n]),1,fp))==1)
n++;
fclose(fp);
printf("File Lorded!\n");
}
}

main()
{
void creat_record(void);
void list_record(void);
void search_record(void);
void wfile(void);
void rfile(void);

char ch;
int a=1;

printf("=================Welcome to the phonebook!=================\n");
while(a)
{
printf("Press E to creat a new record\n");
printf("Press L to list the all record\n");
printf("Press S to search the record\n");
printf("Press C to cannle the programme\n");
ch=getchar();
getchar();
switch(ch)
{
case 'e':
case 'E':creat_record();break;
case 'l':
case 'L':list_record();break;
case 's':
case 'S':search_record();break;

}
}
getch();
}
搜索更多相关主题的帖子: 电话 TABLE include name 
2006-05-28 14:51
Garand
Rank: 1
等 级:新手上路
帖 子:56
专家分:0
注 册:2006-5-27
收藏
得分:0 
那请问楼上的大哥,应该怎样修改呢?
2006-05-28 15:45
Garand
Rank: 1
等 级:新手上路
帖 子:56
专家分:0
注 册:2006-5-27
收藏
得分:0 
加上面两句有什么用呢?
2006-05-28 19:48
Garand
Rank: 1
等 级:新手上路
帖 子:56
专家分:0
注 册:2006-5-27
收藏
得分:0 

看到楼上这么热心的人,我还能说什么??致以一百二十万分的敬意!

2006-05-29 12:00
快速回复:关于一个简单的电话本的问题
数据加载中...
 
   



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

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