amir_varasteh
شنبه 26 اردیبهشت 1388, 15:10 عصر
سلام دوستان.
صورت سوال این هست :
برنامه ای بنویسید که 10 نام را از فایل ورودی names.txt بخواند و مشخص کند که بیشترین نامی که تکرار شده کدام است ؟
من یک آرایه با عنصرهای ساختاری درست کردم که هر عنصرش دو فیلد نام و تعداد تکرار رو داره.
منطق برنامه درسته اما نمیدونم چرا این ارور رو میده : Lvalue required
من فکر میکنم مشکل از قسمت قرمز رنگه.چیکارش کنم ؟
#include "iostream.h"
#include "stdio.h"
#include "stdlib.h"
#include "conio.h"
void main()
{
clrscr();
FILE *f1;
struct txt
{
char name[20];
int rep;
}list[10];
f1=fopen("C:\\data\\name.txt","r");
for(int i=0;i<10;i++)
list[i].rep=0;
int j=0;
char A[20];
while(!feof(f1))
{
fscanf(f1,"%c",&A);
list[j].name=A;
list[j].rep++;
j++;
}
int max=0;
for(int k=1;k<10;k++)
if(list[k].rep>list[max].rep)
max=k;
cout<<list[max].name;
getch();
}
دوستان لطفا" راهنمایی کنید.
با تشکـــر.
صورت سوال این هست :
برنامه ای بنویسید که 10 نام را از فایل ورودی names.txt بخواند و مشخص کند که بیشترین نامی که تکرار شده کدام است ؟
من یک آرایه با عنصرهای ساختاری درست کردم که هر عنصرش دو فیلد نام و تعداد تکرار رو داره.
منطق برنامه درسته اما نمیدونم چرا این ارور رو میده : Lvalue required
من فکر میکنم مشکل از قسمت قرمز رنگه.چیکارش کنم ؟
#include "iostream.h"
#include "stdio.h"
#include "stdlib.h"
#include "conio.h"
void main()
{
clrscr();
FILE *f1;
struct txt
{
char name[20];
int rep;
}list[10];
f1=fopen("C:\\data\\name.txt","r");
for(int i=0;i<10;i++)
list[i].rep=0;
int j=0;
char A[20];
while(!feof(f1))
{
fscanf(f1,"%c",&A);
list[j].name=A;
list[j].rep++;
j++;
}
int max=0;
for(int k=1;k<10;k++)
if(list[k].rep>list[max].rep)
max=k;
cout<<list[max].name;
getch();
}
دوستان لطفا" راهنمایی کنید.
با تشکـــر.