请帮我拿一份C(终端)菜单,因为我的教授会';T
我是一名计算机科学专业的学生(一年级,几乎没有完成编程),在实验室学习开关语句时,我们的教授写了一段不起作用的代码(他真的认为它会起作用)。。。。然后盯着这个看了很长时间。 在任何情况下,您都需要知道: Citire的意思是阅读 阿费萨尔意味着表演 Suma意味着总和 尾意味着搜索 Dati valoarea de Cauta=要找到的值; 操作necorespunzatoare=操作不当 有人能解释为什么它不起作用吗?我试图使它没有功能,但它仍然不工作。我真想知道为什么请帮我拿一份C(终端)菜单,因为我的教授会';T,c,C,我是一名计算机科学专业的学生(一年级,几乎没有完成编程),在实验室学习开关语句时,我们的教授写了一段不起作用的代码(他真的认为它会起作用)。。。。然后盯着这个看了很长时间。 在任何情况下,您都需要知道: Citire的意思是阅读 阿费萨尔意味着表演 Suma意味着总和 尾意味着搜索 Dati valoarea de Cauta=要找到的值; 操作necorespunzatoare=操作不当 有人能解释为什么它不起作用吗?我试图使它没有功能,但它仍然不工作。我真想知道为什么 #include &l
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int n, v[10];
void citire(int *n,int v[10]){
scanf("%d", &n);
for(int i=0;i<n;i++)
scanf("%d",&v[i]);
}
void afisare(int *n,int v[10])
{
for (int i = 0;i<n;i++)
printf("%d ", v[i]);
printf("\n");
}
int suma(int n, int v[10])
{
int sum=0;
for(int i=0;i<n;i++)
sum=sum+v[i];
return sum;
}
int cauta(int n, int v[10])
{
int x;
printf("dati valoarea de cautat");
scanf("%d", &x);
for(int i=0;i<n;i++)
if(v[i]==x)
return i;
return -1;
}
int main()
{
char c;
do{
system("cls");
printf("\nC. citire sir de numere\nA. afisare sir\nS. afisare suma\nF. cautare element in vector\nI. info autor\nX. Iesire\n");
switch(c = getch())
{
case 'c':
citire(n,v);
getch();
break;
case 'a':
afisare(n,v);
getch();
break;
case 's':
printf("%d",suma(n,v));
getch();
break;
case 'f':
printf("%d",cauta(n,v));
getch();
break;
case 'x':
exit(0);
default:
printf("\noperatie necorespunzatoare");
}
}while(c!='x');
return 0;
#包括
#包括
#包括
int n,v[10];
无效花旗(整数*n,整数v[10]){
scanf(“%d”和“&n”);
对于(inti=0;i问题就在这里
void citire(int *n,int v[10]){ <--- expects pointer to int
scanf("%d", &n); <--- wrong, n is already a pointer
for(int i=0;i<n;i++) <--- wrong, n is a pointer. Not an int
scanf("%d",&v[i]);
}
其功能应该是:
void citire(int *n,int v[10]){
if (scanf("%d", n) != 1) exit(1);
for(int i=0; i< *n; i++)
if (scanf("%d", &v[i]) != 1) exit(1);
}
void citire(int*n,int v[10]){
如果(scanf(“%d”,n)!=1)退出(1);
对于(int i=0;i<*n;i++)
如果(scanf(“%d”,&v[i])!=1)退出(1);
}
进一步:
void afisare(int *n,int v[10]) <-- wrong, you don't want a pointer here
void afisare(int*n,int v[10])问题就在这里
void citire(int *n,int v[10]){ <--- expects pointer to int
scanf("%d", &n); <--- wrong, n is already a pointer
for(int i=0;i<n;i++) <--- wrong, n is a pointer. Not an int
scanf("%d",&v[i]);
}
其功能应该是:
void citire(int *n,int v[10]){
if (scanf("%d", n) != 1) exit(1);
for(int i=0; i< *n; i++)
if (scanf("%d", &v[i]) != 1) exit(1);
}
void citire(int*n,int v[10]){
如果(scanf(“%d”,n)!=1)退出(1);
对于(int i=0;i<*n;i++)
如果(scanf(“%d”,&v[i])!=1)退出(1);
}
进一步:
void afisare(int *n,int v[10]) <-- wrong, you don't want a pointer here
void afisare(int*n,int v[10])这段代码应该做什么?为什么你认为它不起作用?欢迎这么说!这个程序应该做什么?你能更明确一点“不起作用”吗编译、运行时错误、逻辑错误…?谢谢。这段代码中确实有一大堆问题。教授似乎没有在这方面投入太多时间。void afisare(int*n,int v[10])
-->void afisare(int n,int v[10])
我的错,对不起!使用选项C插入一个字符串,用a显示,用S显示总和,用F从字符串中搜索一个元素并向您显示,I是irelevant,用X关闭应用:)再次为没有提供足够的信息而感到抱歉这段代码应该做什么?为什么你认为它不起作用?欢迎这么说!这段程序应该做什么?你能更明确一点“不起作用”吗编译、运行时错误、逻辑错误…?谢谢。这段代码中确实有一大堆问题。教授似乎没有在这方面投入太多时间。void afisare(int*n,int v[10])
-->void afisare(int n,int v[10])
我的错,对不起!使用选项C插入一个字符串,用a显示,用S显示总和,用F从字符串中搜索一个元素并向您显示,我是irelevant,用X关闭应用:)再次抱歉没有提供足够的信息谢谢您花时间帮助我!再次抱歉没有从一开始就提供足够的信息!Th感谢您花时间来帮助我!再次感谢您从一开始就没有提供足够的信息!