Probleme rezolvate
1. Sa se scrie un program care afiseaza lungimea celei mai lungi linii din fisierul text TEST:
/*------------------------------------------------*/
/* */
/* afiseaza lungimea lg_max a celei mai lungi */
/* linii a fisierului */
/* */
/*------------------------------------------------*/
#include <stdio.h>
void main(void)
{
FILE *f;
char c;
int lg_max, lg_curenta;
lg_max=lg_curenta=0;
if (!(f=fopen("TEST", "r")))
{
puts("Fisierul TEST nu poate fi deschis");
return;
}
while ((c=getc(f))!=EOF)
if (c=='n')
{
if (lg_max<lg_curenta)
lg_max = lg_curenta;
lg_curenta = 0;
}
else
lg_curenta++;
fclose(f);
printf ("nLinia cea mai lunga are lungimea %d", lg_max);
}
2.Sa se scrie un program care copiaza un fisier binar sursa în alt fisier binar destinatie.
/*---------------------------------------*/
/* */
/* copiaza continutul unui fisier binar */
/* in alt fisier binar */
/* */
/----------------------------------------*/
#include <stdio.h>
void main(void)
{
FILE *fs, *fd;
char c;
if ((fs=fopen("sursa", "rb"))==NULL)
{
fprintf(stderr, "Fisierul sursa nu poate fi deschisn");
return;
}
if ((fd=fopen("dest", "wb"))==NULL)
{
fprintf(stderr, "Fisierul dest nu poate fi deschisn");
return;
}
c=getc(fs);
while (!feof(fs))
{
putc(c, fd);
c=getc(fs);
}
fclose(fs);
fclose(fd);
}
3.Sa se realizeze un program care pastreaza evidenta unei grupe de studenti. Datele despre studenti (numele, vârsta, media) se pastreaza sub forma unui fisier text. Programul trebuie sa permita urmatoarele optiuni:
o a, A - adaugarea unui nou student în fisier;
o l, L - listarea datelor tuturor studentilor;
o m, M - modificarea datelor unui student;
o x, X - terminarea programului;
/*----------------------------------------------*/
/* */
/* evidenta unei grupe de studenti */
/* */
/*----------------------------------------------*/
#include <stdio.h>
#include <conio.h>
#include <ctype.h>
#include <stdlib.h>
#include <string.h>
#define LNUME 20 /* lungimea maxima a numelor */
typedef struct
{
char nume[LNUME];
int varsta;
float medie;
} student;
char fisier[13]; /* numele fisierului */
/*---------------------------------------------------*/
/* */
/* adauga datele unui nou student in fisier */
/* */
/----------------------------------------------------*/
void AdaugStudent(void)
{
FILE *f;
student s;
if (!(f=fopen(fisier, "at")))
{
puts("nFisierul nu poate fi deschis.").
Academia de Studii Economice
Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.