请帮我拿一份C(终端)菜单,因为我的教授会';T

请帮我拿一份C(终端)菜单,因为我的教授会';T,c,C,我是一名计算机科学专业的学生(一年级,几乎没有完成编程),在实验室学习开关语句时,我们的教授写了一段不起作用的代码(他真的认为它会起作用)。。。。然后盯着这个看了很长时间。 在任何情况下,您都需要知道: Citire的意思是阅读 阿费萨尔意味着表演 Suma意味着总和 尾意味着搜索 Dati valoarea de Cauta=要找到的值; 操作necorespunzatoare=操作不当 有人能解释为什么它不起作用吗?我试图使它没有功能,但它仍然不工作。我真想知道为什么 #include &l

我是一名计算机科学专业的学生(一年级,几乎没有完成编程),在实验室学习开关语句时,我们的教授写了一段不起作用的代码(他真的认为它会起作用)。。。。然后盯着这个看了很长时间。 在任何情况下,您都需要知道: Citire的意思是阅读 阿费萨尔意味着表演 Suma意味着总和 尾意味着搜索 Dati valoarea de Cauta=要找到的值; 操作necorespunzatoare=操作不当

有人能解释为什么它不起作用吗?我试图使它没有功能,但它仍然不工作。我真想知道为什么

#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感谢您花时间来帮助我!再次感谢您从一开始就没有提供足够的信息!