C语言undefined, assuming extern returning int,怎么解决?
#include"stdio.h"#include"stdlib.h"#defineN4#include"string.h"intsum[N];voidmain(){in...
#include "stdio.h"
#include "stdlib.h"
#define N 4
#include "string.h"
int sum[N];
void main()
{
int choice;
char name[N] [20];
int score[N] [3];
while(1)
{
printf("****************************\n");
printf(" 1: Input Data \n");
printf(" 2: Search Data \n");
printf(" 3: Process Data \n");
printf(" 4: Sort \n");
printf(" 5: Exit \n");
printf("****************************\n");
printf("Choose (1~5): ");
scanf("%d", &choice);
switch (choice)
{
case 1:data_input(name,score); break;
case 2:data_search(); break;
case 3:data_process(); break;
case 4:data_sort(); break;
case 5:exit(0); break;
}
}
}
data_input(char name [N] [20],int score [N] [3])
{
int i, j;
printf("---------inpuut Data------------\n\n");
printf("Enter the names and scores, press <Enter>to end. \n]\n ");
printf("%15s%15s%15s%15s\n", "Name", "Chinese", "Math", "C program");
for(i=0; i<N; i++)
{
gotoxy(10, 6+i);
scanf("%s", name[i]);
for(j=0; j<3;j++)
{
gotoxy(14+(j+1)*15, 6+i);
scanf("%d", &score[i][j]);
}
}
}
void data_search(char name[N][9], int score[N][3])
{
int i, j;
char student_name[9];
printf("----------- Search Data -----------\n\n");
printf("Input a name:");
gets(student_name);
for(i=0; i<N; i++)
if(strcmp(name[i], student_name)==0)
{
printf("\n%15s%15s%15s%15s\n","Name" ,
"Chinese", "Math", "C program");
printf("%15s%15d%15d%15d\n",
name[i], score[i][0], score[i][1], score[i][2]);
break;
}
if(i == N)
printf("Not found !\n");
getch();
}
void data_process(char name[N][9], int score[N][3])
{
int i, j;
printf("-----------Process Data-----------\n\n");
for(i=0; i<N; i++)
{
sum[i] = 0;
for(j=0; j<3; i++)
sum[i] += score[i][j];
}
printf("\n%15s%15s%15s\n", "Name", "Sum", "Average");
for(i=0; i<N; i++)
{
printf("%15s%15d%15.2f\n", name[i], sum[i], sum[i]/3.0);
}
printf("\nPress any key to return......");
getch();
}
void data_sort(char name[N][9], int sum[N])
{
int i, j, t;
char s_name[N][9], s_name_t[9];
int s_sum[N];
printf("-----------Sort-----------\n\n");
for(i=0; i<N; i++)
{
strcpy(s_name[i], name[i]);
s_sum[i] = sum[i];
}
for(i=0;i<N-1; i++)
for(j=i+1; j<N; j++)
if(s_sum[j] > s_sum[i])
{
t = s_sum[i];
s_sum[i] = s_sum[j];
s_sum[j] = t;
strcpy(s_name_t, s_name[i]);
strcpy(s_name[i], s_name[j]);
strcpy(s_name[j], s_name_t);
}
printf("\n%10s%15s%15s%15s\n", "Position", "Name", "Sum", "Average");
for(i=0; i<N; i++)
{
printf("%10d%15s%15d%15.2f\n", i+1, s_name[i]
,s_sum[i], s_sum[i]/3.0);
}
printf("\nPress any key to returu......");
getch();
} 展开
#include "stdlib.h"
#define N 4
#include "string.h"
int sum[N];
void main()
{
int choice;
char name[N] [20];
int score[N] [3];
while(1)
{
printf("****************************\n");
printf(" 1: Input Data \n");
printf(" 2: Search Data \n");
printf(" 3: Process Data \n");
printf(" 4: Sort \n");
printf(" 5: Exit \n");
printf("****************************\n");
printf("Choose (1~5): ");
scanf("%d", &choice);
switch (choice)
{
case 1:data_input(name,score); break;
case 2:data_search(); break;
case 3:data_process(); break;
case 4:data_sort(); break;
case 5:exit(0); break;
}
}
}
data_input(char name [N] [20],int score [N] [3])
{
int i, j;
printf("---------inpuut Data------------\n\n");
printf("Enter the names and scores, press <Enter>to end. \n]\n ");
printf("%15s%15s%15s%15s\n", "Name", "Chinese", "Math", "C program");
for(i=0; i<N; i++)
{
gotoxy(10, 6+i);
scanf("%s", name[i]);
for(j=0; j<3;j++)
{
gotoxy(14+(j+1)*15, 6+i);
scanf("%d", &score[i][j]);
}
}
}
void data_search(char name[N][9], int score[N][3])
{
int i, j;
char student_name[9];
printf("----------- Search Data -----------\n\n");
printf("Input a name:");
gets(student_name);
for(i=0; i<N; i++)
if(strcmp(name[i], student_name)==0)
{
printf("\n%15s%15s%15s%15s\n","Name" ,
"Chinese", "Math", "C program");
printf("%15s%15d%15d%15d\n",
name[i], score[i][0], score[i][1], score[i][2]);
break;
}
if(i == N)
printf("Not found !\n");
getch();
}
void data_process(char name[N][9], int score[N][3])
{
int i, j;
printf("-----------Process Data-----------\n\n");
for(i=0; i<N; i++)
{
sum[i] = 0;
for(j=0; j<3; i++)
sum[i] += score[i][j];
}
printf("\n%15s%15s%15s\n", "Name", "Sum", "Average");
for(i=0; i<N; i++)
{
printf("%15s%15d%15.2f\n", name[i], sum[i], sum[i]/3.0);
}
printf("\nPress any key to return......");
getch();
}
void data_sort(char name[N][9], int sum[N])
{
int i, j, t;
char s_name[N][9], s_name_t[9];
int s_sum[N];
printf("-----------Sort-----------\n\n");
for(i=0; i<N; i++)
{
strcpy(s_name[i], name[i]);
s_sum[i] = sum[i];
}
for(i=0;i<N-1; i++)
for(j=i+1; j<N; j++)
if(s_sum[j] > s_sum[i])
{
t = s_sum[i];
s_sum[i] = s_sum[j];
s_sum[j] = t;
strcpy(s_name_t, s_name[i]);
strcpy(s_name[i], s_name[j]);
strcpy(s_name[j], s_name_t);
}
printf("\n%10s%15s%15s%15s\n", "Position", "Name", "Sum", "Average");
for(i=0; i<N; i++)
{
printf("%10d%15s%15d%15.2f\n", i+1, s_name[i]
,s_sum[i], s_sum[i]/3.0);
}
printf("\nPress any key to returu......");
getch();
} 展开
展开全部
把gotoxy函数代码剪切到border函数前面就可以了。
C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它由美国贝尔研究所的D.M.Ritchie于1972年推出。
1978年后,C语言已先后被移植到大、中、小及微型机上,它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。
它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画,具体应用比如单片机以及嵌入式系统开发。
C语言继续发展,在1982年,很多有识之士和美国国家标准协会为了使这个语言健康地发展下去,决定成立C标准委员会,建立C语言的标准。委员会由硬件厂商,编译器及其他软件工具生产商,软件设计师,顾问,学术界人士,C语言作者和应用程序员组成。
2013-12-19
展开全部
你定义了函数的形参,那就要在调用的时候加上,不加肯定是有问题的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
30行是: case 4:data_sort(); break; 吗?
这个函数没有定义。
这个函数没有定义。
更多追问追答
追问
我是小白..怎么定义?T T
追答
在main函数前面加一行:
void data_sort(char name[N][9], int sum[N]);
别的函数也要加,调用时要传参数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在void main()之前 对inv函数进行声明
void inv(int x[],int n);
void main()
这样写 就好了
void inv(int x[],int n);
void main()
这样写 就好了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你把这几个函数放到主函数前声明一下
更多追问追答
追问
是int data_sort这样吗?
追答
#include
void aaa(void); /* 声明函数*/
void main()
{
aaa();
}
void aaa(void) /* 定义函数*/
{
}
规范的写法是函数既要有定义,也要有声明
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询