mhzarei76
سه شنبه 08 دی 1394, 09:59 صبح
با سلام من یک برنامه نوشتم که اسامی افراد رو با امتیاز دریافت میکند و مرتب میکند اما نمی دونم چرا درست کار نمیکند نکته دیگر هم این است که تابع strcpy برای time درست کار نمیکند
این هم کد
#include <stdio.h>#include <conio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
struct record{
char name [50];
int score;
long int time;
};
int main (){
FILE *fp;
record n[5];
record id[5];
record t[5];
char temp;
for (int i=0;i<5;i++){
printf ("please enter the name : \n");
scanf ("%s",n[i].name);
printf ("please enter the score : \n");
scanf("%d",&id[i].score);
t[i].time=time(0);
}
for (int j=4;j>0;j--){
for (int i=0;i<j;i++){
if (id[i].score<=id[i+1].score){
temp=id[i].score;
id[i].score=id[i+1].score;
id[i+1].score=temp;
strcpy(n[i].name,n[i+1].name);
// strcpy(t[i].time,t[i+1].time);
}
}
}
for(int i=0;i<5;i++){
fp=fopen("D:\\project.dey","a+");
fprintf (fp,"%s ",n[i].name);
fprintf (fp,"%d ",id[i].score);
fprintf (fp,"%ld\n",t[i].time);
}
fclose(fp);
}
این هم کد
#include <stdio.h>#include <conio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
struct record{
char name [50];
int score;
long int time;
};
int main (){
FILE *fp;
record n[5];
record id[5];
record t[5];
char temp;
for (int i=0;i<5;i++){
printf ("please enter the name : \n");
scanf ("%s",n[i].name);
printf ("please enter the score : \n");
scanf("%d",&id[i].score);
t[i].time=time(0);
}
for (int j=4;j>0;j--){
for (int i=0;i<j;i++){
if (id[i].score<=id[i+1].score){
temp=id[i].score;
id[i].score=id[i+1].score;
id[i+1].score=temp;
strcpy(n[i].name,n[i+1].name);
// strcpy(t[i].time,t[i+1].time);
}
}
}
for(int i=0;i<5;i++){
fp=fopen("D:\\project.dey","a+");
fprintf (fp,"%s ",n[i].name);
fprintf (fp,"%d ",id[i].score);
fprintf (fp,"%ld\n",t[i].time);
}
fclose(fp);
}