从书中写出程序 [英] writing program from a book

查看:53
本文介绍了从书中写出程序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我从一本书中编写了那个程序,我在C ++编译器下正确地编译了这个程序

但是我在unix下编译了这些错误

!!


错误 -

--------

part10_iti_r01_ch10_verbo_menu_driven_programs.c:函数`main'':

part10_iti_r01_ch10_verbo_menu_driven_programs.c:6:警告:

声明`argc''阴影参数

part10_iti_r01_ch10_verbo_menu_driven_programs.c:7:警告:

声明'argv''遮蔽参数

part10_iti_r01_ch10_verbo_menu_driven_programs.c:2 2:语法错误

'''''令牌

计划 -

--------

#include< stdio.h>

// part10_iti_r01_ch10_verbo_menu_driven_programs .c


main(argc,argv)

{

int argc;

char * argv [50];

{

int option;

do

{

// Dis播放菜单

display_menu();


//启动适当的程序或退出

if(option!= 7)//退出

call_program(选项,argv);

}

while(选项!= 7);

}

display_menu()

{

system(" clear");

printf(" \ n电视租赁系统");

printf(" \\\
----------------");

printf(\ n \ n 1设置新客户);

printf(\ n \ n 2更改现有客户记录);

printf(" \ n \ n 3添加新客户记录);

printf(" \ n\ n 4删除客户记录);

printf(" \ n\ n 5打印客户账单);

printf(" \ n \ n 6显示客户记录);

printf(" \ n \ n 7 Exit");

}

user_selection()

{

int opt;

printf(" \\\
\ n输入所需的选项编号(1-7)");

scanf("%d",& opt);

返回(opt);

}


call_program(opt,argv)

int opt;

char * argv [];

{

开关(opt)

{

case 1:spawnvp(0," a.obj",argv);

delay();

break;


默认值:printf(" \ nError");

delay();

}

}

delay()

{

int i;

for(i = 0; i< = 20000; ++ i);

}

I wrote that program from a book that my compile that program
correctly under C++ compiler but I got those errors for compiling
under unix !!

Errors-
--------
part10_iti_r01_ch10_verbo_menu_driven_programs.c: In function `main'':
part10_iti_r01_ch10_verbo_menu_driven_programs.c:6 : warning:
declaration of `argc'' shadows a parameter
part10_iti_r01_ch10_verbo_menu_driven_programs.c:7 : warning:
declaration of `argv'' shadows a parameter
part10_iti_r01_ch10_verbo_menu_driven_programs.c:2 2: syntax error
before ''{'' token

Program-
--------
#include <stdio.h>
//part10_iti_r01_ch10_verbo_menu_driven_programs.c

main (argc,argv)
{
int argc;
char *argv[50];
{
int option;
do
{
//Display menu
display_menu();

//Initite appropriate program or exit
if (option!=7) //exit
call_program(option,argv);
}
while (option!=7);
}
display_menu()
{
system("clear");
printf ("\n TV Rental system");
printf ("\n ----------------");
printf("\n\n 1 Set up new customer");
printf("\n\n 2 Change existing customer record");
printf("\n\n 3 Add new customer record");
printf("\n\n 4 Delete customer record");
printf("\n\n 5 Print customer bills");
printf("\n\n 6 display a customer record");
printf("\n\n 7 Exit");
}
user_selection()
{
int opt;
printf("\n\n Enter required option number (1-7) ");
scanf("%d",&opt);
return(opt);
}

call_program(opt,argv)
int opt;
char *argv[];
{
switch(opt)
{
case 1: spawnvp(0,"a.obj",argv);
delay();
break;

default:printf("\nError");
delay();
}
}
delay()
{
int i;
for (i=0;i<=20000;++i);
}

推荐答案



" hp ****** @ yahoo.com" ; <诶*********** @ yahoo.com>在留言中写道

news:7e ************************** @ posting.google.c om ...

"hp******@yahoo.com" <eh***********@yahoo.com> wrote in message
news:7e**************************@posting.google.c om...
我从一本书中编写了该程序,我在C ++编译器下正确地编译了该程序,但是我在unix下编译了这些错误!!
错误 -
--------
part10_iti_r01_ch10_verbo_menu_driven_programs.c:在函数`main'':
part10_iti_r01_ch10_verbo_menu_driven_programs.c:6:警告:
`argc的声明''阴影参数
part10_iti_r01_ch10_verbo_menu_driven_programs.c:7:警告:
'argv''声明阴影参数
part10_iti_r01_ch10_verbo_menu_driven_programs.c:2 2:语法错误
之前'' {''令牌

程序 -
--------
#include< stdio.h>
file://part10_iti_r01_ch10_verbo_menu_driven_programs.c

main(argc,argv)
{argc;
char * argv [50];
{


这是什么语言?我无法想象这会在C ++下编译

或C.我认为您正在尝试使用旧式函数声明

类型:


foo(p1,p1)

int p1;

int p2;

{


...

}


您应该将这些更改为较新的样式函数声明:

int foo(int p1,int p2)

{

...

}

所以这将成为:


int main(int argc,char ** argv)

{

int option;

....


}

int选项;

{
文件://显示菜单
display_menu();

file://初始化相应的程序或退出
如果(选项!= 7)file:// exit
call_program(option,argv);
}
while(选项!= 7);
}
display_menu()
{
system(clear ;);
printf(" \ n TV Rental sy stem();
printf(" \\\
----------------");
printf(" \\\
\ n 1设置新客户);
printf(\ n \ nn 2更改现有客户记录);
printf(" \ n \ n 3添加新客户记录) ;
printf(" \ n \ n 4删除客户记录);
printf(" \ n \ n 5打印客户账单");
printf(" ; \ n \ n显示客户记录);
printf(" \ n \ n 7 Exit");
}

user_selection()
{
int opt;
printf(" \\\
\ n输入所需的选项编号(1-7)");
scanf("%d" ,& opt);
返回(选择);
}

call_program(opt,argv)
int opt;
char * argv [] ;
{
切换(选择)
{
案例1:spawnvp(0," a.obj",argv);
延迟();
break;

默认值:printf(&quo t; \ nnError");
延迟();
}
}

延迟()
{
int i;
for(i = 0; i< = 20000; ++ i);
}
I wrote that program from a book that my compile that program
correctly under C++ compiler but I got those errors for compiling
under unix !!

Errors-
--------
part10_iti_r01_ch10_verbo_menu_driven_programs.c: In function `main'':
part10_iti_r01_ch10_verbo_menu_driven_programs.c:6 : warning:
declaration of `argc'' shadows a parameter
part10_iti_r01_ch10_verbo_menu_driven_programs.c:7 : warning:
declaration of `argv'' shadows a parameter
part10_iti_r01_ch10_verbo_menu_driven_programs.c:2 2: syntax error
before ''{'' token

Program-
--------
#include <stdio.h>
file://part10_iti_r01_ch10_verbo_menu_driven_programs.c

main (argc,argv)
{
int argc;
char *argv[50];
{
What language is this?? I can''t imagine that this would compile under C++
or C. I think that you are trying to use old style function declarations
of the type:

foo(p1,p1)
int p1;
int p2;
{

...
}

You should change these to the newer style function declarations:

int foo(int p1,int p2)
{
...
}
So this would become:

int main(int argc, char ** argv)
{
int option;
....

}
int option;
do
{
file://Display menu
display_menu();

file://Initite appropriate program or exit
if (option!=7) file://exit
call_program(option,argv);
}
while (option!=7);
}
display_menu()
{
system("clear");
printf ("\n TV Rental system");
printf ("\n ----------------");
printf("\n\n 1 Set up new customer");
printf("\n\n 2 Change existing customer record");
printf("\n\n 3 Add new customer record");
printf("\n\n 4 Delete customer record");
printf("\n\n 5 Print customer bills");
printf("\n\n 6 display a customer record");
printf("\n\n 7 Exit");
}
user_selection()
{
int opt;
printf("\n\n Enter required option number (1-7) ");
scanf("%d",&opt);
return(opt);
}

call_program(opt,argv)
int opt;
char *argv[];
{
switch(opt)
{
case 1: spawnvp(0,"a.obj",argv);
delay();
break;

default:printf("\nError");
delay();
}
}
delay()
{
int i;
for (i=0;i<=20000;++i);
}




call_program相同:


int call_program(int opt,char ** argv)

{

...

}


Sean




Same for call_program:

int call_program(int opt,char ** argv)
{
...
}

Sean



eh *********** @ yahoo.com (hp******@yahoo.com)写道:
eh***********@yahoo.com (hp******@yahoo.com) writes:
我从一本书中编写了该程序,我在C ++编译器下正确地编译了该程序,但我在unix下编译了这些错误!

错误 -
--------
part10_iti_r01_ch10_verbo_menu_driven_programs.c:在函数main中:
part10_iti_r01_ch10_verbo_menu_driven_programs.c:6:警告:
声明`argc''阴影a参数
part10_iti_r01_ch10_verbo_menu_driven_programs.c:7:警告:
'ar'的声明gv''阴影参数
part10_iti_r01_ch10_verbo_menu_driven_programs.c:2 2:语法错误
在''''令牌之前

