Informatică, întrebare adresată de Andreea14123, 8 ani în urmă

Scrieți o aplicație C care citeşte caracter cu caracter un fişier text şi converteşte primul caracter al fiecărui cuvânt în majusculă.

Răspunsuri la întrebare

Răspuns de ketela4759
1

Răspuns:

#include <stdio.h>

#include <ctype.h>

int main(int argc, char *argv[])

{

   FILE *file;

   int c, prev = ' ';

   if (argc != 2) {

       printf("Utilizare: %s <nume_fisier>\n", argv[0]);

       return 1;

   }

   file = fopen(argv[1], "r");

   if (file == NULL) {

       printf("Nu se poate deschide fisierul %s\n", argv[1]);

       return 1;

   }

   while ((c = fgetc(file)) != EOF) {

       if (prev == ' ' || prev == '\t' || prev == '\n')

           putchar(toupper(c));

       else

           putchar(c);

       prev = c;

   }

   fclose(file);

   return 0;

}

Explicație:

Aceasta aplicatie este in limbajul C si primeste ca argument numele fisierului si il deschide in modul "r" pentru citire. In interiorul buclei while, se verifica daca caracterul anterior este un spatiu, tab sau linie noua, in caz afirmativ, caracterul actual este convertit in majuscula folosind functia toupper din biblioteca ctype. Apoi se afiseaza caracterul.

Alte întrebări interesante