我对c语言的功能有疑问。我有一个菜单插入调用函数的数字,但问题是我不想使用for,我想每次按菜单中的选项a逐个插入数字。我还想打印我选择b选项时输入的数字。我只是不知道如何解决这个问题。对不起,如果有语法错误,英语不是我的第一语言。
#include<stdio.h>
//Functions
char menu();
void insert (int[],int);
void print (int[],int);
//******************************
//CUERPO
int main (){
int lenght=5;
int num [lenght];
char option;
while((option=menu())!='x'){
switch (option){
case 'a':
insert(num,largo);
break;
case 'b':
print (num,largo);
break;
}
}
system ("pause");
return 0;
}
/* Codes ************************************************************** */
char menu (){
char option;
printf("\nInsert an option :" );
printf("\nA. insert :" );
printf("\nB. print :" );
scanf("%c", &option);
fflush (stdin);
return option;
}
void insert (int a[], int lenght){ // Here i have the problem
int x=0;
printf("\nInsert your number %d: ", x);
scanf("%d", &a[x]);
x++;
}
void print (int a[], int lenght){
int y;
for(y=0; y<largo; y++){
printf("\nThe numer you have entered are %d: ", a[y]);
}
}
答案 0 :(得分:0)
您应该在主函数中声明一个“x”变量。
int x = 0;
在用户选择“插入”选项x
的增量后添加insert(num,largo);
x++;
最后更改“插入”功能以接受“x”而不是声明它。
void insert (int a[], int lenght, int x){
printf("\nInsert your number %d: ", x);
scanf("%d", &a[x]);
}
答案 1 :(得分:0)
#include <stdio.h>
#include <ctype.h>
//Functions
char menu();
void insert (int[],int);
void print (int[],int);
//******************************
//CUERPO
int main (){
int lenght=5;
int num [lenght];
int largo=-1;
char option;
while(tolower((option=menu()))!='x'){
switch (option){
case 'a':
if(largo == 4){
printf("\nalready full inputted!!\n");
break;
}
insert(num,++largo);
break;
case 'b':
print (num,largo);
break;
}
}
system ("pause");
return 0;
}
/* Codes ************************************************************** */
char menu (){
char option;
printf("\nInsert an option :" );
printf("\nA. insert :" );
printf("\nB. print :" );
printf("\nX. quit. >");
scanf(" %c", &option);
while(fgetc(stdin)!='\n');//skip over input
// fflush (stdin);
return option;
}
void insert (int a[], int lenght){ // Here i have the problem
printf("\nInsert your number %d: ", lenght);
scanf("%d%*c", &a[lenght]);
}
void print (int a[], int lenght){
printf("\nThe numer you have entered are %d: ", a[lenght]);
}