程序 -
------ -
#include< stdio.h>
//part10_iti_r01_ch10_verbo_menu_driven_programs.c

main(argc,argv)
{


摆脱那个支撑......

int argc;
char * argv [50];


....并放弃旧的K& R风格。

{
int选项;

{
//显示菜单
display_menu();

//启动适当的程序或退出
如果(选项!= 7)//退出
call_program(option,argv);
}
while(选项!= 7);
}
display_menu()
{
system(clear ;);
printf(" \ n TV Rental system");
printf(" \\\
----------------") ;
printf(" \ n \ n 1设置新客户);
printf(" \ n \ n 2更改现有客户记录);
printf (\ n \ n 3添加新客户记录);
printf(" \ n \ n 4删除客户记录);
printf(" \ nn \\ n \\ n \\ n打印客户账单);
printf(\ n \ nn 6显示客户记录);
printf(" \ nn \ n 7 Exit");
}

user_selection()
{
int opt;
printf(" \ n \ n输入所需的选项编号(1-7)");
scanf(" %d"& opt);
返回(选择);
}

call_program(opt,argv)
int opt;
char * argv [];
{
switch(opt)
{
案例1:spawnvp(0," a.obj",argv);


spawnvp做什么用?

延迟();
休息;

默认值:printf(" \\ \\ n \\ n \\ n错误");
延迟();
}


延迟()
{
int i;
for(i = 0; i< = 20000; ++ i);
}
I wrote that program from a book that my compile that program
correctly under C++ compiler but I got those errors for compiling
under unix !!

Errors-
--------
part10_iti_r01_ch10_verbo_menu_driven_programs.c: In function `main'':
part10_iti_r01_ch10_verbo_menu_driven_programs.c:6 : warning:
declaration of `argc'' shadows a parameter
part10_iti_r01_ch10_verbo_menu_driven_programs.c:7 : warning:
declaration of `argv'' shadows a parameter
part10_iti_r01_ch10_verbo_menu_driven_programs.c:2 2: syntax error
before ''{'' token

Program-
--------
#include <stdio.h>
//part10_iti_r01_ch10_verbo_menu_driven_programs.c

main (argc,argv)
{
Get rid of that brace...
int argc;
char *argv[50];
.... and drop the old K&R style.
{
int option;
do
{
//Display menu
display_menu();

//Initite appropriate program or exit
if (option!=7) //exit
call_program(option,argv);
}
while (option!=7);
}
display_menu()
{
system("clear");
printf ("\n TV Rental system");
printf ("\n ----------------");
printf("\n\n 1 Set up new customer");
printf("\n\n 2 Change existing customer record");
printf("\n\n 3 Add new customer record");
printf("\n\n 4 Delete customer record");
printf("\n\n 5 Print customer bills");
printf("\n\n 6 display a customer record");
printf("\n\n 7 Exit");
}

user_selection()
{
int opt;
printf("\n\n Enter required option number (1-7) ");
scanf("%d",&opt);
return(opt);
}

call_program(opt,argv)
int opt;
char *argv[];
{
switch(opt)
{
case 1: spawnvp(0,"a.obj",argv);
What does spawnvp do?
delay();
break;

default:printf("\nError");
delay();
}
}

delay()
{
int i;
for (i=0;i<=20000;++i);
}




这有多古老。那个循环没有时间在这里运行。


-

M?ns Rullg?rd
mr*@kth.se


eh *********** @ yahoo.com (hp******@yahoo.com)写在comp.unix.solaris:

|我从一本书中编写了那个程序,我编译了那个程序

|正确地在C ++编译器下但我编译了这些错误

| under unix !!

|

|错误 -

| --------

| part10_iti_r01_ch10_verbo_menu_driven_programs .c:在函数`main''中:

| part10_iti_r01_ch10_verbo_menu_driven_programs.c:6:警告:

|'argc''声明阴影参数

| part10_iti_r01_ch10_verbo_menu_driven_programs.c:7:警告:

|'argv''声明阴影参数

| part10_iti_r01_ch10_verbo_menu_driven_programs.c:22:语法错误
|在'''''令牌
| main(argc,argv)

| {

| int argc;

| char * argv [50 ];

| {


这应该是

int main(int argc,char * argv [])

{


你有太多的{和'过时的语法。 (正如之前提到的那样,b / b
,看来你用的任何书都应该烧掉。)


- -

__________________________________________________ ______________________

Alan Coopersmith al***@alum.calberkeley.org
http://www.CSUA.Berkeley。 EDU / ~alalan / 又名: Al ********** ****@Sun.COM

为Sun Microsystems,Inc。工作,但绝对不代表
eh***********@yahoo.com (hp******@yahoo.com) writes in comp.unix.solaris:
|I wrote that program from a book that my compile that program
|correctly under C++ compiler but I got those errors for compiling
|under unix !!
|
|Errors-
|--------
|part10_iti_r01_ch10_verbo_menu_driven_programs.c: In function `main'':
|part10_iti_r01_ch10_verbo_menu_driven_programs.c: 6: warning:
|declaration of `argc'' shadows a parameter
|part10_iti_r01_ch10_verbo_menu_driven_programs.c: 7: warning:
|declaration of `argv'' shadows a parameter
|part10_iti_r01_ch10_verbo_menu_driven_programs.c: 22: syntax error
|before ''{'' token
|main (argc,argv)
|{
|int argc;
|char *argv[50];
|{

This should be
int main (int argc, char *argv[])
{

You''ve got too many {''s along with obsolete syntax. (As has been
mentioned before, it appears whatever book you''re using should be
burned.)

--
__________________________________________________ ______________________
Alan Coopersmith al***@alum.calberkeley.org
http://www.CSUA.Berkeley.EDU/~alanc/ aka: Al**************@Sun.COM
Working for, but definitely not speaking for, Sun Microsystems, Inc.


这篇关于从书中写出程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