Hej! Moja dziewczyna ma drobne problemy z programowaniem na studiach, ma zadanie o takiej tresci :
Podaj definicje funkcji o nagłówku
void NazwyPlikow(string naz[],int ile);
która dla zadanej tablicy nazw plików wraz
z rozszerzeniami wyswietli nazwy plików bez
rozszerzen oraz w nawiasach liczbe znaków
nazwy.
Przykład: Jezeli
naz = ["dane.txt", "art.tex",
"zdjecie.jpg", "strona.html"];
ile = 4;
to nalezy wyswietlic:
dane (4)
art (3)
zdjecie (7)
strona (6)
Napisalem jej taki program :
#include <iostream>
#include <string>
using namespace std;
void NazwyPlikow(string naz[], int ile)
{ string nazwa_bez_rozszerzenia = "";
for (int i=0;i<ile;i++)
{
nazwa_bez_rozszerzenia = naz[i];
cout << "Nazwa oryginalna : " << naz[i] << endl;
nazwa_bez_rozszerzenia = naz[i].substr(0, naz[i].size()-4);
cout << "Nazwa bez rozszerzenia : ";
cout << nazwa_bez_rozszerzenia << " (" << nazwa_bez_rozszerzenia.length() << ")" << endl;
cout << "=========================================" << endl;
}
}
int main()
{
string tablica1[]= {"dane.txt", "art.tex", "zdjecie.jpg", "strona.htm"};
string tablica2[]= {"dokument.txt", "program.exe", "zdjecie.bmp", "index.htm"};
int ile = 4;
NazwyPlikow(tablica1, ile);
cout << "*********************************" << endl;
NazwyPlikow(tablica2, ile);
return 0;
}
Kompiluje się i działa poprawnie, ale czy wykladowca zaliczy mu to ? Chodzi, o to ze korzystam ze string a nie np char i metod w klasie string...
Sorki jak to nieoptymalnie napisane, ale ja niekonczylem informatyki (tylko psychologie, z informatyki mam tylko technika po studium i podyplomowke z zarzadzania projektami IT).