Jump to content
hitme

Problema C_Fisiere

Recommended Posts

Posted

aveti idee de ce nu functioneaza corect? citesc in fisier, si vreau sa afisez (intai) doar ca nu merge si nu inteleg de ce..

am lasat in comentarii programul pentru citire.


/*
Se considerã un fiºier ce conþine urmãtoarele informaþii referitoare la produsele prezentate în cadrul unui catalog: codul firmei, codul produsului, denumirea produsului ºi cantitatea produsã. Se cere:
- sã se ordoneze fiºierul crescãtor dupã codul firmei, stabilindu-se apoi numãrul de produse realizate de cãtre fiecare firmã;
- sã se ordoneze fiºierul crescãtor dupã codul produsului, stabilindu-se pentru fiecare produs numãrul de firme care îl realizeazã.
*/

//Citire in fis:

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

typedef struct
{
int cod_f;
int cod_p;
char nume[30];
int cantitate;
} FIRMA;

/*

int main()
{
FILE *g=fopen("inf.dat","wb");
if(g == NULL)
{
printf("Eroare deschidere fisier");
exit(EXIT_FAILURE);
}
int i,n;
FIRMA x;
printf("Cate structuri? ");
scanf("%d",&n);
fflush(stdin);

for(i=1;i<=n;i++)
{
printf("Cod firma [%d] : ",i);
scanf("%d",&x.cod_f);
printf("Cod produs [%d] : ",i);
scanf("%d",&x.cod_p);
fflush(stdin);
printf("Cantitate [%d] : ",i);
scanf("%d",&x.cantitate);
printf("Nume [%d] : ",i);
scanf("%s",x.nume);
fflush(stdin);

fwrite(&x,sizeof(FIRMA),1,g);
}
fclose(g);
return 0;
}


*/



int main()
{
FILE *f=fopen("inf.dat","rt");
if(f==NULL)
{
printf("Eroare fis");
exit(1);
}
FIRMA x;
int i,n;
fseek(f,0L,2);
n=ftell(f)/sizeof(FIRMA);
fseek(f,0L,0);
printf("Cod firma | Cod produs | Denumire produs | Canitate produs \n");
for(i=1;i<=n;i++)
{
fread(&x,sizeof(FIRMA),1,f);
printf("%d %d %d %s \n",x.cod_f,x.cod_p,x.cantitate,x.nume);
}
fclose(f);
return 0;
}





  • Active Members
Posted

Deci tu vrei mai intai sa scrii in fisierul ala datele de acolo ? ( cod firma, cod produs, bla bla ).

Uite aici o idee:


FILE *f = fopen("file.txt", "w");
if (f == NULL)
{
printf("Eroare !\n");
exit(1);
}

/* printam ceva text */
const char *text = "Scriem asta in txt";
fprintf(f, "Text: %s\n", text);

/* Integer si floats */
int i = 1;
float py = 3.1415927;
fprintf(f, "Integer: %d, float: %f\n", i, py);

/* print caractere simple */
char c = 'A';
fprintf(f, "A character: %c\n", c);

fclose(f);

Cum citesti din fisier ? Am gasit o problema p-aici. Nu am timp sa iti scriu.

11) Se presupune un fi?ier text ("vocale.txt") ce con?ine o in?iruire de caractere. S? se contorizeze apari?ia fiec?rei vocale în fi?ier.


#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<limits.h>
void main()
{
char c;
int a=0,e=0,i=0,o=0,u=0; //a=nr. de aparitii a vocalei "a", s.a.m.d.

FILE *stream; /*declarare stream (flux de date)*/
stream = fopen("D:\\vocale.txt ", "r"); /*deschidere fisier*/
if(stream == NULL)
{
printf ("Eroare");
getch();
exit(1);
}
while(!feof(stream)) //atata timp cat nu e sf de fisier
{
fscanf(stream,"%c",&c); //sau c=getc(f); sau c=fgetc(f);
switch(c)
{
case 'a': a++; break;
case 'e': e++; break;
case 'i': i++; break;
case 'o': o++; break;
case 'u': u++;
};
}
fclose(stream);
printf("Vocala \"a\" aparare de %d ori.\n",a);
printf("Vocala \"e\" aparare de %d ori.\n",e);
printf("Vocala \"i\" aparare de %d ori.\n",i);
printf("Vocala \"o\" aparare de %d ori.\n",o);
printf("Vocala \"u\" aparare de %d ori.\n",u);
getchar();
}

Mai citeste despre fisiere.

Posted

salut, am inteles perfect ce ai exemplificat, dar asta este pentru fisiere text.. ce am eu (binar) intai scriu in el, si apoi am de ordonat pe acolo, doar ca atunci cand iau datele din binar si le pun in structura, le pune aiurea, poti incerca o compilare..

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...