الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مساعدة في c

بدأه مومو (momo) في 25 مايو 2012 · 2 رد · 476 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلاام عليكم و رحمة الله تعالى و بركاته أعضاء و مشرفي هذا المنتدى

ممكن مساعدة بسيطة لو سمحتم

الكود :

#include <stdio.h>
#include <stdlib.h>
#define MAX 30
#define y printf("\n\n");

typedef struct personne personne;
void enter(personne *t);


int main(void)
{
	personne *personne;
	enter(personne);
	return 0;
}


struct personne
{
	char prenom[MAX];
	char nom[MAX];
	int age;
};


void enter(personne *t)

{
	int nbre(void); void rw(char p1[] , char p2[] , int *p3);

	int n=nbre(),i=0;

	t=malloc(n*sizeof(personne));

	if(t==NULL) exit(0);

	for(;i<n;i++)

   	{
        	printf("p.%d-entrer prenom:\t",i+1); scanf("%s",t.prenom); y
        	printf("p.%d-entrer nom   :\t",i+1); scanf("%s",t.nom); y
        	printf("p.%d-entrer age   :\t",i+1); scanf("%d",&t.age); y y
   	}

printf("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\n\
>                    	>                 	>    	>\n\
>	P  R  E  N  O  M	>  	N  O  M    	>  A G E >\n\
>                    	>                 	>    	>\n\
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\n\n");


 	for(i=0;i<n;i++)  rw(t.prenom,t.nom,&t.age);

 	free(t);

}


int nbre(void)

{
	unsigned int n=0;
	printf("entrer nombre de personne:\t");
	scanf("%u",&n); y y
	return n;
}

void rw(char p1[] , char p2[] , int *p3)

{

FILE *p=NULL;
p=fopen("momo.txt","a");
if(p==NULL) exit(-1);

static int i=1;

printf(" p.%d-  %s\
            	%s\
            	%d\
            	\n\n",i++,p1,p2,*p3);

fprintf(p,"p.%d-prenom :\t %s\n   -nom :\t %s\n   -AGE :\t%d\n\n\n",i-1,p1,p2,*p3);
fclose(p);

}

عندما أقوم بملئ الإسثمارة

هكذا تطلع بشكل عشوائي يتداخل الإسم مع العمر مع اللقب

1337900371231.jpg

بينما أنا أريدها أن تطلع هكذا

1337900371222.jpg

و شكرا مسبقا

تم تعديل هذه المشاركة بواسطة مومو (momo) في 25 مايو 2012 في 15:35

i love you mama

#2

عليك تحديد اكبر مساحه يمكن ان ياخذها الاسم، العمر ، الخ

ثم طباعة الاسم بهذه المساحه كــ

printf("%10s");

مثلا لو كان طول الاسم 10 احرف كاكثر شيئ

ثم تقوم بطباعة نجمه بعد الاسم حتى تقوم بعمل فاصل بينهما

على فرض ان الاسم سوف ياخذ 20 حرفا و العمر 10 احرف

printf("* p.%d-  %20s*%20s*%10d*\n\n",i++,p1,p2,*p3);
1

No intellectual battle was ever won through retreat
You do not watch Gintama? Dude, you are missing a lot!


صورةmsrgb1485.gif ocajavase7programmerclr.gif

#3

رائع بالفعل ! حركة بسيطة و مفيدة happy.gif جزاك الله خيرا

i love you mama

مواضيع مشابهة