//#include "stdio.h"Compiling...
//Text1.c
//D:\源程序\Text1.c(4) : error C2061: syntax error : identifier 'main'
//D:\源程序\Text1.c(4) : error C2059: syntax error : ';'
//D:\源程序\Text1.c(4) : error C2059: syntax error : ')'
//执行 cl.exe 时出错.。为什么说我的主程序不可识别?我看不出错误,高手指点。注意,下面符号出现错乱,是粘贴造成的。如'1'。不知为什么粘贴上来就变这个样了。
#include "stdlib.h"
//char menu(void) 这里要加个分号
char menu(void);
main()
{
// menu(); 这里直接这么用,那下面就会出错。应该像下那样做
char ch=menu();
switch(ch)
{ case '1':
break;
case '2':
break;
case '3':
break;
case '4':
break;
case '5':
break;
case '0':
exit(0);
break;
default:
printf("你输入代号不正确");
break;
}
}
char menu(void)
{
char ch;
printf("---------------------------------图书管理查询系统--------------------------");
printf("1 图书管理\n" );/*添加图书信息 */
printf("2 图书借还 \n" ); /* 浏览图书 列出所有图书?*/
printf("3 历史查询\n" ); /* 查找图书 应包括是否被借的信息 图书证号可不可用 */
printf("5 帮助信息 \n" ); /* 帮助信息*/
printf("0 按0退出查询系统\n " );
printf("请输入你的选择序号:\n " );
// scanf(" %c ",&ch);这里有问题。" %c "这种输入形式要求进行 <空格>字符<空格>的
//形式进行输入。应该像下面这样写
scanf("%c",&ch); //%c前后没有空格
return ch;
}
main()前面没有int?
我用过void main(),但是不能编译。
用int main()
break;
default:
printf("你输入代号不正确");
break;
}
//这里加上return 0;也可以不加,vc++6 应该会自动加上去
}
还有surybai是对的。要char ch=menu();
对了,如果就这样运行exe你是不会看到输出的文字。要在控制台下运行
或者在return 0; 前面加上system("pause"); 或 getchar();
不知道你要的是不是这样的。。。
#include
#include
char menu(void);
main(void)
{
char ch;
menu();
switch(ch)
{ case '1':
break;
case '2':
break;
case '3':
break;
case '4':
break;
case '5':
break;
case '0':
exit(0);
break;
default:
printf("你输入代号不正确");
break;
}
}
char menu(void)
{
char ch;
printf("---------------------------------图书管理查询系统----------------------------");
printf("1 图书管理\n " );/*添加图书信息 */
printf("2 图书借还 \n " ); /* 浏览图书 列出所有图书?*/
printf("3 历史查询\n " ); /* 查找图书 应包括是否被借的信息 图书证号可不可用 */
printf("5 帮助信息 \n " ); /* 帮助信息*/
printf("0 按0退出查询系统\n " );
printf("请输入你的选择序号: " );
scanf(" %c ",&ch);
return ch;
}
你自己对比一下吧!
把你的主函数改成 void main()试一下
第2行漏了分号。第5行改为
char ch=menu();