خواندن آرایه ای از اسم ها در c - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

خواندن آرایه ای از اسم ها در c

0 امتیاز

سلام من یه برنامه دارم مینویسم که یه داده های از رشته و عدد رو دریافت میکنه برای هر نفر  اما  نمیدونم چرا درست اجرا نمیشه؟

#include<stdio.h>
#include<conio.h>
int main()
{
    int m=0,i=0,x,f=0;
    char name[1], adress[1],sabt[1],hozor[1]={0};
    int codm[1],cods[1],amtyaz[1]={0},mosbat[1]={0};
    
    
    
    printf("tedad nafarat");
    scanf("%d",&f);
    
    
    
    while(i>f)
    {
        
        
        printf("enter mame");
        
        scanf("\n%s",name[i]);
        printf("\nenter cod m");
        scanf("\n%d",&codm[i]);
        printf("\nenter cod s");
        scanf("\n%d",&cods[i]);
        printf("\nenter adress");
        scanf("\n%s",adress[i]);
        printf("\nenter hozor");
        scanf("\n%d",&hozor[i]);
        i++;
    }
    for(i=0;i<1;i++)
    {
        if(hozor[i]==1)
        {
            hozor[i-1]+=1;
            amtyaz[i]+=1;
        }
        else if(hozor==0)
        {
            hozor[i]-=1;
            mosbat[i]-=1;
        }
    }
    
    
    
    
    for(i=0;i<1;i++){
        
        printf("\t%snam\n",name[i]);
        printf("\t%dcod m\n",codm[i]);
        printf("\t%dcods\n",cods[i]);
        printf("\t%sadress\n",adress[i]);
        printf("\t%dhozor\n",hozor[i]);
        printf("\t%dmosbat\n",mosbat[i]);
        printf("\t%damtyaz\n",amtyaz[i]);
        
        
    }
    
    getch();
    return 0;
}

 

سوال شده بهمن 12, 1392  بوسیله ی jahadgar (امتیاز 380)   24 41 54
ویرایش شده بهمن 12, 1392 بوسیله ی BlueBlade
دقیقا باید این کد چی کار کنه ؟ که نمیکنه؟
کامپالر borland++

1 پاسخ

0 امتیاز

سلام برای خوندن  n تا اسم باید از آرایه 2 بعدی استفاده کنی به این شکل :

#include <stdio.h>
#include <stdlib.h>

int main()
{
    const int buffer_size=100;
    
    int n;
    scanf("%d",&n);

    char **a=(char**)malloc(sizeof(char*)*n);
    for(int i=0;i<n;i++)
    {

        a[i]=(char*)malloc(sizeof(char)*buffer_size);
    }


    for(int i=0;i<n;i++)
        scanf("%s",a[i]);

    for(int i=0;i<n;i++)
        printf("\n%s",a[i]);
    
    getchar();

    return 0;
}

 

بقیه کدت رو هم بر اساس این کدی که گذاشتم عوض کن .

 

پاسخ داده شده بهمن 12, 1392 بوسیله ی BlueBlade (امتیاز 15,315)   15 18 89
...