Привет,всем!
Вот никак не могу одну маленькую проблемку решить, а именно:
при запуске программы должно быть следующие сообщение об ошибке-пользователь ввёл вместо слова ( 5-ый аргумент FileName) цыфры, нужно сообщить ему об этом.
Я в принципе уже получил подсказку на форуме давно, вот только всё ето время никак не доходили руки-много дел инного плана было, поэтому прошу ещё раз помочь. Заранее благодарен.
#include <iostream>
#include <ctype.h>
#include <stdio.h>
using namespace std;
int main(int argc , char *argv[] )
{
char* FileName[256];
double rohr_radius;
double rohr_laenge;
double punkte_abstand;
double schnitt_hoehe;
if( argc-1 == 5)
{
rohr_radius = atof ( argv[1] );
rohr_laenge = atof ( argv[2] );
punkte_abstand = atof ( argv[3] );
schnitt_hoehe = atof ( argv[4] );
FileName[256] = argv[5];
}
if ( rohr_radius<=0 || rohr_laenge<=0 || punkte_abstand<=0 || schnitt_hoehe<=0)
{
cout << "\n Falsch! Nocheinmal ";
exit(1);
}
int i=0;
while (FileName[i])
{
if (isalpha(FileName[i])) printf ("character %c is alphabetic\n",FileName[i]);
else printf ("character %c is not alphabetic\n",FileName[i]);
i++;
}
cout << "\n Radius = " << rohr_radius << "\n";
cout << "\n Laenge = " << rohr_laenge << "\n";
cout << "\n Abstand = " << punkte_abstand << "\n";
cout << "\n Schnitthoehe = " << schnitt_hoehe << "\n";
cout << "\n Namen fuer den File, in dem Verbindungen gespeichert werden: " << FileName << "\n";
return 0 ;
}
Здравствуйте, Sashaka, Вы писали:
S>А еще проще — попробовать создать файл с таким именем и посмотреть что вернет функция создания файла, если ошибка — значит задано неверное имя.
Это не просто проще, но ещё и правильнее. Потому что ошибка может быть не только в синтаксисе, но и в доступности этого пути (наличие каталога, прав пользователя...)
... << RSDN@Home 1.2.0 alpha rev. 655>>
Здравствуйте, oleksandr_kolesnyk, Вы писали:
_>Мой руководитель хочет чтобы для имен фаилов исползовались исключительно слова
ну тогда что то типа того:
while (FileName[i++])
{
if (!isalpha(FileName[i])) //или if (isdigit(Filename[i]))
{
printf ("Character %c in %s is not alphabetic\n",FileName[i],Filename);
return 0;
}
}